logf-ieee: Fix test whether logf works.
[gnulib.git] / ChangeLog
1 2012-04-01  Bruno Haible  <bruno@clisp.org>
2
3         logf-ieee: Fix test whether logf works.
4         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
5
6 2012-04-01  Bruno Haible  <bruno@clisp.org>
7
8         log10l: Work around log10l-ieee test failure on IRIX 6.5.
9         * lib/log10l.c: Include <float.h>
10         (log10l): On IRIX, normalize the +Infinity value.
11         * modules/log10l (Depends-on): Add 'float'.
12         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
13         +Infinity.
14
15         log10f-ieee: Work around test failure on NetBSD 5.1.
16         * m4/log10f-ieee.m4: New file.
17         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
18         test whether log10f works with a negative argument. Replace it if not.
19         * lib/log10f.c (log10f): For negative arguments, return NaN.
20         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
21         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
22         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
23
24         log10f-ieee: Work around test failure on Solaris 9.
25         * modules/log10f-ieee (Depends-on): Add log10-ieee.
26         (configure.ac): Require gl_FUNC_LOG10F.
27
28         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
29         * m4/log10-ieee.m4: New file.
30         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
31         whether log10 works with a negative argument. Replace it if not.
32         * lib/log10.c (log10): For negative arguments, return NaN.
33         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
34         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
35         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
36
37         Tests for module 'log10l-ieee'.
38         * modules/log10l-ieee-tests: New file.
39         * tests/test-log10l-ieee.c: New file.
40
41         New module 'log10l-ieee'.
42         * modules/log10l-ieee: New file.
43
44         Tests for module 'log10-ieee'.
45         * modules/log10-ieee-tests: New file.
46         * tests/test-log10-ieee.c: New file.
47
48         New module 'log10-ieee'.
49         * modules/log10-ieee: New file.
50
51         Tests for module 'log10f-ieee'.
52         * modules/log10f-ieee-tests: New file.
53         * tests/test-log10f-ieee.c: New file.
54         * tests/test-log10-ieee.h: New file.
55
56         New module 'log10f-ieee'.
57         * modules/log10f-ieee: New file.
58
59 2012-04-01  Bruno Haible  <bruno@clisp.org>
60
61         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
62         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
63         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
64         workaround.
65         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
66         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
67         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
68         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
69         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
70         (Depends-on): Update conditions.
71         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
72         IRIX 6.5, OSF/1 5.1 problems.
73
74 2012-04-01  Bruno Haible  <bruno@clisp.org>
75
76         log10f: Work around OSF/1 5.1 bug.
77         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
78         * lib/log10f.c (log10f): If logf exists, use it and provide just the
79         workaround.
80         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
81         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
82         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
83         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
84         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
85         (Depends-on): Update conditions.
86         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
87
88 2012-04-01  Bruno Haible  <bruno@clisp.org>
89
90         log10: Work around OSF/1 5.1 bug.
91         * lib/math.in.h (log10): New declaration.
92         * lib/log10.c: New file.
93         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
94         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
95         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
96         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
97         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
98         * modules/log10 (Files): Add lib/log10.c.
99         (Depends-on): Add math.
100         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
101         * tests/test-math-c++.cc: Check the declaration of log10.
102         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
103
104 2012-03-31  Bruno Haible  <bruno@clisp.org>
105
106         log10l tests: More tests.
107         * modules/log10l-tests (Files): Add tests/test-log10l.h,
108         tests/minus-zero.h, tests/randoml.c.
109         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
110         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
111         (main): Invoke test_function.
112
113         log10f tests: More tests.
114         * modules/log10f-tests (Files): Add tests/test-log10.h,
115         tests/minus-zero.h, tests/randomf.c.
116         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
117         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
118         (main): Invoke test_function.
119
120         log10 tests: More tests.
121         * tests/test-log10.h: New file.
122         * modules/log10-tests (Files): Add tests/test-log10.h,
123         tests/minus-zero.h, tests/randomd.c.
124         (Makefile.am): Add randomd.c to test_log10_SOURCES.
125         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
126         (main): Invoke test_function.
127
128 2012-03-31  Simon Josefsson  <simon@josefsson.org>
129
130         fflush: Fix syntax error.
131         * lib/fflush.c: Include unused-parameter.h, needed for
132         _GL_UNUSED_PARAMETER.
133         * modules/fflush (Depends-on): Add snippet/unused-parameter.
134
135 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
136
137         regex: pacify GCC when compiling GRUB
138         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
139         a diagnostic.  Reported by Vladimir Serbinenko in
140         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
141
142 2012-03-29  Eric Blake  <eblake@redhat.com>
143
144         stdio: don't assume gets any more
145         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
146         support.
147         * modules/stdio (Makefile.am): Likewise.
148         * lib/stdio-read.c (gets): Likewise.
149         * tests/test-stdio-c++.cc: Likewise.
150         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
151         * lib/stdio.in.h (gets): Make warning occur in more places.
152         * doc/posix-functions/gets.texi (gets): Update documentation.
153         Reported by Christer Solskogen.
154
155         maint.mk: fix syntax checks without exclusions
156         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
157         Reported by Daniel P. Berrange.
158
159         strerror_r: avoid compiler warning
160         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
161         level.
162
163         fflush: avoid compiler warning
164         * lib/fflush.c (update_fpos_cache): Mark variables that are
165         potentially unused.
166
167 2012-03-25  Bruno Haible  <bruno@clisp.org>
168
169         Tests for module 'localeconv'.
170         * modules/localeconv-tests: New file.
171         * tests/test-localeconv.c: New file.
172
173         New module 'localeconv'.
174         * lib/locale.in.h (localeconv): New declaration.
175         * lib/localeconv.c: New file.
176         * m4/localeconv.m4: New file.
177         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
178         REPLACE_LOCALECONV.
179         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
180         REPLACE_LOCALECONV.
181         * modules/localeconv: New file.
182         * modules/nl_langinfo (Depends-on): Add localeconv.
183         * modules/human (Depends-on): Likewise.
184         * doc/posix-functions/localeconv.texi: Mention the new module.
185
186 2012-03-25  Bruno Haible  <bruno@clisp.org>
187
188         locale: Provide a complete 'struct lconv'.
189         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
190         'struct lconv' does not contain int_p_cs_precedes.
191         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
192         * doc/posix-headers/locale.texi: Update.
193
194         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
195         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
196         * doc/posix-headers/locale.texi: Update.
197
198         locale: Provide a working 'struct lconv'.
199         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
200         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
201         'struct lconv' does not even contain decimal_point.
202         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
203         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
204         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
205         * doc/posix-headers/locale.texi: Mention the problems with
206         'struct lconv'.
207         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
208
209 2012-03-24  Bruno Haible  <bruno@clisp.org>
210
211         Enable common subexpression optimization in GCC.
212         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
213         macros.
214         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
215         GCC attribute 'const'.
216         (uc_locale_language): Declare with GCC attribute 'pure'.
217         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
218         with GCC attribute 'const'.
219         * lib/unictype.in.h (uc_is_general_category_withtable,
220         uc_combining_class, uc_combining_class_name,
221         uc_combining_class_long_name, uc_bidi_class_name,
222         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
223         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
224         uc_decimal_value, uc_digit_value, uc_numeric_value,
225         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
226         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
227         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
228         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
229         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
230         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
231         Declare with GCC attribute 'const'.
232         (uc_general_category_name, uc_general_category_long_name,
233         uc_general_category_byname, uc_general_category,
234         uc_is_general_category, uc_combining_class_byname,
235         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
236         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
237         Declare with GCC attribute 'pure'.
238         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
239         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
240         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
241         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
242         with GCC attribute 'pure'.
243         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
244         'const'.
245         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
246         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
247         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
248         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
249         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
250         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
251         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
252         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
253         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
254         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
255         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
256         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
257         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
258         GCC attribute 'pure'.
259         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
260         'const'.
261         * lib/uniwidth.in.h (uc_width): Simplify declaration.
262         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
263         u32_strwidth): Declare with GCC attribute 'pure'.
264
265         Enable common subexpression optimization in GCC.
266         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
267         (alphasort): Declare with GCC attribute 'pure'.
268         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
269         (atoll): Declare with GCC attribute 'pure'.
270         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
271         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
272         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
273         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
274         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
275         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
276         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
277
278 2012-03-24  Bruno Haible  <bruno@clisp.org>
279
280         gnulib-tool: Avoid unintended error output from 'cmp'.
281         * gnulib-tool (func_add_file, func_update_file, func_import): Use
282         "cmp -s", not "cmp > /dev/null".
283
284 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
285
286         gnulib-tool: fix imprecise comments w.r.t. an automake bug
287
288         It's not just Automake versions < 1.9b that creates an empty
289         pkgdatadir at installation time if pkgdata_DATA is specified
290         to empty; modern automake versions do this as well, at least
291         until automake 1.11.4 (not yet released at the moment of writing,
292         but soon to appear).  That behaviour was generally considered a
293         feature rather than a bug, at least until this discussion:
294         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
295
296         See also automake bugs #10997 and #11030.
297
298         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
299         reference to relevant automake bug numbers.
300         (func_emit_tests_Makefile_am): Likewise.
301
302 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
303
304         announce-gen: use Digest::SHA when possible
305         * build-aux/announce-gen: Use Digest::SHA when possible, falling
306         back to Digest::SHA1 if necessary.
307
308 2012-03-20  Jim Meyering  <meyering@redhat.com>
309
310         tests: avoid gcc warnings about argv vs. const initializers
311         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
312         warnings about discarding 'const' qualifier from pointer target type.
313         * tests/test-posix_spawn2.c (main): Likewise.
314
315 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
316
317         README-release: simplify slightly
318         * top/README-release: Run "git checkout master" only once.
319
320 2012-03-15  Mark Wielaard  <mark@klomp.org>
321
322         git-merge-changelog: add specific example on how to use with hg.
323         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
324
325 2012-03-18  Mark Wielaard  <mark@klomp.org>
326
327         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
328
329 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
330
331         git-version-gen: don't let "prefix" envvar cause trouble
332         * build-aux/git-version-gen (prefix): Initialize properly,
333         so as not to use a value specified via the environment.
334         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
335
336 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
337
338         regex: diagnose too-large repeat counts in EREs
339         Previously, the code did not diagnose the too-large repeat count
340         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
341         as if it were 'b\{1000000000}', which is unexpected.
342         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
343         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
344         is a reasonable one for this problem.  Another option would be to
345         create a new REG_OVERFLOW error for repeat counts that are too large.
346         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
347         count is too large, so that the caller can distinguish the two cases.
348         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
349         "Too large" return code, and that repeat counts are one example of this.
350
351 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
352
353         doc: some glibc x32 integer width issues
354         * doc/posix-headers/sys_types.texi (sys/types.h):
355         * doc/posix-headers/time.texi (time.h):
356         Mention that glibc x32 does not conform to POSIX in a couple of
357         areas related to integer widths.
358
359 2012-03-15  Bruno Haible  <bruno@clisp.org>
360
361         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
362         * lib/fma.c (VOLATILE): New macro.
363         (FUNC): Use it to work around a GCC compiler bug.
364
365 2012-03-13  Bruno Haible  <bruno@clisp.org>
366
367         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
368         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
369         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
370         REPLACE_HYPOTL to 1.
371         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
372
373 2012-03-13  Bruno Haible  <bruno@clisp.org>
374
375         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
376         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
377         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
378         REPLACE_REMAINDERL to 1.
379         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
380         bug.
381
382 2012-03-13  Bruno Haible  <bruno@clisp.org>
383
384         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
385         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
386         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
387         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
388         too big rounding errors.
389         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
390         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
391         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
392         (Depends-on): Update conditions.
393         * tests/test-sqrtl.c (my_ldexpl): New function.
394         (main): Add test of a particular value.
395         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
396
397 2012-03-13  Pádraig Brady  <P@draigBrady.com>
398
399         doc: Update timer_* platform portability notes.
400         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
401         that always return ENOSYS.
402         * doc/posix-functions/timer_delete.texi: Likewise.
403         * doc/posix-functions/timer_gettime.texi: Likewise.
404         * doc/posix-functions/timer_settime.texi: Likewise.
405
406 2012-03-13  Bruno Haible  <bruno@clisp.org>
407
408         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
409         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
410         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
411         REPLACE_CBRTL to 1.
412         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
413
414 2012-03-13  Bruno Haible  <bruno@clisp.org>
415
416         remainderl: Avoid compilation error on AIX >= 5.2.
417         * lib/math.in.h (remainderl): Undefine macro from the system header.
418
419 2012-03-13  Bruno Haible  <bruno@clisp.org>
420
421         Avoid compilation errors with MSVC option -fp:strict.
422         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
423         * lib/cbrtf.c: Likewise.
424         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
425
426 2012-03-12  Bruno Haible  <bruno@clisp.org>
427
428         uninorm: Don't crash in out-of-memory conditions.
429         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
430         gracefully.
431         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
432         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
433
434 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
435
436         quote: fix syntax-check
437         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
438         also exports quote_quoting_options.
439
440 2012-03-12  Simon Josefsson  <simon@josefsson.org>
441
442         Collapse list of copyright years to ranges.  See
443         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
444         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
445         build-aux/csharpexec.sh.in, build-aux/gnupload,
446         build-aux/install-reloc, build-aux/javacomp.sh.in,
447         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
448         build-aux/move-if-change, build-aux/reloc-ldflags,
449         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
450
451 2012-03-11  Bruno Haible  <bruno@clisp.org>
452
453         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
454         * m4/log2f-ieee.m4: New file.
455         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
456         whether log2f works with a minus zero argument. Replace it if not.
457         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
458         (Depends-on): Add log2-ieee.
459         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
460         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
461
462         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
463         * m4/log2-ieee.m4: New file.
464         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
465         whether log2 works with a minus zero argument. Replace it if not.
466         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
467         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
468         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
469
470         Tests for module 'log2l-ieee'.
471         * modules/log2l-ieee-tests: New file.
472         * tests/test-log2l-ieee.c: New file.
473
474         New module 'log2l-ieee'.
475         * modules/log2l-ieee: New file.
476
477         Tests for module 'log2-ieee'.
478         * modules/log2-ieee-tests: New file.
479         * tests/test-log2-ieee.c: New file.
480
481         New module 'log2-ieee'.
482         * modules/log2-ieee: New file.
483
484         Tests for module 'log2f-ieee'.
485         * modules/log2f-ieee-tests: New file.
486         * tests/test-log2f-ieee.c: New file.
487         * tests/test-log2-ieee.h: New file.
488
489         New module 'log2f-ieee'.
490         * modules/log2f-ieee: New file.
491
492 2012-03-11  Bruno Haible  <bruno@clisp.org>
493
494         Tests for module 'log2l'.
495         * modules/log2l-tests: New file.
496         * tests/test-log2l.c: New file.
497
498         New module 'log2l'.
499         * lib/math.in.h (log2l): New declaration.
500         * lib/log2l.c: New file.
501         * m4/log2l.m4: New file.
502         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
503         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
504         REPLACE_LOG2L.
505         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
506         REPLACE_LOG2L.
507         * modules/log2l: New file.
508         * tests/test-math-c++.cc: Check the declaration of log2l.
509         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
510         and OSF/1 problems.
511
512 2012-03-11  Bruno Haible  <bruno@clisp.org>
513
514         Tests for module 'log2f'.
515         * modules/log2f-tests: New file.
516         * tests/test-log2f.c: New file.
517
518         New module 'log2f'.
519         * lib/math.in.h (log2f): New declaration.
520         * lib/log2f.c: New file.
521         * m4/log2f.m4: New file.
522         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
523         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
524         REPLACE_LOG2F.
525         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
526         REPLACE_LOG2F.
527         * modules/log2f: New file.
528         * tests/test-math-c++.cc: Check the declaration of log2f.
529         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
530         and OSF/1 and Cygwin problems.
531
532 2012-03-11  Bruno Haible  <bruno@clisp.org>
533
534         Tests for module 'log2'.
535         * modules/log2-tests: New file.
536         * tests/test-log2.c: New file.
537         * tests/test-log2.h: New file.
538
539         New module 'log2'.
540         * lib/math.in.h (log2): New declaration.
541         * lib/log2.c: New file.
542         * m4/log2.m4: New file.
543         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
544         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
545         REPLACE_LOG2.
546         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
547         REPLACE_LOG2.
548         * modules/log2: New file.
549         * tests/test-math-c++.cc: Check the declaration of log2.
550         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
551         and OSF/1 and Cygwin problems.
552
553 2012-03-11  Bruno Haible  <bruno@clisp.org>
554
555         exp2* tests: More tests.
556         * tests/test-exp2.h (test_function): Test all integral arguments that
557         don't need to overflow or denormalized numbers.
558         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
559         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
560         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
561
562 2012-03-10  Bruno Haible  <bruno@clisp.org>
563
564         log1pl-ieee: Work around test failure on AIX 7.1.
565         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
566
567         log1pl-ieee: Work around test failure on IRIX 6.5.
568         * m4/log1pl-ieee.m4: New file.
569         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
570         test whether log1pl works with a minus zero argument. Replace it if
571         not.
572         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
573         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
574         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
575         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
576         (Depends-on): Update conditions.
577         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
578         m4/signbit.m4.
579         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
580         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
581
582         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
583         * m4/log1pf-ieee.m4: New file.
584         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
585         test whether log1pf works with a minus zero argument. Replace it if
586         not.
587         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
588         m4/signbit.m4.
589         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
590         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
591
592         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
593         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
594         (configure.ac): Require gl_FUNC_LOG1PF.
595
596         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
597         * m4/log1p-ieee.m4: New file.
598         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
599         whether log1p works with a minus zero argument. Replace it if not.
600         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
601         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
602         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
603         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
604         (Depends-on): Update conditions.
605         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
606         m4/signbit.m4.
607         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
608         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
609
610         Tests for module 'log1pl-ieee'.
611         * modules/log1pl-ieee-tests: New file.
612         * tests/test-log1pl-ieee.c: New file.
613
614         New module 'log1pl-ieee'.
615         * modules/log1pl-ieee: New file.
616
617         Tests for module 'log1p-ieee'.
618         * modules/log1p-ieee-tests: New file.
619         * tests/test-log1p-ieee.c: New file.
620
621         New module 'log1p-ieee'.
622         * modules/log1p-ieee: New file.
623
624         Tests for module 'log1pf-ieee'.
625         * modules/log1pf-ieee-tests: New file.
626         * tests/test-log1pf-ieee.c: New file.
627         * tests/test-log1p-ieee.h: New file.
628
629         New module 'log1pf-ieee'.
630         * modules/log1pf-ieee: New file.
631
632 2012-03-10  Bruno Haible  <bruno@clisp.org>
633
634         Tests for module 'log1pl'.
635         * modules/log1pl-tests: New file.
636         * tests/test-log1pl.c: New file.
637
638         New module 'log1pl'.
639         * lib/math.in.h (log1pl): New declaration.
640         * lib/log1pl.c: New file.
641         * m4/log1pl.m4: New file.
642         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
643         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
644         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
645         * modules/log1pl: New file.
646         * tests/test-math-c++.cc: Check the declaration of log1pl.
647         * doc/posix-functions/log1pl.texi: Mention the new module.
648
649 2012-03-10  Bruno Haible  <bruno@clisp.org>
650
651         Tests for module 'log1pf'.
652         * modules/log1pf-tests: New file.
653         * tests/test-log1pf.c: New file.
654
655         New module 'log1pf'.
656         * lib/math.in.h (log1pf): New declaration.
657         * lib/log1pf.c: New file.
658         * m4/log1pf.m4: New file.
659         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
660         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
661         REPLACE_LOG1PF.
662         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
663         REPLACE_LOG1PF.
664         * modules/log1pf: New file.
665         * tests/test-math-c++.cc: Check the declaration of log1pf.
666         * doc/posix-functions/log1pf.texi: Mention the new module.
667
668 2012-03-10  Bruno Haible  <bruno@clisp.org>
669
670         log1p tests: More tests.
671         * tests/test-log1p.h: New file.
672         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
673         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
674         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
675         (main): Invoke test_function.
676
677         log1p: Provide replacement for Minix and MSVC.
678         * lib/math.in.h (log1p): New declaration.
679         * lib/log1p.c: New file.
680         * m4/log1p.m4: New file.
681         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
682         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
683         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
684         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
685         (Depends-on): Add math, isnand, log, round.
686         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
687         HAVE_LOG1P is 0.
688         * tests/test-math-c++.cc: Check the declaration of log1p.
689         * doc/posix-functions/log1p.texi: Mention the replacement.
690
691 2012-03-10  Bruno Haible  <bruno@clisp.org>
692
693         math tests: Small simplification.
694         * tests/test-exp.h (test_function): Use the same err_bound for
695         'double' on platforms with sizeof (long double) == sizeof (double)
696         than on platforms with sizeof (long double) > sizeof (double).
697         * tests/test-exp2.h (test_function): Likewise.
698         * tests/test-expm1.h (test_function): Likewise.
699         * tests/test-log.h (test_function): Likewise.
700
701 2012-03-10  Bruno Haible  <bruno@clisp.org>
702
703         Fix some comments.
704         * lib/expl.c: Fix an ambiguous comment.
705         * lib/expm1.c: Likewise.
706         * lib/expm1l.c: Likewise.
707         * lib/exp2.c: Likewise.
708         * lib/exp2l.c: Likewise.
709
710 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
711
712         regex: allow inclusion of <regex.h> before <limits.h>
713         Without this patch, portable programs had to include <limits.h> before
714         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
715         I ran into this problem with a test version of GNU grep on Solaris 8.
716         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
717         This is done conditionally so that this change can be merged
718         back to glibc.
719         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
720         using the included regex.
721
722         fts: depend on fdopendir
723         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
724         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
725         problem was introduced when fdopendir was split out.
726
727 2012-03-10  Bruno Haible  <bruno@clisp.org>
728
729         Remove unused variables.
730         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
731         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
732
733 2012-03-10  Bruno Haible  <bruno@clisp.org>
734
735         isnanf-nolibm: Fix last commit.
736         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
737
738         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
739         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
740
741 2012-03-10  Bruno Haible  <bruno@clisp.org>
742
743         logf-ieee: Work around test failure on NetBSD 5.1.
744         * m4/logf-ieee.m4: New file.
745         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
746         whether logf works with a negative argument. Replace it if not.
747         * lib/logf.c (logf): For negative arguments, return NaN.
748         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
749         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
750         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
751
752         logf-ieee: Work around test failure on Solaris 9.
753         * modules/logf-ieee (Depends-on): Add log-ieee.
754         (configure.ac): Require gl_FUNC_LOGF.
755
756         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
757         * m4/log-ieee.m4: New file.
758         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
759         log works with a negative argument. Replace it if not.
760         * lib/log.c (log): For negative arguments, return NaN.
761         * modules/log-ieee (Files): Add m4/log-ieee.m4.
762         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
763         * doc/posix-functions/log.texi: Mention the log-ieee module.
764
765         Tests for module 'logl-ieee'.
766         * modules/logl-ieee-tests: New file.
767         * tests/test-logl-ieee.c: New file.
768
769         New module 'logl-ieee'.
770         * modules/logl-ieee: New file.
771
772         Tests for module 'log-ieee'.
773         * modules/log-ieee-tests: New file.
774         * tests/test-log-ieee.c: New file.
775
776         New module 'log-ieee'.
777         * modules/log-ieee: New file.
778
779         Tests for module 'logf-ieee'.
780         * modules/logf-ieee-tests: New file.
781         * tests/test-logf-ieee.c: New file.
782         * tests/test-log-ieee.h: New file.
783
784         New module 'logf-ieee'.
785         * modules/logf-ieee: New file.
786
787 2012-03-10  Bruno Haible  <bruno@clisp.org>
788
789         log: Fix bug introduced on 2012-03-09.
790         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
791
792 2012-03-10  Pádraig Brady  <P@draigBrady.com>
793
794         timer-time: link explicitly with pthreads on glibc
795         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
796         to support static linking, when newer glibc is
797         detected, as that contains pthread emulation of
798         POSIX timer functions where required.
799         * modules/timer-time: Depend on threadlib to
800         pull in the appropriate library to link.
801
802 2012-03-10  Bruno Haible  <bruno@clisp.org>
803
804         log* tests: More tests.
805         * tests/test-log.h: New file.
806         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
807         (main): Invoke test_function.
808         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
809         (main): Invoke test_function.
810         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
811         (main): Invoke test_function.
812         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
813         tests/randomd.c.
814         (Makefile.am): Add randomd.c to test_log_SOURCES.
815         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
816         tests/randomf.c.
817         (Makefile.am): Add randomf.c to test_logf_SOURCES.
818         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
819         tests/randoml.c.
820         (Depends-on): Add 'float'.
821         (Makefile.am): Add randoml.c to test_logl_SOURCES.
822
823 2012-03-09  Bruno Haible  <bruno@clisp.org>
824
825         logl: Work around OSF/1 5.1 bug.
826         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
827         * lib/logl.c (logl): If logl exists, use it and provide just the
828         workaround.
829         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
830         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
831         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
832         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
833         * modules/logl (configure.ac): Consider REPLACE_LOGL.
834         (Depends-on): Update conditions.
835         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
836
837 2012-03-09  Bruno Haible  <bruno@clisp.org>
838
839         logf: Work around OSF/1 5.1 bug.
840         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
841         * lib/logf.c (logf): If logf exists, use it and provide just the
842         workaround.
843         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
844         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
845         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
846         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
847         * modules/logf (configure.ac): Consider REPLACE_LOGF.
848         (Depends-on): Update conditions.
849         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
850
851 2012-03-09  Bruno Haible  <bruno@clisp.org>
852
853         log: Work around OSF/1 5.1 bug.
854         * lib/math.in.h (log): New declaration.
855         * lib/log.c: New file.
856         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
857         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
858         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
859         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
860         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
861         * modules/log (Files): Add lib/log.c.
862         (Depends-on): Add math.
863         (configure.ac): If REPLACE_LOG is 1, compile an override.
864         * tests/test-math-c++.cc: Check the declaration of log.
865         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
866
867 2012-03-09  Jim Meyering  <meyering@redhat.com>
868
869         readtokens.c: adjust wording in a comment
870         * lib/readtokens.c: Insert omitted "that" in a comment.
871
872 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
873
874         modechange: add notations +40, 00440, etc.
875         * lib/modechange.c (mode_compile): Support new notations
876         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
877
878 2012-03-08  Bruno Haible  <bruno@clisp.org>
879
880         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
881         * m4/exp2l-ieee.m4: New file.
882         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
883         test whether exp2l works with a NaN argument and with a negative
884         infinity argument. Replace it if not.
885         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
886         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
887         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
888         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
889         (Depends-on): Update conditions.
890         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
891         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
892         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
893
894         Tests for module 'exp2l-ieee'.
895         * modules/exp2l-ieee-tests: New file.
896         * tests/test-exp2l-ieee.c: New file.
897
898         New module 'exp2l-ieee'.
899         * modules/exp2l-ieee: New file.
900
901         Tests for module 'exp2-ieee'.
902         * modules/exp2-ieee-tests: New file.
903         * tests/test-exp2-ieee.c: New file.
904
905         New module 'exp2-ieee'.
906         * modules/exp2-ieee: New file.
907
908         Tests for module 'exp2f-ieee'.
909         * modules/exp2f-ieee-tests: New file.
910         * tests/test-exp2f-ieee.c: New file.
911         * tests/test-exp2-ieee.h: New file.
912
913         New module 'exp2f-ieee'.
914         * modules/exp2f-ieee: New file.
915
916 2012-03-08  Bruno Haible  <bruno@clisp.org>
917
918         Tests for module 'exp2l'.
919         * modules/exp2l-tests: New file.
920         * tests/test-exp2l.c: New file.
921
922         New module 'exp2l'.
923         * lib/math.in.h (exp2l): New declaration.
924         * lib/exp2l.c: New file.
925         * lib/expl-table.c: New file, extracted from lib/expl.c.
926         * lib/expl.c (gl_expl_table): New declaration.
927         (expl): Remove expl_table. Update reference.
928         * m4/exp2l.m4: New file.
929         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
930         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
931         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
932         * modules/exp2l: New file.
933         * modules/expl (Files): Add lib/expl-table.c.
934         (configure.ac): Compile also expl-table.c.
935         * tests/test-math-c++.cc: Check the declaration of exp2l.
936         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
937         problem.
938
939 2012-03-08  Bruno Haible  <bruno@clisp.org>
940
941         Tests for module 'exp2f'.
942         * modules/exp2f-tests: New file.
943         * tests/test-exp2f.c: New file.
944
945         New module 'exp2f'.
946         * lib/math.in.h (exp2f): New declaration.
947         * lib/exp2f.c: New file.
948         * m4/exp2f.m4: New file.
949         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
950         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
951         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
952         * modules/exp2f: New file.
953         * tests/test-math-c++.cc: Check the declaration of exp2f.
954         * doc/posix-functions/exp2f.texi: Mention the new module and the
955         IRIX problem.
956
957 2012-03-08  Bruno Haible  <bruno@clisp.org>
958
959         Tests for module 'exp2'.
960         * modules/exp2-tests: New file.
961         * tests/test-exp2.c: New file.
962         * tests/test-exp2.h: New file.
963
964         New module 'exp2'.
965         * lib/math.in.h (exp2): New declaration.
966         * lib/exp2.c: New file.
967         * m4/exp2.m4: New file.
968         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
969         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
970         REPLACE_EXP2.
971         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
972         REPLACE_EXP2.
973         * modules/exp2: New file.
974         * tests/test-math-c++.cc: Check the declaration of exp2.
975         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
976         and OpenBSD problems.
977
978 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
979
980         savedir: fix comment typo
981         * lib/savedir.c (savedirstream): Fix typo in comment.
982
983 2012-03-08  Bruno Haible  <bruno@clisp.org>
984
985         test-readtokens.c: use const; remove unwarranted cast
986         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
987
988 2012-03-08  Bruno Haible  <bruno@clisp.org>
989
990         fmal: Avoid compilation error on AIX.
991         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
992         AIX 5.2..7.1.
993
994 2012-03-08  Bruno Haible  <bruno@clisp.org>
995
996         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
997         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
998         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
999         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
1000         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
1001         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
1002         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
1003
1004 2012-03-08  Bruno Haible  <bruno@clisp.org>
1005
1006         remainderf: Override buggy system function on IRIX 6.5.
1007         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
1008         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
1009         when it exists.
1010         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
1011
1012 2012-03-08  Jim Meyering  <meyering@redhat.com>
1013
1014         test-readtokens.c: avoid const-related compilation warnings
1015         * tests/test-readtokens.c: Avoid const-related compilation warnings.
1016
1017 2012-03-07  Jim Meyering  <meyering@redhat.com>
1018             Bruno Haible  <bruno@clisp.org>
1019
1020         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
1021         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
1022         tests/randomd.c.
1023         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
1024         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
1025         tests/randoml.c.
1026         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
1027
1028 2012-03-07  Bruno Haible  <bruno@clisp.org>
1029
1030         expm1l: Avoid compilation error on AIX.
1031         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
1032         AIX 5.2..7.1.
1033
1034 2012-03-07  Bruno Haible  <bruno@clisp.org>
1035
1036         expm1l: Don't override undeclared system function on IRIX 6.5.
1037         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
1038         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
1039         it exists. Set HAVE_DECL_EXPM1L.
1040         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
1041         HAVE_EXPM1L.
1042         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
1043         HAVE_EXPM1L.
1044         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
1045
1046 2012-03-07  Bruno Haible  <bruno@clisp.org>
1047
1048         remainderl: Don't override undeclared system function on IRIX 6.5.
1049         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
1050         HAVE_REMAINDERL.
1051         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
1052         declared when it exists. Set HAVE_DECL_REMAINDERL.
1053         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
1054         not HAVE_REMAINDERL.
1055         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
1056         HAVE_REMAINDERL.
1057         * doc/posix-functions/remainderl.texi: Mention missing declaration
1058         problem.
1059
1060 2012-03-07  Bruno Haible  <bruno@clisp.org>
1061
1062         rintf: Don't override undeclared system function on IRIX 6.5.
1063         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
1064         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
1065         exists. Set HAVE_DECL_RINTF.
1066         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
1067         HAVE_RINTF.
1068         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
1069         HAVE_RINTF.
1070         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
1071
1072 2012-03-07  Bruno Haible  <bruno@clisp.org>
1073
1074         roundl: Avoid compilation error on AIX.
1075         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
1076         AIX 5.2..7.1.
1077
1078 2012-03-07  Bruno Haible  <bruno@clisp.org>
1079
1080         roundl: Don't override undeclared system function on IRIX 6.5.
1081         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
1082         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
1083         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
1084         * modules/roundl (configure.ac): For replacement code, test
1085         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
1086         (Depends-on): Update conditions.
1087         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
1088
1089 2012-03-07  Bruno Haible  <bruno@clisp.org>
1090
1091         roundf: Don't override undeclared system function on IRIX 6.5.
1092         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
1093         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
1094         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
1095         * modules/roundf (configure.ac): For replacement code, test
1096         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
1097         (Depends-on): Update conditions.
1098         * modules/roundf-ieee (Depends-on): Update conditions.
1099         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
1100
1101 2012-03-07  Bruno Haible  <bruno@clisp.org>
1102
1103         round: Don't override undeclared system function on IRIX 6.5.
1104         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
1105         argument.
1106         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
1107         also when it is not declared. Set HAVE_ROUND. For replacement code,
1108         test HAVE_ROUND, not HAVE_DECL_ROUND.
1109         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
1110         not HAVE_DECL_ROUND.
1111         (Depends-on): Update conditions.
1112         * modules/round-ieee (Depends-on): Update conditions.
1113         * doc/posix-functions/round.texi: Mention the IRIX problem.
1114
1115 2012-03-07  Bruno Haible  <bruno@clisp.org>
1116
1117         copysignf: Don't override undeclared system function on IRIX 6.5.
1118         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
1119         HAVE_COPYSIGNF.
1120         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
1121         declared when it exists. Set HAVE_DECL_COPYSIGNF.
1122         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
1123         not HAVE_COPYSIGNF.
1124         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
1125         HAVE_COPYSIGNF.
1126         * doc/posix-functions/copysignf.texi: Mention missing declaration
1127         problem.
1128
1129 2012-03-07  Jim Meyering  <meyering@redhat.com>
1130
1131         readtokens: add tests
1132         * modules/readtokens-tests: New file.
1133         * tests/test-readtokens.c: New file.
1134
1135 2012-03-07  Jim Meyering  <meyering@redhat.com>
1136
1137         quotearg: the module must now include quote.h
1138         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
1139         So must the module.
1140         * modules/quotearg (Files): Add quote.h.
1141
1142 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
1143
1144         readtokens: avoid core dumps with unusual calling patterns
1145         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
1146         * lib/readtokens.c: Include limits.h.
1147         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
1148         (readtoken): Don't cache the delimiters; the cache code was buggy
1149         if !delim && saved_delim, or if the new n_delim differs from the old.
1150         Also, it wasn't thread-safe.
1151
1152 2012-03-07  Bruno Haible  <bruno@clisp.org>
1153
1154         quote: Adhere to common module description layout.
1155         * modules/quote (Makefile.am): Add back empty section.
1156
1157 2012-03-06  Akim Demaille  <demaille@gostai.com>
1158
1159         quote: fuse into quotearg
1160         This patch is made for the benefit of Bison.
1161         quote does not leave the choice of the quoting style to the user.
1162         quoting_style provides poor customizability, yet quoting_options,
1163         which is very rich, is hidden inside quotearg.c.  So in order to
1164         allow quote customization, move its implementation to quotearg.c.
1165         * lib/quote.c: Remove.
1166         * modules/quote: Adjust.
1167         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
1168         warning: provide all the members of literal structs.
1169         (quote_quoting_options): New.
1170         (quote, quote_n): Import implementation from quote.c.
1171         * lib/quote.h: Import the comments from quote.c.
1172         (quote_quoting_options): New.
1173
1174 2012-03-06  Bruno Haible  <bruno@clisp.org>
1175
1176         Tests for module 'expm1l-ieee'.
1177         * modules/expm1l-ieee-tests: New file.
1178         * tests/test-expm1l-ieee.c: New file.
1179
1180         New module 'expm1l-ieee'.
1181         * modules/expm1l-ieee: New file.
1182
1183         Tests for module 'expm1f-ieee'.
1184         * modules/expm1f-ieee-tests: New file.
1185         * tests/test-expm1f-ieee.c: New file.
1186
1187         New module 'expm1f-ieee'.
1188         * modules/expm1f-ieee: New file.
1189
1190         Tests for module 'expm1-ieee'.
1191         * modules/expm1-ieee-tests: New file.
1192         * tests/test-expm1-ieee.c: New file.
1193         * tests/test-expm1-ieee.h: New file.
1194
1195         New module 'expm1-ieee'.
1196         * modules/expm1-ieee: New file.
1197         * m4/expm1-ieee.m4: New file.
1198         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
1199         whether expm1 works with a minus zero argument. Replace it if not.
1200         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
1201         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
1202         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
1203         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
1204         (Depends-on): Update conditions.
1205         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
1206         AIX problem.
1207
1208 2012-03-06  Bruno Haible  <bruno@clisp.org>
1209
1210         Work around expm1f bug on IRIX 6.5.
1211         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
1212         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
1213         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
1214         not work.
1215         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
1216         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
1217         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
1218         (Depends-on): Update conditions.
1219         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
1220
1221 2012-03-06  Bruno Haible  <bruno@clisp.org>
1222
1223         Tests for module 'expm1l'.
1224         * modules/expm1l-tests: New file.
1225         * tests/test-expm1l.c: New file.
1226
1227         New module 'expm1l'.
1228         * lib/math.in.h (expm1l): New declaration.
1229         * lib/expm1l.c: New file.
1230         * m4/expm1l.m4: New file.
1231         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
1232         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
1233         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
1234         * modules/expm1l: New file.
1235         * tests/test-math-c++.cc: Check the declaration of expm1l.
1236         * doc/posix-functions/expm1l.texi: Mention the new module.
1237
1238 2012-03-06  Bruno Haible  <bruno@clisp.org>
1239
1240         Tests for module 'expm1f'.
1241         * modules/expm1f-tests: New file.
1242         * tests/test-expm1f.c: New file.
1243
1244         New module 'expm1f'.
1245         * lib/math.in.h (expm1f): New declaration.
1246         * lib/expm1f.c: New file.
1247         * m4/expm1f.m4: New file.
1248         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
1249         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
1250         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
1251         * modules/expm1f: New file.
1252         * tests/test-math-c++.cc: Check the declaration of expm1f.
1253         * doc/posix-functions/expm1f.texi: Mention the new module.
1254
1255 2012-03-06  Bruno Haible  <bruno@clisp.org>
1256
1257         Tests for module 'expm1'.
1258         * modules/expm1-tests: New file.
1259         * tests/test-expm1.c: New file.
1260         * tests/test-expm1.h: New file.
1261
1262         New module 'expm1'.
1263         * lib/math.in.h (expm1): New declaration.
1264         * lib/expm1.c: New file.
1265         * m4/expm1.m4: New file.
1266         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
1267         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
1268         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
1269         * modules/expm1: New file.
1270         * tests/test-math-c++.cc: Check the declaration of expm1.
1271         * doc/posix-functions/expm1.texi: Mention the new module.
1272
1273 2012-03-06  Bruno Haible  <bruno@clisp.org>
1274
1275         math: Ensure declarations of math functions.
1276         * modules/acosf (Depends-on): Add 'extensions'.
1277         * modules/asinf (Depends-on): Likewise.
1278         * modules/atan2f (Depends-on): Likewise.
1279         * modules/atanf (Depends-on): Likewise.
1280         * modules/cbrt (Depends-on): Likewise.
1281         * modules/cbrtf (Depends-on): Likewise.
1282         * modules/cbrtl (Depends-on): Likewise.
1283         * modules/copysignf (Depends-on): Likewise.
1284         * modules/copysignl (Depends-on): Likewise.
1285         * modules/cosf (Depends-on): Likewise.
1286         * modules/coshf (Depends-on): Likewise.
1287         * modules/expf (Depends-on): Likewise.
1288         * modules/fabsf (Depends-on): Likewise.
1289         * modules/fabsl (Depends-on): Likewise.
1290         * modules/fmaf (Depends-on): Likewise.
1291         * modules/fmal (Depends-on): Likewise.
1292         * modules/fmodf (Depends-on): Likewise.
1293         * modules/fmodl (Depends-on): Likewise.
1294         * modules/frexpf (Depends-on): Likewise.
1295         * modules/frexpl (Depends-on): Likewise.
1296         * modules/hypot (Depends-on): Likewise.
1297         * modules/hypotf (Depends-on): Likewise.
1298         * modules/hypotl (Depends-on): Likewise.
1299         * modules/ldexpf (Depends-on): Likewise.
1300         * modules/ldexpl (Depends-on): Likewise.
1301         * modules/log10f (Depends-on): Likewise.
1302         * modules/log10l (Depends-on): Likewise.
1303         * modules/log1p (Depends-on): Likewise.
1304         * modules/logb (Depends-on): Likewise.
1305         * modules/logf (Depends-on): Likewise.
1306         * modules/modff (Depends-on): Likewise.
1307         * modules/modfl (Depends-on): Likewise.
1308         * modules/powf (Depends-on): Likewise.
1309         * modules/remainderf (Depends-on): Likewise.
1310         * modules/remainderl (Depends-on): Likewise.
1311         * modules/rintf (Depends-on): Likewise.
1312         * modules/rintl (Depends-on): Likewise.
1313         * modules/sinf (Depends-on): Likewise.
1314         * modules/sinhf (Depends-on): Likewise.
1315         * modules/sqrtf (Depends-on): Likewise.
1316         * modules/tanf (Depends-on): Likewise.
1317         * modules/tanhf (Depends-on): Likewise.
1318         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
1319         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
1320         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
1321         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
1322         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
1323         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
1324         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
1325         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
1326         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
1327         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
1328         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
1329         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
1330         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
1331         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
1332         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
1333         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
1334         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
1335         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
1336         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
1337         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
1338         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
1339         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
1340         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
1341         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
1342         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
1343         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
1344         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
1345         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
1346         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
1347         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
1348         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
1349         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
1350         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
1351         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
1352         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
1353         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
1354         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
1355         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
1356         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
1357         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
1358         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
1359
1360 2012-03-06  Bruno Haible  <bruno@clisp.org>
1361
1362         math: Update module names in warnings.
1363         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
1364         tanl): Use specific module name in warn-on-use warning.
1365
1366 2012-03-06  Bruno Haible  <bruno@clisp.org>
1367
1368         expl: Simplify computation.
1369         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
1370
1371 2012-03-05  Bruno Haible  <bruno@clisp.org>
1372
1373         exp* tests: More tests.
1374         * tests/test-exp.h: New file.
1375         * tests/test-exp.c: Include <float.h> and test-exp.h.
1376         (main): Invoke test_function.
1377         * tests/test-expf.c: Include <float.h> and test-exp.h.
1378         (main): Invoke test_function.
1379         * tests/test-expl.c: Include <float.h> and test-exp.h.
1380         (main): Invoke test_function.
1381         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
1382         (Makefile.am): Add randomd.c to test_exp_SOURCES.
1383         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
1384         (Makefile.am): Add randomf.c to test_expf_SOURCES.
1385         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
1386         (Depends-on): Add 'float'.
1387         (Makefile.am): Add randoml.c to test_expl_SOURCES.
1388
1389         expl: Fix precision of computed result.
1390         * lib/expl.c: Completely rewritten.
1391         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
1392         (Maintainer): Add me.
1393         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
1394
1395 2012-03-05  Bruno Haible  <bruno@clisp.org>
1396
1397         cbrt* tests: More tests.
1398         * tests/test-cbrt.h: New file.
1399         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
1400         (main): Invoke test_function.
1401         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
1402         (main): Invoke test_function.
1403         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
1404         (main): Invoke test_function.
1405         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
1406         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
1407         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
1408         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
1409         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
1410         (Depends-on): Add 'float'.
1411         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
1412
1413 2012-03-05  Bruno Haible  <bruno@clisp.org>
1414
1415         hypot* tests: More tests.
1416         * tests/test-hypot.h: New file, partially extracted from
1417         tests/test-hypotl.c.
1418         * tests/test-hypot.c: Include test-hypot.h.
1419         (main): Invoke test_function.
1420         * tests/test-hypotf.c: Include test-hypot.h.
1421         (main): Invoke test_function.
1422         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
1423         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
1424         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
1425         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
1426         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
1427         tests/randomf.c.
1428         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
1429         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
1430         tests/randoml.c.
1431         (Depends-on): Add 'fpucw', 'float'.
1432         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
1433
1434 2012-03-05  Bruno Haible  <bruno@clisp.org>
1435
1436         fpucw: Doc about FreeBSD.
1437         * lib/fpucw.h: Mention FreeBSD in comments.
1438
1439 2012-03-04  Bruno Haible  <bruno@clisp.org>
1440
1441         sqrt* tests: More tests.
1442         * tests/test-sqrt.h: New file.
1443         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
1444         (main): Invoke test_function.
1445         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
1446         (main): Invoke test_function.
1447         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
1448         (main): Invoke test_function.
1449         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
1450         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
1451         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
1452         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
1453         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
1454         (Depends-on): Add 'float'.
1455         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
1456
1457 2012-03-04  Bruno Haible  <bruno@clisp.org>
1458
1459         remainder* tests: More tests.
1460         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
1461         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
1462         (main): Invoke test_function.
1463         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
1464         (main): Invoke test_function.
1465         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
1466         (main): Invoke test_function.
1467         * modules/remainder-tests (Files): Add tests/test-remainder.h,
1468         tests/randomd.c.
1469         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
1470         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
1471         tests/randomf.c.
1472         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
1473         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
1474         tests/randoml.c.
1475         (Depends-on): Add 'float'.
1476         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
1477
1478 2012-03-04  Bruno Haible  <bruno@clisp.org>
1479
1480         remainder, remainderf, remainderl: Fix computation for large quotients.
1481         * lib/remainder.c: Completely rewritten.
1482         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
1483         USE_FLOAT.
1484         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
1485         USE_LONG_DOUBLE.
1486         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
1487         isnand, isinf. Remove round, fma.
1488         * modules/remainderf (Files): Add lib/remainder.c.
1489         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
1490         Remove roundf, fmaf.
1491         * modules/remainderl (Files): Add lib/remainder.c.
1492         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
1493         isinf. Remove roundl, fmal.
1494         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
1495         REMAINDER_LIBM.
1496         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
1497         REMAINDERF_LIBM.
1498         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
1499         REMAINDERL_LIBM.
1500
1501 2012-03-04  Bruno Haible  <bruno@clisp.org>
1502
1503         fmod* tests: More tests.
1504         * tests/test-fmod.h (my_ldexp): New function.
1505         (test_function): Reduce amount of random numbers to test. Add tests
1506         of very large quotients x / y.
1507         * tests/test-fmod.c (MAX_EXP): New macro.
1508         * tests/test-fmodf.c (MAX_EXP): Likewise.
1509         * tests/test-fmodl.c (MAX_EXP): Likewise.
1510
1511 2012-03-04  Bruno Haible  <bruno@clisp.org>
1512
1513         fmod, fmodl: Fix computation for large quotients x / y.
1514         * lib/fmod.c: Completely rewritten.
1515         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
1516         USE_LONG_DOUBLE.
1517         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
1518         isnand. Remove fma.
1519         * modules/fmodl (Files): Add lib/fmod.c.
1520         (Depends-on): Add float, isfinite, signbit, fabsl,
1521         frexpl, ldexpl, isnanl. Remove fma.
1522         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
1523         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
1524
1525 2012-03-03  Bruno Haible  <bruno@clisp.org>
1526
1527         fmod* tests: More tests.
1528         * tests/test-fmod.h: New file.
1529         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
1530         (main): Invoke test_function.
1531         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
1532         (main): Invoke test_function.
1533         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
1534         (main): Invoke test_function.
1535         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
1536         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
1537         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
1538         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
1539         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
1540         (Depends-on): Add 'float'.
1541         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
1542
1543 2012-03-03  Bruno Haible  <bruno@clisp.org>
1544
1545         rint* tests: More tests.
1546         * tests/test-rint.h: New file, partially extracted from
1547         tests/test-rintl.c.
1548         * tests/test-rint.c: Include test-rint.h.
1549         (main): Invoke test_function.
1550         * tests/test-rintf.c: Include test-rint.h.
1551         (main): Invoke test_function.
1552         * tests/test-rintl.c: Include test-rint.h.
1553         (main): Invoke test_function.
1554         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
1555         (Makefile.am): Add randomd.c to test_rint_SOURCES.
1556         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
1557         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
1558         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
1559         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
1560
1561 2012-03-03  Bruno Haible  <bruno@clisp.org>
1562
1563         modf* tests: More tests.
1564         * tests/test-modf.h: New file.
1565         * tests/test-modf.c: Include <float.h> and test-modf.h.
1566         (main): Invoke test_function.
1567         * tests/test-modff.c: Include <float.h> and test-modf.h.
1568         (main): Invoke test_function.
1569         * tests/test-modfl.c: Include <float.h> and test-modf.h.
1570         (main): Invoke test_function.
1571         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
1572         (Makefile.am): Add randomd.c to test_modf_SOURCES.
1573         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
1574         (Makefile.am): Add randomf.c to test_modff_SOURCES.
1575         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
1576         (Depends-on): Add 'float'.
1577         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
1578
1579 2012-03-03  Bruno Haible  <bruno@clisp.org>
1580
1581         fabs* tests: More tests.
1582         * tests/test-fabs.h: New file, partially extracted from
1583         tests/test-fabsl.c.
1584         * tests/test-fabs.c (RANDOM): New macro.
1585         * tests/test-fabsf.c (RANDOM): New macro.
1586         * tests/test-fabsl.c (RANDOM): New macro.
1587         * modules/fabs-tests (Files): Add tests/randomd.c.
1588         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
1589         * modules/fabsf-tests (Files): Add tests/randomf.c.
1590         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
1591         * modules/fabsl-tests (Files): Add tests/randoml.c.
1592         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
1593
1594 2012-03-03  Bruno Haible  <bruno@clisp.org>
1595
1596         ldexp* tests: More tests.
1597         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
1598         * tests/test-ldexp.c (RANDOM): New macro.
1599         * tests/test-ldexpf.c (RANDOM): New macro.
1600         * tests/test-ldexpl.c (RANDOM): New macro.
1601         * modules/ldexp-tests (Files): Add tests/randomd.c.
1602         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
1603         * modules/ldexpf-tests (Files): Add tests/randomf.c.
1604         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
1605         * modules/ldexpl-tests (Files): Add tests/randoml.c.
1606         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
1607
1608 2012-03-03  Bruno Haible  <bruno@clisp.org>
1609
1610         frexp* tests: More tests.
1611         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
1612         * tests/test-frexp.c (RANDOM): New macro.
1613         * tests/test-frexpf.c (RANDOM): New macro.
1614         * tests/test-frexpl.c (RANDOM): New macro.
1615         * modules/frexp-tests (Files): Add tests/randomd.c.
1616         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
1617         * modules/frexpf-tests (Files): Add tests/randomf.c.
1618         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
1619         * modules/frexpl-tests (Files): Add tests/randoml.c.
1620         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
1621
1622 2012-03-03  Bruno Haible  <bruno@clisp.org>
1623
1624         Support for pseudo-random numbers in tests.
1625         * tests/randomf.c: New file.
1626         * tests/randomd.c: New file.
1627         * tests/randoml.c: New file.
1628         * tests/macros.h (randomf, randomd, randoml): New declarations.
1629
1630 2012-03-03  Bruno Haible  <bruno@clisp.org>
1631
1632         frexp* tests: Refactor.
1633         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
1634         * tests/test-frexp.c: Include and use it.
1635         * tests/test-frexpf.c: Likewise.
1636         * tests/test-frexpl.c: Likewise.
1637         * modules/frexp-tests (Files): Add tests/test-frexp.h.
1638         * modules/frexpf-tests (Files): Likewise.
1639         * modules/frexpl-tests (Files): Likewise.
1640
1641 2012-03-02  Jim Meyering  <meyering@redhat.com>
1642
1643         maint: don't specify XZ_OPT=-9ev in dist-related rule
1644         Using xz's -9 option is warranted only if you have a very large
1645         tarball (see xz's documentation for the sizes vs. presets), and
1646         requires 64MiB of memory at decompression time.
1647         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
1648         Automake's default of just "-e" is fine.  Override on a
1649         per-package basis by setting XZ_OPT e.g., in cfg.mk.
1650
1651 2012-03-01  Eric Blake  <eblake@redhat.com>
1652
1653         maint.mk: allow announcement for non-gnulib project
1654         * maint.mk (announcement): Skip gnulib version if not used.
1655
1656 2012-03-01  Jim Meyering  <meyering@redhat.com>
1657
1658         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
1659         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
1660         envvar settings cannot interfere.  Otherwise, setting envvars like
1661         prohibit=foo require=bar, etc. would cause spurious test failures.
1662
1663 2012-03-01  Eric Blake  <eblake@redhat.com>
1664
1665         maint.mk: add per-line exclusions to prohibitions
1666         * maint.mk (_sc_search_regexp): Add $exclude parameter.
1667         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
1668         (sc_const_long_option): Use it.
1669
1670 2012-03-01  Bruno Haible  <bruno@clisp.org>
1671
1672         Tests for module 'expl-ieee'.
1673         * modules/expl-ieee-tests: New file.
1674         * tests/test-expl-ieee.c: New file.
1675
1676         New module 'expl-ieee'.
1677         * modules/expl-ieee: New file.
1678
1679         Tests for module 'exp-ieee'.
1680         * modules/exp-ieee-tests: New file.
1681         * tests/test-exp-ieee.c: New file.
1682
1683         New module 'exp-ieee'.
1684         * modules/exp-ieee: New file.
1685
1686         Tests for module 'expf-ieee'.
1687         * modules/expf-ieee-tests: New file.
1688         * tests/test-expf-ieee.c: New file.
1689         * tests/test-exp-ieee.h: New file.
1690
1691         New module 'expf-ieee'.
1692         * modules/expf-ieee: New file.
1693
1694 2012-02-29  Bruno Haible  <bruno@clisp.org>
1695
1696         cbrtl-ieee: Work around test failure on IRIX 6.5.
1697         * m4/cbrtl-ieee.m4: New file.
1698         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
1699         test whether cbrtl works with a minus zero argument. Replace it if not.
1700         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
1701         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
1702         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
1703         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
1704         (Depends-on): Update conditions.
1705         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
1706         m4/signbit.m4.
1707         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
1708         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
1709         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
1710
1711         Tests for module 'cbrtl-ieee'.
1712         * modules/cbrtl-ieee-tests: New file.
1713         * tests/test-cbrtl-ieee.c: New file.
1714
1715         New module 'cbrtl-ieee'.
1716         * modules/cbrtl-ieee: New file.
1717
1718         Tests for module 'cbrt-ieee'.
1719         * modules/cbrt-ieee-tests: New file.
1720         * tests/test-cbrt-ieee.c: New file.
1721
1722         New module 'cbrt-ieee'.
1723         * modules/cbrt-ieee: New file.
1724
1725         Tests for module 'cbrtf-ieee'.
1726         * modules/cbrtf-ieee-tests: New file.
1727         * tests/test-cbrtf-ieee.c: New file.
1728         * tests/test-cbrt-ieee.h: New file.
1729
1730         New module 'cbrtf-ieee'.
1731         * modules/cbrtf-ieee: New file.
1732
1733 2012-02-29  Bruno Haible  <bruno@clisp.org>
1734
1735         cbrtf: Work around bug in IRIX 6.5 system function.
1736         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
1737         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
1738         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
1739         work.
1740         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
1741         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
1742         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
1743         (Depends-on): Update conditions.
1744         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
1745
1746 2012-02-29  Bruno Haible  <bruno@clisp.org>
1747
1748         Tests for module 'cbrtl'.
1749         * modules/cbrtl-tests: New file.
1750         * tests/test-cbrtl.c: New file.
1751
1752         New module 'cbrtl'.
1753         * lib/math.in.h (cbrtl): New declaration.
1754         * lib/cbrtl.c: New file.
1755         * m4/cbrtl.m4: New file.
1756         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
1757         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
1758         HAVE_DECL_CBRTL.
1759         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
1760         HAVE_DECL_CBRTL.
1761         * modules/cbrtl: New file.
1762         * tests/test-math-c++.cc: Check the declaration of cbrtl.
1763         * doc/posix-functions/cbrtl.texi: Mention the new module.
1764
1765 2012-02-29  Bruno Haible  <bruno@clisp.org>
1766
1767         Tests for module 'cbrtf'.
1768         * modules/cbrtf-tests: New file.
1769         * tests/test-cbrtf.c: New file.
1770
1771         New module 'cbrtf'.
1772         * lib/math.in.h (cbrtf): New declaration.
1773         * lib/cbrtf.c: New file.
1774         * m4/cbrtf.m4: New file.
1775         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
1776         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
1777         HAVE_DECL_CBRTF.
1778         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
1779         HAVE_DECL_CBRTF.
1780         * modules/cbrtf: New file.
1781         * tests/test-math-c++.cc: Check the declaration of cbrtf.
1782         * doc/posix-functions/cbrtf.texi: Mention the new module.
1783
1784 2012-02-29  Bruno Haible  <bruno@clisp.org>
1785
1786         cbrt: Provide replacement on MSVC and Minix.
1787         * lib/math.in.h (cbrt): New declaration.
1788         * lib/cbrt.c: New file.
1789         * m4/cbrt.m4: New file.
1790         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
1791         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
1792         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
1793         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
1794         (Depends-on): Add dependencies.
1795         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
1796         * tests/test-math-c++.cc: Check the declaration of cbrt.
1797         * doc/posix-functions/cbrt.texi: Mention that the module provides a
1798         replacement.
1799
1800 2012-02-29  Bruno Haible  <bruno@clisp.org>
1801
1802         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
1803         * m4/hypotl-ieee.m4: New file.
1804         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
1805         test whether hypotl works with mixed NaN and Infinity arguments.
1806         Replace it if not.
1807         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
1808         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
1809         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
1810         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
1811         (Depends-on): Update conditions.
1812         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
1813         (Depends-on): Add hypot-ieee.
1814         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
1815         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
1816
1817         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
1818         * m4/hypotf-ieee.m4: New file.
1819         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
1820         test whether hypotf works with mixed NaN and Infinity arguments.
1821         Replace it if not.
1822         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
1823         (Depends-on): Add hypot-ieee.
1824         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
1825         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
1826
1827         hypot-ieee: Work around test failure on OSF/1 and native Windows.
1828         * lib/math.in.h (hypot): New declaration.
1829         * lib/hypot.c: New file.
1830         * m4/hypot-ieee.m4: New file.
1831         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
1832         whether hypot works with mixed NaN and Infinity arguments. Replace it
1833         if not.
1834         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
1835         REPLACE_HYPOT.
1836         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
1837         * modules/hypot (Files): Add lib/hypot.c.
1838         (Depends-on): Add dependencies.
1839         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
1840         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
1841         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
1842         * tests/test-math-c++.cc: Check the declaration of hypot.
1843         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
1844
1845         Tests for module 'hypotl-ieee'.
1846         * modules/hypotl-ieee-tests: New file.
1847         * tests/test-hypotl-ieee.c: New file.
1848
1849         New module 'hypotl-ieee'.
1850         * modules/hypotl-ieee: New file.
1851
1852         Tests for module 'hypot-ieee'.
1853         * modules/hypot-ieee-tests: New file.
1854         * tests/test-hypot-ieee.c: New file.
1855
1856         New module 'hypot-ieee'.
1857         * modules/hypot-ieee: New file.
1858
1859         Tests for module 'hypotf-ieee'.
1860         * modules/hypotf-ieee-tests: New file.
1861         * tests/test-hypotf-ieee.c: New file.
1862         * tests/test-hypot-ieee.h: New file.
1863
1864         New module 'hypotf-ieee'.
1865         * modules/hypotf-ieee: New file.
1866
1867 2012-02-29  Bruno Haible  <bruno@clisp.org>
1868
1869         Remove unused variables.
1870         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
1871         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
1872         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
1873         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
1874
1875 2012-02-29  Eric Blake  <eblake@redhat.com>
1876
1877         termios: fix pid_t always, not just for tcgetsid
1878         * doc/posix-headers/termios.texi (termios.h): Mention problem.
1879         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
1880         just when building tcgetsid.
1881
1882 2012-02-29  Bruno Haible  <bruno@clisp.org>
1883
1884         Tests for module 'hypotl'.
1885         * modules/hypotl-tests: New file.
1886         * tests/test-hypotl.c: New file.
1887
1888         New module 'hypotl'.
1889         * lib/math.in.h (hypotl): New declaration.
1890         * lib/hypotl.c: New file.
1891         * m4/hypotl.m4: New file.
1892         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
1893         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
1894         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
1895         * modules/hypotl: New file.
1896         * tests/test-math-c++.cc: Check the hypotl declaration.
1897         * doc/posix-functions/hypotl.texi: Mention the new module.
1898
1899 2012-02-29  Eric Blake  <eblake@redhat.com>
1900
1901         tcgetsid: fix cygwin header bug
1902         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
1903
1904         docs: update cygwin progress
1905         * doc/posix-functions/llround.texi (llround): Added in cygwin
1906         1.7.8.
1907         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
1908         * doc/glibc-functions/program_invocation_name.texi
1909         (program_invocation_name): Likewise.
1910         * doc/glibc-functions/program_invocation_short_name.texi
1911         (program_invocation_short_name): Likewise.
1912         * doc/glibc-functions/madvise.texi (madvise): Likewise.
1913         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
1914         Likewise.
1915         * doc/posix-functions/pthread_spin_destroy.texi
1916         (pthread_spin_destroy): Added in cygwin 1.7.10.
1917         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
1918         Likewise.
1919         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
1920         Likewise.
1921         * doc/posix-functions/pthread_spin_trylock.texi
1922         (pthread_spin_trylock): Likewise.
1923         * doc/posix-functions/pthread_spin_unlock.texi
1924         (pthread_spin_unlock): Likewise.
1925         * doc/posix-functions/pthread_setschedprio.texi
1926         (pthread_setschedprio): Likewise.
1927         * doc/posix-functions/pthread_attr_getstack.texi
1928         (pthread_attr_getstack): Likewise.
1929         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
1930         (pthread_attr_getstackaddr): Likewise.
1931         * doc/glibc-functions/pthread_getattr_np.texi
1932         (pthread_getattr_np): Likewise.
1933         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
1934         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
1935         * doc/posix-functions/clock_settime.texi (clock_settime):
1936         Likewise.
1937         * doc/posix-functions/pthread_attr_getguardsize.texi
1938         (pthread_attr_getguardsize): Likewise.
1939         * doc/posix-functions/pthread_attr_setguardsize.texi
1940         (pthread_attr_setguardsize): Likewise.
1941         * doc/posix-functions/pthread_attr_setstack.texi
1942         (pthread_attr_setstack): Likewise.
1943         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
1944         (pthread_attr_setstackaddr): Likewise.
1945         * doc/posix-functions/clock_getcpuclockid.texi
1946         (clock_getcpuclockid): Likewise.
1947         * doc/posix-functions/pthread_getcpuclockid.texi
1948         (pthread_getcpuclockid): Likewise.
1949         * doc/glibc-functions/error.texi (error): Likewise.
1950         * doc/glibc-functions/error_at_line.texi (error_at_line):
1951         Likewise.
1952         * doc/glibc-functions/error_message_count.texi
1953         (error_message_count): Likewise.
1954         * doc/glibc-functions/error_one_per_line.texi
1955         (error_one_per_line): Likewise.
1956         * doc/glibc-functions/error_print_progname.texi
1957         (error_print_progname): Likewise.
1958         * doc/posix-functions/pthread_condattr_getclock.texi
1959         (pthread_condattr_getclock): Likewise.
1960         * doc/posix-functions/pthread_condattr_setclock.texi
1961         (pthread_condattr_setclock): Likewise.
1962         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
1963         Likewise.
1964         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
1965         * doc/glibc-functions/getpt.texi (getpt): Likewise.
1966         * doc/glibc-functions/get_current_dir_name.texi
1967         (get_current_dir_name): Likewise.
1968         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
1969         Likewise.
1970         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
1971         wrong return type.
1972         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
1973         1.7.11.
1974
1975 2012-02-29  Bruno Haible  <bruno@clisp.org>
1976
1977         Tests for module 'hypotf'.
1978         * modules/hypotf-tests: New file.
1979         * tests/test-hypotf.c: New file.
1980
1981         New module 'hypotf'.
1982         * lib/math.in.h (hypotf): New declaration.
1983         * lib/hypotf.c: New file.
1984         * m4/hypotf.m4: New file.
1985         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
1986         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
1987         REPLACE_HYPOTF.
1988         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
1989         REPLACE_HYPOTF.
1990         * modules/hypotf: New file.
1991         * tests/test-math-c++.cc: Check the hypotf declaration.
1992         * doc/posix-functions/hypotf.texi: Mention the new module.
1993
1994         hypot: Prepare for hypotf module.
1995         * m4/hypot.m4: New file.
1996         * modules/hypot (Files): Add m4/hypot.m4.
1997         (configure.ac): Invoke gl_FUNC_HYPOT.
1998
1999 2012-02-29  Bruno Haible  <bruno@clisp.org>
2000
2001         hypot tests: More tests.
2002         * tests/test-hypot.c: Include <float.h>.
2003         (main): Add tests about overflow and underflow.
2004
2005 2012-02-29  Bruno Haible  <bruno@clisp.org>
2006
2007         math code: Add comments.
2008         * lib/acosl.c: Add comment about related glibc source files.
2009         * lib/asinl.c: Likewise.
2010         * lib/atanl.c: Likewise.
2011         * lib/expl.c: Likewise.
2012         * lib/logl.c: Likewise.
2013         * lib/sincosl.c: Likewise.
2014         * lib/sinl.c: Likewise.
2015         * lib/tanl.c: Likewise.
2016         * lib/trigl.c: Likewise.
2017         * lib/cosl.c: Likewise. Fix comments.
2018
2019 2012-02-28  Bruno Haible  <bruno@clisp.org>
2020
2021         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
2022         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
2023         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
2024         HUGE_VALL are defined.
2025         (numeric_equald): Renamed from numeric_equal.
2026         (numeric_equalf, numeric_equall): New functions.
2027         (main): Check also HUGE_VALF, HUGE_VALL.
2028         * modules/math-tests (Files): Add tests/macros.h.
2029         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
2030         HUGE_VALL.
2031
2032 2012-02-28  Bruno Haible  <bruno@clisp.org>
2033
2034         doc: Move ISO C11 feature notes into POSIX chapters.
2035         * doc/posix-functions/aligned_alloc.texi: Renamed from
2036         doc/glibc-functions/aligned_alloc.texi.
2037         * doc/posix-functions/quick_exit.texi: Renamed from
2038         doc/glibc-functions/quick_exit.texi.
2039         * doc/posix-headers/uchar.texi: Renamed from
2040         doc/glibc-headers/uchar.texi.
2041         * doc/posix-functions/c16rtomb.texi: Renamed from
2042         doc/glibc-functions/c16rtomb.texi.
2043         * doc/posix-functions/c32rtomb.texi: Renamed from
2044         doc/glibc-functions/c32rtomb.texi.
2045         * doc/posix-functions/mbrtoc16.texi: Renamed from
2046         doc/glibc-functions/mbrtoc16.texi.
2047         * doc/posix-functions/mbrtoc32.texi: Renamed from
2048         doc/glibc-functions/mbrtoc32.texi.
2049         * doc/gnulib.texi: Update.
2050         (Glibc uchar.h): Remove section.
2051         Suggested by Eric Blake.
2052
2053 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
2054
2055         stdnoreturn: port to MSVC better
2056         MSVC standard headers use __declspec(noreturn), so #define noreturn
2057         to empty on that platform.  Reported by Bruno Haible in
2058         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
2059         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
2060         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
2061
2062 2012-02-28  Bruno Haible  <bruno@clisp.org>
2063
2064         doc: Mention new glibc headers and functions.
2065         * doc/glibc-headers/uchar.texi: New file.
2066         * doc/glibc-functions/aligned_alloc.texi: New file.
2067         * doc/glibc-functions/c16rtomb.texi: New file.
2068         * doc/glibc-functions/c32rtomb.texi: New file.
2069         * doc/glibc-functions/clock_adjtime.texi: New file.
2070         * doc/glibc-functions/fanotify_init.texi: New file.
2071         * doc/glibc-functions/fanotify_mark.texi: New file.
2072         * doc/glibc-functions/inet6_opt_append.texi: New file.
2073         * doc/glibc-functions/inet6_opt_find.texi: New file.
2074         * doc/glibc-functions/inet6_opt_finish.texi: New file.
2075         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
2076         * doc/glibc-functions/inet6_opt_init.texi: New file.
2077         * doc/glibc-functions/inet6_opt_next.texi: New file.
2078         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
2079         * doc/glibc-functions/inet6_rth_add.texi: New file.
2080         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
2081         * doc/glibc-functions/inet6_rth_init.texi: New file.
2082         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
2083         * doc/glibc-functions/inet6_rth_segments.texi: New file.
2084         * doc/glibc-functions/inet6_rth_space.texi: New file.
2085         * doc/glibc-functions/login.texi: New file.
2086         * doc/glibc-functions/mbrtoc16.texi: New file.
2087         * doc/glibc-functions/mbrtoc32.texi: New file.
2088         * doc/glibc-functions/name_to_handle_at.texi: New file.
2089         * doc/glibc-functions/ntp_gettimex.texi: New file.
2090         * doc/glibc-functions/open_by_handle_at.texi: New file.
2091         * doc/glibc-functions/prlimit.texi: New file.
2092         * doc/glibc-functions/process_vm_readv.texi: New file.
2093         * doc/glibc-functions/process_vm_writev.texi: New file.
2094         * doc/glibc-functions/recvmmsg.texi: New file.
2095         * doc/glibc-functions/scandirat.texi: New file.
2096         * doc/glibc-functions/sendmmsg.texi: New file.
2097         * doc/glibc-functions/setns.texi: New file.
2098         * doc/glibc-functions/timespec_get.texi: New file.
2099         * doc/gnulib.texi: Include them.
2100         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
2101         sections.
2102         Reported by Eric Blake.
2103
2104 2012-02-28  Bruno Haible  <bruno@clisp.org>
2105
2106         Avoid compilation errors with MSVC option -fp:strict.
2107         * lib/floor.c: Use MSVC specific pragma fenv_access.
2108         * lib/ceil.c: Likewise.
2109         * lib/trunc.c: Likewise.
2110         * lib/round.c: Likewise.
2111         * lib/rint.c: Likewise.
2112         * lib/fma.c: Likewise.
2113         * lib/integer_length.c: Likewise.
2114         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
2115         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
2116         * tests/test-floor2.c: Likewise.
2117         * tests/test-floorf2.c: Likewise.
2118         * tests/test-ceil2.c: Likewise.
2119         * tests/test-ceilf2.c: Likewise.
2120         * tests/test-trunc2.c: Likewise.
2121         * tests/test-truncf2.c: Likewise.
2122         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
2123
2124 2012-02-27  Bruno Haible  <bruno@clisp.org>
2125
2126         Tests for module 'sqrtl-ieee'.
2127         * modules/sqrtl-ieee-tests: New file.
2128         * tests/test-sqrtl-ieee.c: New file.
2129
2130         New module 'sqrtl-ieee'.
2131         * modules/sqrtl-ieee: New file.
2132
2133         Tests for module 'sqrt-ieee'.
2134         * modules/sqrt-ieee-tests: New file.
2135         * tests/test-sqrt-ieee.c: New file.
2136
2137         New module 'sqrt-ieee'.
2138         * modules/sqrt-ieee: New file.
2139
2140         Tests for module 'sqrtf-ieee'.
2141         * modules/sqrtf-ieee-tests: New file.
2142         * tests/test-sqrtf-ieee.c: New file.
2143         * tests/test-sqrt-ieee.h: New file.
2144
2145         New module 'sqrtf-ieee'.
2146         * modules/sqrtf-ieee: New file.
2147
2148 2012-02-27  Bruno Haible  <bruno@clisp.org>
2149
2150         remainderl-ieee: Work around test failure on OSF/1.
2151         * m4/remainderl-ieee.m4: New file.
2152         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
2153         present, test whether remainderl works with a zero second argument.
2154         Replace it if not.
2155         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
2156         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
2157         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
2158         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
2159         (Depends-on): Update conditions.
2160         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
2161         (Depends-on): Add remainder-ieee.
2162         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
2163         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
2164         module.
2165
2166         remainderf-ieee: Work around test failure on OSF/1.
2167         * m4/remainderf-ieee.m4: New file.
2168         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
2169         present, test whether remainderf works with a zero second argument.
2170         Replace it if not.
2171         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
2172         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
2173         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
2174         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
2175         (Depends-on): Update conditions.
2176         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
2177         (Depends-on): Add remainder-ieee.
2178         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
2179         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
2180         module.
2181
2182         remainder-ieee: Work around test failure on OSF/1.
2183         * m4/remainder-ieee.m4: New file.
2184         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
2185         present, test whether remainder works with a zero second argument.
2186         Replace it if not.
2187         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
2188         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
2189         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
2190         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
2191         (Depends-on): Update dependencies.
2192         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
2193         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
2194         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
2195
2196         Tests for module 'remainderl-ieee'.
2197         * modules/remainderl-ieee-tests: New file.
2198         * tests/test-remainderl-ieee.c: New file.
2199
2200         New module 'remainderl-ieee'.
2201         * modules/remainderl-ieee: New file.
2202
2203         Tests for module 'remainder-ieee'.
2204         * modules/remainder-ieee-tests: New file.
2205         * tests/test-remainder-ieee.c: New file.
2206
2207         New module 'remainder-ieee'.
2208         * modules/remainder-ieee: New file.
2209
2210         Tests for module 'remainderf-ieee'.
2211         * modules/remainderf-ieee-tests: New file.
2212         * tests/test-remainderf-ieee.c: New file.
2213         * tests/test-remainder-ieee.h: New file.
2214
2215         New module 'remainderf-ieee'.
2216         * modules/remainderf-ieee: New file.
2217
2218 2012-02-27  Bruno Haible  <bruno@clisp.org>
2219
2220         modff, modfl: Fix configure syntax error.
2221         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
2222         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
2223
2224 2012-02-27  Bruno Haible  <bruno@clisp.org>
2225
2226         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
2227         * m4/fmodl-ieee.m4: New file.
2228         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
2229         whether fmodl works with zero arguments. Replace it if not.
2230         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
2231         (Depends-on): Add fmod-ieee.
2232         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
2233         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
2234
2235         fmodf-ieee: Work around test failure on OSF/1.
2236         * m4/fmodf-ieee.m4: New file.
2237         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
2238         whether fmodf works with zero arguments. Replace it if not.
2239         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
2240         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
2241         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
2242         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
2243         (Depends-on): Update dependencies.
2244         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
2245         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
2246         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
2247
2248         fmodf-ieee: Work around test failure on MSVC 9.
2249         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
2250         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
2251
2252         fmod-ieee: Work around test failures on OSF/1, mingw.
2253         * m4/fmod-ieee.m4: New file.
2254         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
2255         whether fmod works with zero arguments. Replace it if not.
2256         * lib/math.in.h (fmod): New declaration.
2257         * lib/fmod.c: New file.
2258         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
2259         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
2260         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
2261         * modules/fmod (Files): Add lib/fmod.c.
2262         (Depends-on): Add math, isinf, trunc, fma.
2263         (configure.ac): Arrange to compile lib/fmod.c if needed.
2264         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
2265         m4/signbit.m4.
2266         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
2267         * tests/test-math-c++.cc: Check the declaration of fmod.
2268         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
2269
2270         fmodl-ieee: Fix test failures.
2271         * lib/fmodl.c (fmodl): Treat Inf specially.
2272         * modules/fmodl (Depends-on): Add isinf.
2273
2274         Tests for module 'fmodl-ieee'.
2275         * modules/fmodl-ieee-tests: New file.
2276         * tests/test-fmodl-ieee.c: New file.
2277
2278         New module 'fmodl-ieee'.
2279         * modules/fmodl-ieee: New file.
2280
2281         Tests for module 'fmod-ieee'.
2282         * modules/fmod-ieee-tests: New file.
2283         * tests/test-fmod-ieee.c: New file.
2284
2285         New module 'fmod-ieee'.
2286         * modules/fmod-ieee: New file.
2287
2288         Tests for module 'fmodf-ieee'.
2289         * modules/fmodf-ieee-tests: New file.
2290         * tests/test-fmodf-ieee.c: New file.
2291         * tests/test-fmod-ieee.h: New file.
2292
2293         New module 'fmodf-ieee'.
2294         * modules/fmodf-ieee: New file.
2295
2296 2012-02-27  Bruno Haible  <bruno@clisp.org>
2297
2298         Tests for module 'rintl-ieee'.
2299         * modules/rintl-ieee-tests: New file.
2300         * tests/test-rintl-ieee.c: New file.
2301
2302         New module 'rintl-ieee'.
2303         * modules/rintl-ieee: New file.
2304
2305         Tests for module 'rint-ieee'.
2306         * modules/rint-ieee-tests: New file.
2307         * tests/test-rint-ieee.c: New file.
2308
2309         New module 'rint-ieee'.
2310         * modules/rint-ieee: New file.
2311
2312         Tests for module 'rintf-ieee'.
2313         * modules/rintf-ieee-tests: New file.
2314         * tests/test-rintf-ieee.c: New file.
2315         * tests/test-rint-ieee.h: New file.
2316
2317         New module 'rintf-ieee'.
2318         * modules/rintf-ieee: New file.
2319
2320 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
2321
2322         regex: re_search etc. should return -2 when memory exhausted
2323         This bug was uncovered when testing 'grep'.  Without the fix,
2324         re_search and friends return -1 when memory is exhausted, but -1
2325         means no match, and this causes grep to falsely report no-match
2326         instead of memory-exhaustion.  See
2327         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
2328         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
2329         trouble; this can occur if re_search_internal ran out of memory.
2330
2331 2012-02-26  Bruno Haible  <bruno@clisp.org>
2332
2333         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
2334         * m4/modfl-ieee.m4: New file.
2335         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
2336         whether modfl works with Inf. Replace it if not.
2337         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
2338         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
2339         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
2340         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
2341         (Depends-on): Update dependencies.
2342         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
2343         m4/signbit.m4.
2344         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
2345         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
2346
2347         modfl-ieee: Fix dependencies.
2348         * modules/modfl-ieee (Depends-on): Add modf-ieee.
2349
2350         modfl-ieee: Fix test failures.
2351         * lib/modfl.c (modfl): Treat NaN and Inf specially.
2352         * modules/modfl (Depends-on): Add isfinite, isinf.
2353
2354         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
2355         * m4/modff-ieee.m4: New file.
2356         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
2357         whether modff works with NaN and Inf. Replace it if not.
2358         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
2359         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
2360         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
2361         * modules/modff (configure.ac): Consider REPLACE_MODFF.
2362         (Depends-on): Update dependencies.
2363         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
2364         m4/signbit.m4.
2365         (Depends-on): Add modf-ieee.
2366         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
2367         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
2368
2369         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
2370         * m4/modf-ieee.m4: New file.
2371         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
2372         whether modf works with NaN and Inf. Replace it if not.
2373         * lib/math.in.h (modf): New declaration.
2374         * lib/modf.c: New file.
2375         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
2376         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
2377         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
2378         * modules/modf (Files): Add lib/modf.c.
2379         (Depends-on): Add math, isfinite, trunc, isinf.
2380         (configure.ac): Addrange to compile lib/modf.c if needed.
2381         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
2382         m4/signbit.m4.
2383         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
2384         * tests/test-math-c++.cc: Check the declaration of modf.
2385         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
2386
2387         Tests for module 'modfl-ieee'.
2388         * modules/modfl-ieee-tests: New file.
2389         * tests/test-modfl-ieee.c: New file.
2390
2391         New module 'modfl-ieee'.
2392         * modules/modfl-ieee: New file.
2393
2394         Tests for module 'modf-ieee'.
2395         * modules/modf-ieee-tests: New file.
2396         * tests/test-modf-ieee.c: New file.
2397
2398         New module 'modf-ieee'.
2399         * modules/modf-ieee: New file.
2400
2401         Tests for module 'modff-ieee'.
2402         * modules/modff-ieee-tests: New file.
2403         * tests/test-modff-ieee.c: New file.
2404         * tests/test-modf-ieee.h: New file.
2405
2406         New module 'modff-ieee'.
2407         * modules/modff-ieee: New file.
2408
2409 2012-02-26  Bruno Haible  <bruno@clisp.org>
2410
2411         Tests for module 'fabsl-ieee'.
2412         * modules/fabsl-ieee-tests: New file.
2413         * tests/test-fabsl-ieee.c: New file.
2414
2415         New module 'fabsl-ieee'.
2416         * modules/fabsl-ieee: New file.
2417
2418         Tests for module 'fabs-ieee'.
2419         * modules/fabs-ieee-tests: New file.
2420         * tests/test-fabs-ieee.c: New file.
2421
2422         New module 'fabs-ieee'.
2423         * modules/fabs-ieee: New file.
2424
2425         Tests for module 'fabsf-ieee'.
2426         * modules/fabsf-ieee-tests: New file.
2427         * tests/test-fabsf-ieee.c: New file.
2428         * tests/test-fabs-ieee.h: New file.
2429
2430         New module 'fabsf-ieee'.
2431         * modules/fabsf-ieee: New file.
2432
2433 2012-02-26  Bruno Haible  <bruno@clisp.org>
2434
2435         Tests for module 'fmal-ieee'.
2436         * modules/fmal-ieee-tests: New file.
2437         * tests/test-fmal-ieee.c: New file.
2438
2439         New module 'fmal-ieee'.
2440         * modules/fmal-ieee: New file.
2441
2442         Tests for module 'fma-ieee'.
2443         * modules/fma-ieee-tests: New file.
2444         * tests/test-fma-ieee.c: New file.
2445
2446         New module 'fma-ieee'.
2447         * modules/fma-ieee: New file.
2448
2449         Tests for module 'fmaf-ieee'.
2450         * modules/fmaf-ieee-tests: New file.
2451         * tests/test-fmaf-ieee.c: New file.
2452         * tests/test-fma-ieee.h: New file.
2453
2454         New module 'fmaf-ieee'.
2455         * modules/fmaf-ieee: New file.
2456
2457 2012-02-26  Bruno Haible  <bruno@clisp.org>
2458
2459         Tests for module 'ldexpl-ieee'.
2460         * modules/ldexpl-ieee-tests: New file.
2461         * tests/test-ldexpl-ieee.c: New file.
2462
2463         New module 'ldexpl-ieee'.
2464         * modules/ldexpl-ieee: New file.
2465
2466         Tests for module 'ldexp-ieee'.
2467         * modules/ldexp-ieee-tests: New file.
2468         * tests/test-ldexp-ieee.c: New file.
2469
2470         New module 'ldexp-ieee'.
2471         * modules/ldexp-ieee: New file.
2472
2473         Tests for module 'ldexpf-ieee'.
2474         * modules/ldexpf-ieee-tests: New file.
2475         * tests/test-ldexpf-ieee.c: New file.
2476         * tests/test-ldexp-ieee.h: New file.
2477
2478         New module 'ldexpf-ieee'.
2479         * modules/ldexpf-ieee: New file.
2480
2481 2012-02-26  Bruno Haible  <bruno@clisp.org>
2482
2483         Refactor frexp*-ieee tests.
2484         * tests/test-frexp-ieee.h: New file.
2485         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
2486         (main): Just call test_function.
2487         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
2488         (main): Just call test_function.
2489         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
2490         (main): Just call test_function.
2491         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
2492         * modules/frexp-ieee-tests (Files): Likewise.
2493         * modules/frexpl-ieee-tests (Files): Likewise.
2494
2495         Tests for module 'frexpl-ieee'.
2496         * modules/frexpl-ieee-tests: New file.
2497         * tests/test-frexpl-ieee.c: New file.
2498
2499         New module 'frexpl-ieee'.
2500         * modules/frexpl-ieee: New file.
2501
2502         Tests for module 'frexp-ieee'.
2503         * modules/frexp-ieee-tests: New file.
2504         * tests/test-frexp-ieee.c: New file.
2505
2506         New module 'frexp-ieee'.
2507         * modules/frexp-ieee: New file.
2508
2509         Tests for module 'frexpf-ieee'.
2510         * modules/frexpf-ieee-tests: New file.
2511         * tests/test-frexpf-ieee.c: New file.
2512
2513         New module 'frexpf-ieee'.
2514         * modules/frexpf-ieee: New file.
2515
2516 2012-02-26  Bruno Haible  <bruno@clisp.org>
2517
2518         roundl-ieee tests: More tests.
2519         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
2520         (main): Add tests for [MX] shaded specification in POSIX.
2521         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2522         (Depends-on): Add isnanl-nolibm.
2523
2524         round-ieee tests: More tests.
2525         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
2526         (main): Add tests for [MX] shaded specification in POSIX.
2527         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2528         (Depends-on): Add isnand-nolibm.
2529
2530         roundf-ieee tests: More tests.
2531         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
2532         (main): Add tests for [MX] shaded specification in POSIX.
2533         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2534         (Depends-on): Add isnanf-nolibm.
2535
2536         truncl-ieee tests: More tests.
2537         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
2538         (main): Add tests for [MX] shaded specification in POSIX.
2539         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2540         (Depends-on): Add isnanl-nolibm.
2541
2542         trunc-ieee tests: More tests.
2543         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
2544         (main): Add tests for [MX] shaded specification in POSIX.
2545         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2546         (Depends-on): Add isnand-nolibm.
2547
2548         truncf-ieee tests: More tests.
2549         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
2550         (main): Add tests for [MX] shaded specification in POSIX.
2551         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2552         (Depends-on): Add isnanf-nolibm.
2553
2554         ceill-ieee tests: More tests.
2555         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
2556         (main): Add tests for [MX] shaded specification in POSIX.
2557         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2558         (Depends-on): Add isnanl-nolibm.
2559
2560         ceil-ieee tests: More tests.
2561         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
2562         (main): Add tests for [MX] shaded specification in POSIX.
2563         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2564         (Depends-on): Add isnand-nolibm.
2565
2566         ceilf-ieee tests: More tests.
2567         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
2568         (main): Add tests for [MX] shaded specification in POSIX.
2569         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2570         (Depends-on): Add isnanf-nolibm.
2571
2572         floorl-ieee tests: More tests.
2573         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
2574         (main): Add tests for [MX] shaded specification in POSIX.
2575         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2576         (Depends-on): Add isnanl-nolibm.
2577
2578         floor-ieee tests: More tests.
2579         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
2580         (main): Add tests for [MX] shaded specification in POSIX.
2581         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2582         (Depends-on): Add isnand-nolibm.
2583
2584         floorf-ieee tests: More tests.
2585         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
2586         (main): Add tests for [MX] shaded specification in POSIX.
2587         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2588         (Depends-on): Add isnanf-nolibm.
2589
2590 2012-02-26  Bruno Haible  <bruno@clisp.org>
2591
2592         fpieee: More comments.
2593         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
2594
2595 2012-02-25  Bruno Haible  <bruno@clisp.org>
2596
2597         Tests for module 'log10l'.
2598         * modules/log10l-tests: New file.
2599         * tests/test-log10l.c: New file.
2600         * tests/test-math-c++.cc: Check the declaration of log10l.
2601
2602         New module 'log10l'.
2603         * lib/math.in.h (log10l): New declaration.
2604         * lib/log10l.c: New file.
2605         * m4/log10l.m4: New file.
2606         * modules/log10l: New file.
2607         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
2608         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
2609         HAVE_DECL_LOG10L.
2610         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
2611         HAVE_DECL_LOG10L.
2612         * doc/posix-functions/log10l.texi: Mention the new module.
2613
2614 2012-02-25  Bruno Haible  <bruno@clisp.org>
2615
2616         fmodl, remainder*: Avoid wrong results due to rounding errors.
2617         * lib/fmodl.c (fmodl): Correct the result if it is not within the
2618         expected bounds.
2619         * lib/remainderf.c (remainderf): Likewise.
2620         * lib/remainder.c (remainder): Likewise.
2621         * lib/remainderl.c (remainderl): Likewise.
2622
2623 2012-02-25  Bruno Haible  <bruno@clisp.org>
2624
2625         Tests for module 'remainderl'.
2626         * modules/remainderl-tests: New file.
2627         * tests/test-remainderl.c: New file.
2628         * tests/test-math-c++.cc: Check the declaration of remainderl.
2629
2630         New module 'remainderl'.
2631         * lib/math.in.h (remainderl): New declaration.
2632         * lib/remainderl.c: New file.
2633         * m4/remainderl.m4: New file.
2634         * modules/remainderl: New file.
2635         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
2636         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
2637         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
2638         HAVE_REMAINDERL.
2639         * doc/posix-functions/remainderl.texi: Mention the new module.
2640
2641 2012-02-25  Bruno Haible  <bruno@clisp.org>
2642
2643         Tests for module 'remainderf'.
2644         * modules/remainderf-tests: New file.
2645         * tests/test-remainderf.c: New file.
2646         * tests/test-math-c++.cc: Check the declaration of remainderf.
2647
2648         New module 'remainderf'.
2649         * lib/math.in.h (remainderf): New declaration.
2650         * lib/remainderf.c: New file.
2651         * m4/remainderf.m4: New file.
2652         * modules/remainderf: New file.
2653         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
2654         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
2655         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
2656         HAVE_REMAINDERF.
2657         * doc/posix-functions/remainderf.texi: Mention the new module.
2658
2659 2012-02-25  Bruno Haible  <bruno@clisp.org>
2660
2661         remainder: Support for MSVC.
2662         * lib/math.in.h (remainder): New declaration.
2663         * lib/remainder.c: New file.
2664         * m4/remainder.m4: New file.
2665         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
2666         (Depends-on): Add math, round, fma.
2667         (configure.ac): Use results of gl_FUNC_REMAINDER.
2668         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
2669         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
2670         HAVE_DECL_REMAINDER.
2671         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
2672         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
2673         * tests/test-math-c++.cc: Check the declaration of remainder.
2674         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
2675         problems are fixed.
2676
2677 2012-02-25  Bruno Haible  <bruno@clisp.org>
2678
2679         Tests for module 'fmodl'.
2680         * modules/fmodl-tests: New file.
2681         * tests/test-fmodl.c: New file.
2682         * tests/test-math-c++.cc: Check the declaration of fmodl.
2683
2684         New module 'fmodl'.
2685         * lib/math.in.h (fmodl): New declaration.
2686         * lib/fmodl.c: New file.
2687         * m4/fmodl.m4: New file.
2688         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
2689         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
2690         REPLACE_FMODL.
2691         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
2692         REPLACE_FMODL.
2693         * modules/fmodl: New file.
2694         * doc/posix-functions/fmodl.texi: Mention the new module.
2695
2696 2012-02-25  Bruno Haible  <bruno@clisp.org>
2697
2698         Tests for module 'modfl'.
2699         * modules/modfl-tests: New file.
2700         * tests/test-modfl.c: New file.
2701         * tests/test-math-c++.cc: Check the declaration of modfl.
2702
2703         New module 'modfl'.
2704         * lib/math.in.h (modfl): New declaration.
2705         * lib/modfl.c: New file.
2706         * m4/modfl.m4: New file.
2707         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
2708         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
2709         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
2710         * modules/modfl: New file.
2711         * doc/posix-functions/modfl.texi: Mention the new module.
2712
2713 2012-02-25  Bruno Haible  <bruno@clisp.org>
2714
2715         Tests for module 'fabsl'.
2716         * modules/fabsl-tests: New file.
2717         * tests/test-fabsl.c: New file.
2718         * tests/test-math-c++.cc: Check the declaration of fabsl.
2719
2720         New module 'fabsl'.
2721         * lib/math.in.h (fabsl): New declaration.
2722         * lib/fabsl.c: New file.
2723         * m4/fabsl.m4: New file.
2724         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
2725         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
2726         REPLACE_FABSL.
2727         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
2728         REPLACE_FABSL.
2729         * modules/fabsl: New file.
2730         * doc/posix-functions/fabsl.texi: Mention the new module.
2731
2732 2012-02-25  Bruno Haible  <bruno@clisp.org>
2733
2734         fabs tests: More tests.
2735         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
2736         (zero): New variable.
2737         (main): Add tests for signed zero.
2738         * modules/fabs-tests (Files): Add tests/minus-zero.h.
2739
2740         fabsf tests: More tests.
2741         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
2742         (zero): New variable.
2743         (main): Add tests for signed zero.
2744         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
2745
2746 2012-02-24  Bruno Haible  <bruno@clisp.org>
2747
2748         atanl: Provide function definition on MSVC.
2749         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
2750         function pointer.
2751         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
2752
2753 2012-02-24  Bruno Haible  <bruno@clisp.org>
2754
2755         acosl: Provide function definition on MSVC.
2756         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
2757         function pointer.
2758         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
2759
2760 2012-02-24  Bruno Haible  <bruno@clisp.org>
2761
2762         asinl: Provide function definition on MSVC.
2763         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
2764         function pointer.
2765         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
2766
2767 2012-02-24  Bruno Haible  <bruno@clisp.org>
2768
2769         tanl: Provide function definition on MSVC.
2770         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
2771         function pointer.
2772         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
2773
2774 2012-02-24  Bruno Haible  <bruno@clisp.org>
2775
2776         cosl: Provide function definition on MSVC.
2777         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
2778         function pointer.
2779         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
2780
2781 2012-02-24  Bruno Haible  <bruno@clisp.org>
2782
2783         sinl: Provide function definition on MSVC.
2784         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
2785         function pointer.
2786         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
2787
2788 2012-02-24  Bruno Haible  <bruno@clisp.org>
2789
2790         logl: Provide function definition on MSVC.
2791         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
2792         function pointer.
2793         * lib/math.in.h (logl): Undefine if it does not exist as a function.
2794
2795 2012-02-24  Bruno Haible  <bruno@clisp.org>
2796
2797         expl: Provide function definition on MSVC.
2798         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
2799         function pointer.
2800         * lib/math.in.h (expl): Undefine if it does not exist as a function.
2801
2802 2012-02-24  Bruno Haible  <bruno@clisp.org>
2803
2804         sqrtl: Provide function definition on MSVC.
2805         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
2806         a function pointer.
2807         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
2808
2809 2012-02-24  Bruno Haible  <bruno@clisp.org>
2810
2811         ceill: Provide function definition on MSVC.
2812         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
2813         used as a function pointer.
2814         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
2815
2816 2012-02-24  Bruno Haible  <bruno@clisp.org>
2817
2818         floorl: Provide function definition on MSVC.
2819         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
2820         used as a function pointer.
2821         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
2822
2823 2012-02-24  Bruno Haible  <bruno@clisp.org>
2824
2825         ceilf: Provide function definition on MSVC.
2826         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
2827         used as a function pointer.
2828         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
2829
2830 2012-02-24  Bruno Haible  <bruno@clisp.org>
2831
2832         floorf: Provide function definition on MSVC.
2833         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
2834         used as a function pointer.
2835         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
2836
2837 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
2838
2839         stdnoreturn: new module
2840         This implements a replacement for C11's <stdnoreturn.h>.
2841         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
2842         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
2843         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
2844         * tests/test-stdnoreturn.c: New files.
2845
2846 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
2847
2848         regex: fix false multibyte matches in some regular expressions
2849         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
2850         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
2851         * lib/regex_internal.c (re_string_skip_chars):
2852         Fix miscomputation of remain_len that may cause incomplete
2853         multi-byte character and false match.
2854
2855 2012-02-24  Jim Meyering  <meyering@redhat.com>
2856
2857         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
2858         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
2859         uses with "==" *before* the call, e.g., 0 == strcmp (...)
2860         Remove now-unnecessary str''cmp obfuscation.
2861         Suggested by Akim Demaille.
2862
2863 2012-02-24  Bruno Haible  <bruno@clisp.org>
2864
2865         streq: Rename macro.
2866         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
2867         * NEWS: Mention the change.
2868         * lib/mbrtowc.c (mbrtowc): Update.
2869         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
2870         * lib/wcwidth.c (wcwidth): Update.
2871         Suggested by Akim Demaille and Jim Meyering.
2872
2873 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
2874
2875         regex: fix typo in definition of MIN
2876         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
2877         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
2878
2879 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
2880             Bruno Haible  <bruno@clisp.org>
2881
2882         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
2883         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
2884         entries into a stack-allocated buffer directly.
2885         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
2886
2887 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
2888             Bruno Haible  <bruno@clisp.org>
2889
2890         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
2891
2892          - There were several instances of this pattern:
2893
2894              for (;;) {
2895                n = acl (f, GETACLCNT, 0, NULL);
2896                [ allocate an array A of size N ]
2897                if (acl (f, GETACL, n, a) == n)
2898                  break;
2899              }
2900
2901            This loop might never terminate if some other process is constantly
2902            manipulating the file's ACL.  The loop should be rewritten to
2903            terminate.
2904
2905          - The acl (... GETACLNT ...) call is merely an optimization; its value
2906            is merely a hint as to how big to make the array.  A better
2907            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
2908            and just guess a reasonably-big size, growing the size and trying
2909            again if it's not large enough.  This guarantees termination, and
2910            saves a system call.
2911
2912         * lib/acl-internal.h: Include <limits.h>.
2913         (MIN, SIZE_MAX): New macros.
2914         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
2915         a stack-allocated buffer, and use malloc if it does not fit. Don't
2916         use GETACLCNT.
2917         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
2918
2919 2012-02-19  Bruno Haible  <bruno@clisp.org>
2920
2921         acl: Fix endless loop on Solaris with vxfs.
2922         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
2923         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
2924         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
2925         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
2926         * tests/test-sameacls.c (main)[Solaris]: Likewise.
2927         Reported by Bill Jones in
2928         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
2929
2930 2012-02-19  Bruno Haible  <bruno@clisp.org>
2931
2932         acl: Fix copy-acl test failure on Solaris 11 2011-11.
2933         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
2934         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
2935         that this function returns 0 in some more cases.
2936
2937 2012-02-19  Bruno Haible  <bruno@clisp.org>
2938
2939         acl: Update doc references.
2940         * doc/acl-resources.txt: Update links to Solaris documentation.
2941
2942 2012-02-19  Bruno Haible  <bruno@clisp.org>
2943
2944         Fix test failure in many locales on Solaris 11.
2945         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
2946         'tr' arguments.
2947         * tests/test-pipe-filter-ii1.c (main): Likewise.
2948         * build-aux/bootstrap (check_versions): Run 'tr' command with range
2949         expressions in the C locale.
2950         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
2951         * m4/host-os.m4 (gl_HOST_OS): Likewise.
2952
2953 2012-02-19  Bruno Haible  <bruno@clisp.org>
2954
2955         gnulib-tool: Improve usage message.
2956         * gnulib-tool (func_usage): Move doc of --help and --version to the
2957         section "Operation modes".
2958
2959 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
2960
2961         README-release: make it easier to execute commands
2962         * top/README-release: break commands out on to separate lines.
2963
2964 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
2965
2966         GNUmakefile: simplify detection of unconfigured trees
2967         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
2968         whether the tree make is being run from is already configured or
2969         not.  Related simplifications.
2970
2971 2012-02-13  Simon Josefsson  <simon@josefsson.org>
2972
2973         * gnulib-tool (func_usage): Document --help and --version.
2974
2975 2012-02-11  Jim Meyering  <meyering@redhat.com>
2976
2977         bootstrap: don't exit 0 upon gnulib-tool failure
2978         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
2979         its exit status, not 0.
2980
2981 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
2982
2983         README-release: various improvements
2984         * top/README-release: Give a command to push changes for the
2985         release.  Add "distcheck" to list of other pre-release checks.
2986         Fix instance of "make stable" which should be "make TYPE".
2987
2988 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
2989
2990         maint: replace FSF snail-mail addresses with URLs
2991         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
2992         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
2993         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
2994         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
2995         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
2996         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
2997         * lib/check-version.c, lib/check-version.h, lib/config.charset:
2998         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
2999         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
3000         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
3001         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
3002         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
3003         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
3004         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
3005         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
3006         * lib/glthread/thread.c, lib/glthread/thread.h:
3007         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
3008         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
3009         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
3010         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
3011         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
3012         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
3013         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
3014         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
3015         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
3016         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
3017         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
3018         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
3019         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
3020         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
3021         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
3022         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
3023         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
3024         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
3025         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
3026         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
3027         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
3028         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
3029         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
3030         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
3031         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
3032         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
3033         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
3034         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
3035         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
3036         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
3037         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
3038         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
3039         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
3040         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
3041         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
3042         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
3043         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
3044         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
3045         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
3046         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
3047         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
3048         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
3049         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
3050         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
3051         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
3052         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
3053         * tests/test-poll.c, tests/test-quotearg-simple.c:
3054         * tests/test-quotearg.c, tests/test-quotearg.h:
3055         * tests/test-round-ieee.c, tests/test-round1.c:
3056         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
3057         * tests/test-roundl-ieee.c, tests/test-roundl.c:
3058         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
3059         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
3060         * tests/test-strerror.c, tests/test-strerror_r.c:
3061         * tests/test-strsignal.c, tests/test-strverscmp.c:
3062         * tests/test-xmemdup0.c:
3063         Replace FSF snail mail addresses with URLs, as per GNU coding
3064         standards.  See glibc bug
3065         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
3066
3067 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
3068
3069         README-release: capitalize a word and split a line
3070         * top/README-release: Fix punctuation and spacing.
3071
3072 2012-02-08  Akim Demaille  <demaille@gostai.com>
3073
3074         fatal-signal: use C prototypes (with explicit void).
3075         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
3076         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
3077
3078 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
3079
3080         regex: spelling fix
3081         * lib/regexec.c: spelling fix
3082
3083         regex: rely on stdint.h for SIZE_MAX
3084         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
3085
3086 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
3087
3088         regex: merge glibc changes
3089
3090         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
3091         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
3092         (init_word_char): Work even if bitset words are not exactly 32 or
3093         64 bits wide.  Don't assume there are no padding bits.
3094         * lib/regex.c [_LIBC]: Do not include <config.h>.
3095         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
3096         and -Wtype-limits.
3097         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
3098         needless disagreement with glibc.  All uses changed.  Define it to
3099         1 only if _GNU_SOURCE, to match glibc.
3100         (_REG_RM_NAME): Remove; no longer needed, since the names in
3101         question are now all protected by __USE_GNU.
3102         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
3103         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
3104         * lib/regex_internal.h (MIN): New macro.
3105
3106         2012-01-03 Ulrich Drepper <drepper@gmail.com>
3107         * lib/regcomp.c (init_word_char): Optimize regex a bit.
3108
3109         2011-12-30 Jakub Jelinek <jakub@redhat.com>
3110         * lib/regex_internal.c (re_string_fetch_byte_case):
3111         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
3112         is miscompiled, and it turns out it is because of an incorrect
3113         attribute on re_string_fetch_byte_case.  Unlike
3114         re_string_peek_byte_case, this one is really not pure, it modifies
3115         memory (increments pstr->cur_idx), and with the pure attribute GCC
3116         assumed it doesn't and it cached the presumed value of
3117         regexp->cur_idx in a variable across the
3118          for (;; ++i)
3119            {
3120              if (i >= BRACKET_NAME_BUF_SIZE)
3121                return REG_EBRACK;
3122              if (token->type == OP_OPEN_CHAR_CLASS)
3123                ch = re_string_fetch_byte_case (regexp);
3124              else
3125                ch = re_string_fetch_byte (regexp);
3126              if (re_string_eoi(regexp))
3127                return REG_EBRACK;
3128              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
3129                break;
3130              elem->opr.name[i] = ch;
3131            }
3132
3133         2011-11-29 Andreas Schwab <schwab@redhat.com>
3134         * lib/regcomp.c (build_equiv_class):
3135         Fix access after end of search string in regex matcher.
3136
3137         2011-11-12 Ulrich Drepper <drepper@redhat.com>
3138         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
3139
3140         2011-10-12 Ulrich Drepper <drepper@redhat.com>
3141         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
3142
3143         2011-10-11 Ulrich Drepper <drepper@redhat.com>
3144         * lib/regcomp.c (parse_branch, parse_sub_exp):
3145         More regex memory leak fixes and tests.
3146         (parse_sub_exp, parse_bracket_exp):
3147         Fix memory leak for some invalid regular expressions.
3148
3149         2011-05-28 Ulrich Drepper <drepper@gmail.com>
3150         * lib/regex_internal.c, lib/regexec.c:
3151         Fix unnecessary overallocation due to incomplete character.  When
3152         incomplete characters are found at the end of a string the code
3153         ran amok and allocated lots of memory.  Stricter limits are now in
3154         place.
3155
3156         2011-05-20 Reuben Thomas <rrt@sc3d.org>
3157         * lib/regex.h: Update documentation.
3158
3159         2011-05-16 Aharon Robbins <arnold@skeeve.com>
3160         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
3161
3162         2010-05-05 Andreas Schwab <schwab@redhat.com>
3163         * lib/regexec.c (find_collation_sequence_value):
3164         Fix lookup of collation sequence value during regexp matching.
3165
3166         2010-01-22 Ulrich Drepper <drepper@redhat.com>
3167         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
3168
3169         2008-01-16 Ulrich Drepper <drepper@redhat.com>
3170         * lib/regex.h: Cleanup namespace.
3171
3172         2007-11-26 Ulrich Drepper <drepper@redhat.com>
3173         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
3174
3175         2007-08-26 Ulrich Drepper <drepper@redhat.com>
3176         * lib/regex_internal.h: Prevent some declarations and definitions
3177         to be seen when used in tests.
3178
3179         2005-05-06 Ulrich Drepper <drepper@redhat.com>
3180         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
3181         __libc_lock_* macros if not _LIBC.
3182         (struct re_dfa_t): Add lock.
3183
3184 2012-02-07  Eric Blake  <eblake@redhat.com>
3185
3186         maint.mk: also prohibit lower-case @var@
3187         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
3188         lower case, like @top_srcdir@.
3189
3190 2012-02-04  Eric Blake  <eblake@redhat.com>
3191
3192         canonicalize: avoid uninitialized memory use
3193         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
3194         random '/' left in dest.
3195         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
3196
3197 2012-02-04  Bruno Haible  <bruno@clisp.org>
3198
3199         isatty: Fix test failure of ptsname_r on native Windows.
3200         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
3201         and don't set errno.
3202         (isatty): Test first whether fd is valid. Set errno when returning 0.
3203
3204 2012-02-04  Bruno Haible  <bruno@clisp.org>
3205
3206         spawn-pipe tests: Fix a NULL program name in a diagnostic.
3207         * tests/test-spawn-pipe-main.c: Include progname.h.
3208         (main): Invoke set_program_name.
3209         * modules/spawn-pipe-tests (Depends-on): Add progname.
3210
3211         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
3212         * tests/test-nonblocking-socket-main.c: Include progname.h.
3213         (main): Invoke set_program_name.
3214         * modules/nonblocking-socket-tests (Depends-on): Add progname.
3215
3216         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
3217         * tests/test-nonblocking-pipe-main.c: Include progname.h.
3218         (main): Invoke set_program_name.
3219         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
3220
3221 2012-02-04  Eric Blake  <eblake@redhat.com>
3222
3223         canonicalize-lgpl: fix // handling
3224         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
3225
3226         canonicalize: fix // handling
3227         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
3228         /// to //, since only // is special.
3229
3230 2012-02-04  Bruno Haible  <bruno@clisp.org>
3231
3232         ioctl: Fix test failure on native Windows.
3233         * lib/ioctl.c: Include msvc-nothrow.h.
3234         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
3235
3236 2012-02-04  Bruno Haible  <bruno@clisp.org>
3237
3238         fsync: Avoid test failure on native Windows.
3239         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
3240         read-only.
3241
3242 2012-02-04  Bruno Haible  <bruno@clisp.org>
3243
3244         sys_select: Avoid syntax error on OpenBSD 5.0.
3245         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
3246         currently being included, just include the system's <sys/select.h>.
3247
3248 2012-02-04  Bruno Haible  <bruno@clisp.org>
3249
3250         sys_select: Avoid syntax error on OpenBSD 5.0.
3251         * lib/sys_select.in.h: Include <signal.h> only after the include_next
3252         <sys/select.h>, not before.
3253         Reported by Jiri B <jirib@devio.us>.
3254
3255 2012-02-04  Bruno Haible  <bruno@clisp.org>
3256
3257         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
3258         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
3259         global variables.
3260         * tests/test-get-rusage-data.c (main): Likewise.
3261         Reported by Jim Meyering.
3262
3263 2012-02-04  Bruno Haible  <bruno@clisp.org>
3264
3265         stdioext: Fix last commit.
3266         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
3267
3268 2012-02-03  Bruno Haible  <bruno@clisp.org>
3269
3270         stdioext: Add tentative support for Plan9.
3271         * lib/stdio-impl.h: Include <errno.h>.
3272         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
3273         * lib/freadable.c (freadable): Likewise.
3274         * lib/fwritable.c (fwritable): Likewise.
3275         * lib/fbufmode.c (fbufmode): Likewise.
3276         * lib/freading.c (freading): Likewise.
3277         * lib/fwriting.c (fwriting): Likewise.
3278         * lib/freadptr.c (freadptr): Likewise.
3279         * lib/freadseek.c (freadptrinc): Likewise.
3280         * lib/freadahead.c (freadahead): Likewise.
3281         * lib/fpurge.c (fpurge): Likewise.
3282         * lib/fseeko.c (rpl_fseeko): Likewise.
3283         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
3284         Reported by Jens Staal <staal1978@gmail.com>.
3285
3286 2012-02-02  Jim Meyering  <meyering@redhat.com>
3287
3288         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
3289         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
3290         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
3291         not even to try to add the attribute.  Instead, add a pragma to suppress
3292         the suggestion/warning.
3293
3294 2012-01-31  Karl Berry  <karl@gnu.org>
3295
3296         setstate doc: typo.
3297         * doc/posix-functions/setstate.texi (setstate): { not (.
3298
3299 2012-01-31  Bruno Haible  <bruno@clisp.org>
3300
3301         popen: Make more robust on Windows.
3302         * lib/popen.c: On native Windows, use the _popen based code even if
3303         HAVE_POPEN is set.
3304         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
3305         environment variable on native Windows.
3306
3307 2012-01-30  Bruno Haible  <bruno@clisp.org>
3308
3309         pclose: Fix typo.
3310         * lib/stdio.in.h (pclose): Fix typo in warning message.
3311
3312 2012-01-30  Bruno Haible  <bruno@clisp.org>
3313
3314         doc about getlogin_r, setstate.
3315         * doc/posix-functions/getlogin_r.texi: List the incompatible
3316         declaration problem under "not fixed by gnulib".
3317         * doc/posix-functions/setstate.texi: Mention incompatible declaration
3318         problem on Solaris 11 and other platforms.
3319
3320 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
3321             Bruno Haible  <bruno@clisp.org>
3322
3323         poll tests: Make test more robust.
3324         * tests/test-poll.c: Include macros.h.
3325         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
3326         return value of various I/O operations.
3327         * modules/poll-tests (Files): Add tests/macros.h.
3328
3329 2012-01-30  Bruno Haible  <bruno@clisp.org>
3330
3331         sys_stat: Fix support for mingw64 and MSVC.
3332         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
3333         header files already do it.
3334         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
3335         stat itself.
3336         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
3337
3338 2012-01-30  Bruno Haible  <bruno@clisp.org>
3339
3340         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
3341         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
3342         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
3343
3344 2012-01-29  Bruno Haible  <bruno@clisp.org>
3345
3346         quotearg: Fix test failure on MacOS X 10.5.
3347         * tests/test-quotearg-simple.c: Include localcharset.h.
3348         (main): If the locale encoding is not ASCII, bypass the tests of
3349         locale_quoting_style and clocale_quoting_style.
3350         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
3351
3352 2012-01-29  Jim Meyering  <meyering@redhat.com>
3353
3354         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
3355         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
3356         detect uses of canonicalize_file_name.
3357
3358 2012-01-28  Bruno Haible  <bruno@clisp.org>
3359
3360         test-framework-sh: Fix test failure with AIX 7.1 diff.
3361         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
3362         in column 1, like 'diff -c' does.
3363         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
3364         whether 'diff -u' is used. Instead, test whether the output contains
3365         some '@' character.
3366
3367 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
3368
3369         strtoimax: eliminate need for stdint.h, inttypes.h checks
3370         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
3371         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
3372         the prerequisites for a recently-introduced strtoimax test.
3373         I guess this might cause strtoimax to be replaced when not
3374         strictly necessary on older hosts, but this shouldn't introduce
3375         any bugs and it should make Emacs 'configure' faster on typical
3376         modern hosts.  Problem discovered when importing the latest gnulib
3377         to an Emacs test version.
3378         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
3379
3380 2012-01-28  Bruno Haible  <bruno@clisp.org>
3381
3382         sys_time: Override 'struct timeval' on some native Windows platforms.
3383         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
3384         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
3385         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
3386         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
3387         needs to be overridden.
3388         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
3389         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
3390         * tests/test-sys_select.c: Check that the tv_sec member has the same
3391         size as a 'time_t'.
3392         * tests/test-sys_time.c: Likewise.
3393         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
3394         is set, set also REPLACE_GETTIMEOFDAY.
3395         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
3396         convert the resulting 'struct timeval' before returning.
3397         * lib/select.c: Include <sys/time.h>.
3398         (select, timeval): Undefine at the right place.
3399         * modules/select (Depends-on): Add sys_time.
3400         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
3401         some Windows platforms.
3402         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
3403
3404 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
3405
3406         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
3407         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
3408         an integer.
3409         * lib/fcntl.c (dupfd): Likewise.
3410         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
3411
3412 2012-01-28  Bruno Haible  <bruno@clisp.org>
3413
3414         fcntl: Avoid compilation error on native Windows.
3415         * modules/fcntl (Depends-on): Add 'close'.
3416
3417 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
3418
3419         select, poll, isatty: Avoid warnings on x86_64 mingw64.
3420         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
3421         pointer to an integer.
3422         * lib/poll.c (IsConsoleHandle): Likewise.
3423         * lib/isatty.c (IsConsoleHandle): Likewise.
3424
3425 2012-01-28  Jim Meyering  <meyering@redhat.com>
3426
3427         doc: clarify README-release
3428         * top/README-release: Clarify: you should make a point to have
3429         the latest stable versions of build tools in your PATH, and the
3430         reference to buildreq is solely for its list of tool names, not
3431         for its minimal-functional version numbers.
3432         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
3433
3434         maint.mk: use more readable (yet functionally equivalent) quoting
3435         It is common to quote a single quote in a single quoted string like
3436         this:  '...'\''...'.  Unless you know the idiom, that looks like
3437         gibberish, so prefer to double-quote the string when possible.
3438         Then you can use a more readable, lone single quote: "...'..."
3439         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
3440         "don't" is more readable than the equivalent 'don'\''t'.
3441         (sc_cast_of_x_alloc_return_value): Likewise.
3442         (sc_cast_of_alloca_return_value): Likewise.
3443         (sc_makefile_path_separator_check): Similar: use ":" in '...',
3444         rather than '\'':'\''.
3445
3446 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
3447
3448         stdalign: relax _Alignof and tighten _Alignas test
3449         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
3450         as it was too strict: alignof must divide offsetof, but it need
3451         not equal offsetof.  Inspired by Joseph S. Myers's comment
3452         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
3453         Conversely, tighten the _Alignas test a bit, as the resulting
3454         alignment must be exactly 8.
3455
3456 2012-01-27  Bruno Haible  <bruno@clisp.org>
3457
3458         stdalign: Document the last change.
3459         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
3460
3461 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
3462
3463         stdalign: check that alignof and offsetof are consistent
3464         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
3465         Problem reported for gnulib by Richard W.M. Jones in
3466         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
3467
3468 2012-01-27  Jim Meyering  <meyering@redhat.com>
3469
3470         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
3471         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
3472         convert a sequence with gaps to the minimal containing range.
3473         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
3474         * tests/test-update-copyright.sh: Test for this.
3475         The FSF confirmed it is ok to do this, assuming there is at
3476         least one significant change per year in the affected range:
3477         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
3478
3479 2012-01-26  Bruno Haible  <bruno@clisp.org>
3480
3481         pipe2: refine doc about thread-safety
3482         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
3483         multithread-safety problem.
3484         * doc/glibc-functions/accept4.texi: Likewise.
3485
3486 2012-01-26  Bruno Haible  <bruno@clisp.org>
3487
3488         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
3489         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
3490         In the test program, include <fcntl.h>, for O_RDONLY.
3491
3492 2012-01-26  Eric Blake  <eblake@redhat.com>
3493
3494         pipe2: document lack of thread-safety in replacement
3495         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
3496         issue in replacement.
3497         * doc/glibc-functions/accept4.texi (accept4): Likewise.
3498         Based on a report by Eric Wong.
3499
3500 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
3501             Bruno Haible  <bruno@clisp.org>
3502
3503         malloca: Avoid warnings on x86_64 mingw64.
3504         * lib/malloca.c: Include <stdint.h>.
3505         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
3506         * modules/malloca (Depends-on): Add stdint.
3507         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
3508
3509 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
3510
3511         obstack: remove __STDC__ conditionals
3512         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
3513         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
3514         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
3515         m4/include_next.m4 as the only gnulib-maintained places that still
3516         refer to __STDC__.
3517
3518 2012-01-24  Bruno Haible  <bruno@clisp.org>
3519
3520         havelib: Modern quoting.
3521         * build-aux/config.rpath: Quote 'like this', not `like this', as per
3522         the recent change to the GNU coding standards.
3523
3524 2012-01-24  Bruno Haible  <bruno@clisp.org>
3525
3526         stdint: Improve support for Android.
3527         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
3528         Reported by Simon Josefsson <simon@josefsson.org>.
3529
3530 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
3531
3532         doc: omit trailing empty lines from INSTALL etc.
3533         * doc/Makefile (INSTALL): Omit trailing empty lines.
3534         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
3535         omit trailing empty lines.  This simplifies the build procedure.
3536
3537 2012-01-23  Jim Meyering  <meyering@redhat.com>
3538
3539         tests: avoid spurious warnings about gl_sockets_startup
3540         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
3541         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
3542         reporting a "statement with no effect".
3543         * tests/test-accept.c (main): Mark as "(void)".
3544         * tests/test-accept4.c (main): Likewise.
3545         * tests/test-bind.c (main): Likewise.
3546         * tests/test-connect.c (main): Likewise.
3547         * tests/test-getpeername.c (main): Likewise.
3548         * tests/test-getsockname.c (main): Likewise.
3549         * tests/test-getsockopt.c (main): Likewise.
3550         * tests/test-listen.c (main): Likewise.
3551         * tests/test-recv.c (main): Likewise.
3552         * tests/test-recvfrom.c (main): Likewise.
3553         * tests/test-send.c (main): Likewise.
3554         * tests/test-sendto.c (main): Likewise.
3555         * tests/test-setsockopt.c (main): Likewise.
3556         * tests/test-shutdown.c (main): Likewise.
3557
3558 2012-01-21  Bruno Haible  <bruno@clisp.org>
3559
3560         locale-fr.m4: Fix for Android.
3561         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
3562         failure of the test program on Bionic libc.
3563
3564 2012-01-21  Jim Meyering  <meyering@redhat.com>
3565
3566         bootstrap: fail when bootstrap_post_import_hook fails
3567         Otherwise, it's far too easy to miss diagnostics emitted
3568         between gnulib-tool's output and that of running configure.
3569         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
3570
3571 2012-01-17  Jim Meyering  <meyering@redhat.com>
3572
3573         maint: enable sc_trailing_blank
3574         * build-aux/pmccabe.css: Remove trailing blanks.
3575         * doc/acl-cygwin.txt: Likewise.
3576         * doc/gnu-oids.texi: Likewise
3577         * cfg.mk: Enable sc_trailing_blank.
3578         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
3579
3580 2012-01-17  Jim Meyering  <meyering@redhat.com>
3581
3582         maint: enable sc_prohibit_openat_without_use
3583         * cfg.mk: Enable sc_prohibit_openat_without_use.
3584         Exempt lib/selinux-at.c.
3585
3586 2012-01-17  Jim Meyering  <meyering@redhat.com>
3587
3588         maint: enable sc_prohibit_cloexec_without_use
3589         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
3590         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
3591
3592 2012-01-17  Jim Meyering  <meyering@redhat.com>
3593
3594         maint: enable sc_prohibit_intprops_without_use
3595         * cfg.mk: Enable sc_prohibit_intprops_without_use
3596         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
3597
3598 2012-01-17  Jim Meyering  <meyering@redhat.com>
3599
3600         maint: enable sc_prohibit_hash_pjw_without_use
3601         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
3602         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
3603         to match any use of \<hash_pjw\>, i.e., not necessarily with a
3604         following " (".
3605
3606 2012-01-17  Jim Meyering  <meyering@redhat.com>
3607
3608         maint: enable double-word-prohibiting rule
3609         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
3610         Exempt three files.
3611
3612 2012-01-17  Jim Meyering  <meyering@redhat.com>
3613
3614         maint: remove empty lines at EOF, but excluding modules/*
3615         Apply syntax rules at home as well as abroad.  Most changes
3616         were induced by running this:
3617           make srcdir=. _build-aux=build-aux -f top/maint.mk \
3618             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
3619             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
3620         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
3621         Exempt modules/* and two binary files.
3622         Also exempt doc/INSTALL*, per request from Bruno Haible.
3623         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
3624         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
3625         * doc/Copyright/request-assign.future: Likewise.
3626         * doc/Copyright/request-disclaim.changes: Likewise.
3627         * doc/INSTALL: Likewise.
3628         * doc/INSTALL.ISO: Likewise.
3629         * doc/INSTALL.UTF-8: Likewise.
3630         * doc/acl-cygwin.txt: Likewise.
3631         * doc/acl-resources.txt: Likewise.
3632         * doc/fdl-1.2.texi: Likewise.
3633         * doc/fdl-1.3.texi: Likewise.
3634         * doc/fdl.texi: Likewise.
3635         * lib/argp-pin.c: Likewise.
3636         * lib/round.c: Likewise.
3637         * lib/unicase/u16-totitle.c: Likewise.
3638         * lib/unictype/block_test.c: Likewise.
3639         * lib/uninorm/canonical-decomposition.c: Likewise.
3640         * m4/README: Likewise.
3641         * m4/relocatable-lib.m4: Likewise.
3642         * tests/test-isnand-nolibm.c: Likewise.
3643         * tests/test-isnand.c: Likewise.
3644         * tests/uninorm/NormalizationTest.txt: Likewise.
3645
3646 2012-01-17  Jim Meyering  <meyering@redhat.com>
3647
3648         maint: add framework to run syntax-check rules against gnulib sources
3649         * cfg.mk: New file, to disable all currently-failing tests.
3650         We'll enable them one by one, as they are made to pass.
3651         * Makefile (sc_maint): New rule.
3652
3653 2012-01-21  Bruno Haible  <bruno@clisp.org>
3654
3655         stdint: Add support for Android.
3656         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
3657         include the system's <stdint.h>.
3658         Reported by Simon Josefsson <simon@josefsson.org>.
3659
3660 2012-01-19  Jim Meyering  <meyering@redhat.com>
3661
3662         bootstrap: add bootstrap_post_import_hook
3663         Bison does still need something like the gnulib_mk_hook whose
3664         invocation I had to remove along with slurp in commit 767ccd40.
3665         Technically, we could get along without it, but doing so would
3666         have required living with a warning and a mandatory post-bootstrap
3667         automake rerun.
3668         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
3669         (bootstrap_post_import_hook): New function.
3670         Invoke it after gnulib-tool --import and before autoreconf.
3671
3672 2012-01-18  Jim Meyering  <meyering@redhat.com>
3673
3674         gitlog-to-changelog: don't use "no_"-prefixed variable name
3675         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
3676         to enable both --cluster and --no-cluster.  Change variable name,
3677         s/\$no_cluster/$cluster/, and reverse usage to match.
3678
3679         gitlog-to-changelog: use "||", not "or" in expressions
3680         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
3681         expressions.
3682
3683 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
3684
3685         gitlog-to-changelog: new option --no-cluster
3686         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
3687         clustering of adjacent commit messages.
3688
3689 2012-01-17  Jim Meyering  <meyering@redhat.com>
3690
3691         maint: spell file systems with two words, not one
3692         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
3693         two words, not one.
3694
3695 2012-01-16  Jim Meyering  <meyering@redhat.com>
3696
3697         bootstrap: add a FIXME comment to ensure we eventually remove the hack
3698         * build-aux/bootstrap (gnulib_tool_options): Add comment.
3699
3700 2012-01-16  Eric Blake  <eblake@redhat.com>
3701
3702         bootstrap: cater to autoconf 2.59
3703         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
3704         is not available.
3705
3706         bootstrap: properly check for libtool
3707         * build-aux/bootstrap (libtoolize): Also run libtool when older
3708         usage is detected.
3709
3710 2012-01-15  Bruno Haible  <bruno@clisp.org>
3711
3712         Improve support for MSVC 9.
3713         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
3714         clashes on MSVC.
3715         * lib/fcntl.in.h: Likewise.
3716         * lib/stdlib.in.h: Likewise.
3717         * lib/sys_stat.in.h: Likewise.
3718
3719 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
3720
3721         gnupload: we hold the master copy of this script now
3722         For motivation and more information, see:
3723         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
3724         * build-aux/gnupload: Make it clear in the heading comments that the
3725         master copy of this file is maintained by gnulib.  Since we are at
3726         it, bump its copyright year and ...
3727         ($scriptversion): ... the date in its version.
3728         ($usage): Patches and bug reports should be sent to the gnulib list,
3729         not the automake one.
3730         * config/srclist.txt: Don't try to sync 'gnupload' from automake
3731         anymore.
3732
3733 2012-01-15  Bruno Haible  <bruno@clisp.org>
3734
3735         Fix module 'random'.
3736         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
3737         initstate, setstate are declared.
3738
3739 2012-01-14  Bruno Haible  <bruno@clisp.org>
3740
3741         Tests for module 'random'.
3742         * modules/random-tests: New file.
3743         * tests/test-random.c: New file, based on tests/test-random_r.c.
3744
3745         New module 'random'.
3746         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
3747         declarations.
3748         * lib/random.c: New file, based on glibc/stdlib/random.c.
3749         * m4/random.m4: New file.
3750         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
3751         HAVE_RANDOM.
3752         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
3753         * modules/random: New file.
3754         * config/srclist.txt: Add an entry for random.c.
3755         * doc/posix-functions/random.texi: Mention the 'random' module.
3756         * doc/posix-functions/initstate.texi: Likewise.
3757         * doc/posix-functions/setstate.texi: Likewise.
3758         * doc/posix-functions/srandom.texi: Likewise.
3759
3760 2012-01-12  Bruno Haible  <bruno@clisp.org>
3761
3762         random_r: Use common idioms.
3763         * lib/random_r.c: Include <stdlib.h> first.
3764
3765         random_r: Override incompatible API on AIX, OSF/1.
3766         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
3767         Override the system function if REPLACE_RANDOM_R is 1.
3768         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
3769         and OSF/1, set REPLACE_RANDOM_R.
3770         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
3771         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
3772         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
3773         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
3774         * doc/glibc-functions/random_r.texi: Likewise.
3775         * doc/glibc-functions/setstate_r.texi: Likewise.
3776
3777         random_r: Support for MSVC 9.
3778         * lib/random_r.c: Include stdint.h, not inttypes.h.
3779
3780 2012-01-12  Eric Blake  <eblake@redhat.com>
3781
3782         inet_ntop: guard extra work by IF_LINT
3783         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
3784         better code generation when not checking for warnings.
3785         Suggested by Paul Eggert and Jim Meyering.
3786
3787         strptime: fix regression on mingw
3788         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
3789         Fix regression.  Reported by Bruno Haible.
3790
3791 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
3792             Bruno Haible  <bruno@clisp.org>
3793
3794         copy-file: add error-code-returning variant.
3795         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
3796         (qcopy_file_preserving): New declaration.
3797         * lib/copy-file.c (qcopy_file_preserving): Renamed from
3798         copy_file_preserving. Change return type to 'int'. Don't emit an error
3799         message here.
3800         (copy_file_preserving): New function.
3801         * tests/test-copy-file.c: Include <stdlib.h>.
3802         (main): Test qcopy_file_preserving if the environment variable
3803         NO_STDERR_OUTPUT is set.
3804         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
3805         with NO_STDERR_OUTPUT
3806         * tests/test-copy-file-2.sh: Likewise.
3807
3808 2012-01-10  Bruno Haible  <bruno@clisp.org>
3809
3810         copy-file: Use 'quote' module consistently.
3811         * lib/copy-file.c (copy_file_preserving): Use quote().
3812
3813         copy-file: Refactor.
3814         * lib/copy-file.c: Include quote.h.
3815         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
3816         message here.
3817         * modules/copy-file (Depends-on): Add quote.
3818
3819         acl: Export qcopy_acl.
3820         * lib/acl.h (qcopy_acl): New declaration.
3821         * lib/copy-acl.c (qcopy_acl): Make non-static.
3822
3823         acl: Rename a local variable.
3824         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
3825
3826         acl: Align return values of copy_acl and qcopy_acl.
3827         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
3828         maybe < -1.
3829
3830 2012-01-11  Eric Blake  <eblake@redhat.com>
3831
3832         strptime: silence gcc warnings
3833         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
3834         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
3835         Reported by Daniel P. Berrange.
3836
3837         inet_ntop: silence gcc warning
3838         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
3839         Reported by Daniel P. Berrange.
3840
3841 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
3842
3843         getloadavg test: skip the test on GNU/Linux without /proc mounted
3844         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
3845         file.  When /proc is not mounted, it always fails with ENOENT.
3846         * tests/test-getloadavg.c (main): Treat ENOENT return code from
3847         getloadavg(3) the same way as ENOSYS and ENOTSUP.
3848
3849 2012-01-10  Bruno Haible  <bruno@clisp.org>
3850
3851         regex: Avoid link error on MSVC 9.
3852         * modules/regex (Depends-on): Add wctype.
3853
3854 2012-01-10  Bruno Haible  <bruno@clisp.org>
3855
3856         doc: Mention --with-tests option.
3857         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
3858         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
3859         --with-tests.
3860         Reported by Reuben Thomas.
3861
3862 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
3863
3864         users.txt: order package names lexicographically.
3865         * users.txt: Order package names lexicographically.
3866
3867 2012-01-10  Jim Meyering  <meyering@redhat.com>
3868
3869         maint.mk: fix description in comment
3870         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
3871
3872         ignore-value: remove deprecated ignore_ptr function
3873         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
3874         * NEWS: Note this.
3875
3876 2012-01-09  Jim Meyering  <meyering@redhat.com>
3877
3878         test-init.sh: avoid a subshell
3879         * tests/test-init.sh: Remove protective subshell.
3880         Suggested by Bernhard Voelker.  While a subshell is normally
3881         required to protect against older shells (Solaris, FreeBSD) that
3882         warn about a missing program before performing redirection, the
3883         shell-selection tests performed by init.sh probably exclude any
3884         offending shell.
3885
3886 2012-01-08  Bruno Haible  <bruno@clisp.org>
3887
3888         setlocale tests: Avoid test failure on Solaris 11 2011-11.
3889         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
3890         variable.
3891
3892 2012-01-08  Bruno Haible  <bruno@clisp.org>
3893
3894         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
3895         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3896         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
3897         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
3898         macro.
3899         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
3900         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
3901         * lib/spawn_faction_addopen.c: Add workaround implementation if
3902         HAVE_WORKING_POSIX_SPAWN.
3903         * modules/spawn (Makefile): Substitute
3904         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
3905         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
3906         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
3907         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
3908         (Depends-on): Update conditions.
3909         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
3910         the Solaris 11 bug.
3911
3912 2012-01-08  Bruno Haible  <bruno@clisp.org>
3913
3914         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
3915         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3916         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
3917         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
3918         macro.
3919         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
3920         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
3921         * lib/spawn_faction_adddup2.c: Add workaround implementation if
3922         HAVE_WORKING_POSIX_SPAWN.
3923         * modules/spawn (Makefile): Substitute
3924         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
3925         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
3926         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
3927         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
3928         (Depends-on): Update conditions.
3929         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
3930         the Solaris 11 bug.
3931
3932 2012-01-08  Bruno Haible  <bruno@clisp.org>
3933
3934         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
3935         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3936         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
3937         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
3938         HAVE_WORKING_POSIX_SPAWN.
3939         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
3940         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
3941         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
3942         * lib/spawn_faction_addclose.c: Add workaround implementation if
3943         HAVE_WORKING_POSIX_SPAWN.
3944         * modules/spawn (Makefile): Substitute
3945         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
3946         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
3947         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
3948         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
3949         (Depends-on): Update conditions.
3950         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
3951         the Solaris 11 bug.
3952
3953 2012-01-08  Bruno Haible  <bruno@clisp.org>
3954
3955         doc: Update for Solaris 11 2011-11.
3956         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
3957         * m4/printf.m4: Update comments.
3958
3959 2012-01-08  Bruno Haible  <bruno@clisp.org>
3960
3961         mktime: Avoid compilation error on Solaris 11.
3962         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
3963
3964 2012-01-08  Bruno Haible  <bruno@clisp.org>
3965
3966         doc: Small fix.
3967         * doc/posix-headers/nl_types.texi: Correct platforms list.
3968
3969 2012-01-08  Simon Josefsson  <simon@josefsson.org>
3970
3971         Add lgpl-3.0 module.
3972         * MODULES.html.sh (Support for building documentation): Add
3973         lgpl-3.0.
3974         * modules/lgpl-3.0: New file.
3975
3976 2012-01-08  Jim Meyering  <meyering@redhat.com>
3977
3978         select.c: indent with spaces, not TABs
3979         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
3980
3981 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3982
3983         quotearg: do not use grave accent for left quote
3984         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
3985         locale_quoting_style.
3986         (quotearg_buffer_restyled): Fix example.
3987         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
3988
3989 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3990
3991         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
3992         Most programs do not have translation catalogs for English and much
3993         less separate catalogs for British and American English.  Drop the
3994         suggestion to translators about these two, and provide it
3995         automatically for Unicode locales.  Like most programs, even those
3996         using American English, we use single quotation marks.  This conflicts
3997         with the American typographic convention, but works better when you
3998         cite the entire error message within double quotes.  It also tries not
3999         to clash with established practice and with what non-gnulib programs
4000         will usually do.
4001         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
4002         using an UTF-8 or GB-18030 locale.  The list of other locales with
4003         quotes was provided by Bruno Haible.
4004         (quotearg_buffer_restyled): Adjust instructions to translators.
4005         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
4006         text, since this would be wrong when using Unicode.
4007         * modules/quotearg: Depend on c-strcaseeq.
4008
4009 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
4010
4011         quotearg: fix Wikipedia link
4012         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
4013
4014 2012-01-07  Simon Josefsson  <simon@josefsson.org>
4015
4016         Fix for mingw with MSVC9.
4017         * m4/ld-version-script.m4: Check that compiler rejects version
4018         scripts with syntax errors.  Reported by Bruno Haible
4019         <bruno@clisp.org>.
4020
4021 2012-01-06  Bruno Haible  <bruno@clisp.org>
4022
4023         Talk about "native Windows API", not "Woe32".
4024         * lib/accept4.c: Update comments to mention native Windows.
4025         * lib/execute.c: Likewise.
4026         * lib/fatal-signal.c: Likewise.
4027         * lib/localcharset.c: Likewise.
4028         * lib/nanosleep.c: Likewise.
4029         * lib/nl_langinfo.c: Likewise.
4030         * lib/pclose.c: Likewise.
4031         * lib/pipe-filter-gi.c: Likewise.
4032         * lib/pipe-filter-ii.c: Likewise.
4033         * lib/pipe.c: Likewise.
4034         * lib/pipe2.c: Likewise.
4035         * lib/popen.c: Likewise.
4036         * lib/progreloc.c: Likewise.
4037         * lib/relocatable.c: Likewise.
4038         * lib/sigaction.c: Likewise.
4039         * lib/sigprocmask.c: Likewise.
4040         * lib/spawn-pipe.h: Likewise.
4041         * lib/spawn-pipe.c: Likewise.
4042         * lib/spawni.c: Likewise.
4043         * lib/stat-time.h: Likewise.
4044         * lib/w32spawn.h: Likewise.
4045         * tests/test-isatty.c: Likewise.
4046         * lib/config.charset: More comments.
4047         * doc/gnulib-intro.texi: Mention native Windows.
4048         * doc/posix-functions/_Exit_C99.texi: Likewise.
4049         * doc/posix-headers/fcntl.texi: Likewise.
4050
4051 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
4052
4053         argp: Avoid crash if translator uses % characters in a translation.
4054         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
4055         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
4056
4057 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
4058
4059         doc: C11 and C++11 are now official
4060         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
4061         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
4062         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
4063         * modules/stdalign:
4064         Replace references to draft C1X to C11, and to draft C++0X to C++11.
4065
4066 2012-01-06  Bruno Haible  <bruno@clisp.org>
4067
4068         uc-is-grapheme-break tests: Tweak.
4069         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
4070         message.
4071
4072 2012-01-06  Bruno Haible  <bruno@clisp.org>
4073
4074         test-init.sh: correct the test for diff -u
4075         * tests/test-init.sh: Also redirect stdout to /dev/null.
4076
4077 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
4078
4079         Use ', not `, for quoting output.
4080         * build-aux/announce-gen (usage, sizes, print_news_deltas)
4081         (print_changelog_deltas, get_tool_versions, main program):
4082         * build-aux/git-version-gen:
4083         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
4084         * build-aux/move-if-change (help):
4085         * build-aux/useless-if-before-free (usage, main program):
4086         * check-module (parse_module_file, usage)
4087         (find_included_lib_files, check_module):
4088         * lib/argmatch.c (main) [TEST]:
4089         * lib/argp-help.c (_help):
4090         * lib/getopt1.c (main) [TEST]:
4091         * lib/git-merge-changelog.c (usage):
4092         * lib/xstrtol-error.c (xstrtol_error):
4093         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
4094         * m4/argz.m4 (gl_FUNC_ARGZ):
4095         * m4/bison.m4 (gl_BISON):
4096         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
4097         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
4098         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
4099         * m4/fpending.m4 (gl_PREREQ_FPENDING):
4100         * m4/gc-random.m4 (gl_GC_RANDOM):
4101         * m4/intl.m4 (gt_CHECK_DECL):
4102         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
4103         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
4104         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
4105         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
4106         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
4107         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
4108         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
4109         * tests/test-dirname.c (main):
4110         * tests/test-getpass.c (main):
4111         * tests/test-iconvme.c (main):
4112         * tests/test-parse-datetime.c (LOG):
4113         * tests/test-xstrtoimax.sh:
4114         * tests/test-xstrtol.sh:
4115         * tests/test-xstrtoll.sh:
4116         * tests/test-xstrtoumax.sh:
4117         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
4118         * top/GNUmakefile (abort-due-to-no-makefile):
4119         Quote 'like this', not `like this', as per the recent change to
4120         the GNU coding standards.
4121
4122 2012-01-05  Bruno Haible  <bruno@clisp.org>
4123
4124         strtoimax: Don't force a replacement on systems where intmax_t is int.
4125         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
4126         'intmax_t' is not larger than 'int'.
4127         Reported by Pádraig Brady <P@draigBrady.com>.
4128
4129 2012-01-05  Bruno Haible  <bruno@clisp.org>
4130
4131         doc: Mention NetBSD bugs.
4132         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
4133         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
4134
4135 2012-01-05  Bruno Haible  <bruno@clisp.org>
4136
4137         strtoumax tests: Enhance tests.
4138         * tests/test-strtoumax.c (main): Add tests for large values.
4139
4140 2012-01-05  Bruno Haible  <bruno@clisp.org>
4141
4142         strtoimax: Work around AIX 5.1 bug.
4143         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
4144         definition.
4145         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
4146         Set HAVE_STRTOIMAX.
4147         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
4148         REPLACE_STRTOIMAX.
4149         * modules/inttypes-incomplete (Makefile.am): Substitute
4150         REPLACE_STRTOIMAX.
4151         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
4152         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
4153         (Depends-on): Update conditions.
4154         * tests/test-strtoimax.c (main): Add tests for large values.
4155         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
4156
4157 2012-01-05  Bruno Haible  <bruno@clisp.org>
4158
4159         inttypes: Modernize.
4160         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
4161         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
4162         (Makefile.am): Update inttypes.h rule.
4163
4164 2012-01-05  Jim Meyering  <meyering@redhat.com>
4165
4166         init.sh: don't waste a subshell just to redirect stderr
4167         * tests/init.sh: In testing for diff -u and diff -c, use a
4168         stderr-redirecting exec inside `...` rather than a subshell.
4169
4170         test-init.sh: avoid failure on HP-UX 11.00
4171         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
4172         resolves to diff -c or cmp.  Reported by Bruno Haible.
4173
4174 2012-01-05  Bruno Haible  <bruno@clisp.org>
4175
4176         Tests for module 'strtoull'.
4177         * modules/strtoull-tests: New file.
4178         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
4179
4180 2012-01-05  Bruno Haible  <bruno@clisp.org>
4181
4182         Tests for module 'strtoll'.
4183         * modules/strtoll-tests: New file.
4184         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
4185
4186 2012-01-05  Bruno Haible  <bruno@clisp.org>
4187
4188         Tests for module 'strtoul'.
4189         * modules/strtoul-tests: New file.
4190         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
4191
4192 2012-01-05  Bruno Haible  <bruno@clisp.org>
4193
4194         Tests for module 'strtol'.
4195         * modules/strtol-tests: New file.
4196         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
4197
4198 2012-01-04  Jim Meyering  <meyering@redhat.com>
4199
4200         test-init.sh: accommodate Solaris 5.10's different diff -u output
4201         * tests/test-init.sh: Also exempt @@ lines from the comparison
4202         of diff output, since Solaris 5.10 and GNU diff formats differ.
4203         Reported by Stefano Lattarini.
4204
4205 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
4206
4207         test-posixtm: don't assume signed integer wraparound
4208         * tests/test-posixtm.c (main): Don't assume wraparound semantics
4209         after signed integer overflow.  Inspired by (though it may not
4210         fix) Bruno Haible's bug report in
4211         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
4212
4213         Spell out "Windows 9x" and "Windows XP".
4214         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
4215         "Windows 9x" and "WinXP" with "Windows XP".
4216
4217 2012-01-04  Jim Meyering  <meyering@redhat.com>
4218
4219         test-vc-list-files-cvs.sh: remove obsolete comment
4220         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
4221         double exit.  Now that's all encapsulated via skip_ and Exit.
4222
4223 2012-01-04  Bruno Haible  <bruno@clisp.org>
4224
4225         Talk about "native Windows API", not "Win32".
4226         * lib/classpath.c: Update comments to mention native Windows.
4227         * lib/csharpexec.c: Likewise.
4228         * lib/dup2.c: Likewise.
4229         * lib/error.c: Likewise.
4230         * lib/fcntl.c: Likewise.
4231         * lib/filename.h: Likewise.
4232         * lib/findprog.c: Likewise.
4233         * lib/get-rusage-as.c: Likewise.
4234         * lib/get-rusage-data.c: Likewise.
4235         * lib/getpagesize.c: Likewise.
4236         * lib/javaexec.c: Likewise.
4237         * lib/msvc-inval.c: Likewise.
4238         * lib/msvc-nothrow.c: Likewise.
4239         * lib/nanosleep.c: Likewise.
4240         * lib/nonblocking.c: Likewise.
4241         * lib/printf-parse.c: Likewise.
4242         * lib/setlocale.c: Likewise.
4243         * lib/sigaction.c: Likewise.
4244         * lib/strerror_r.c: Likewise.
4245         * lib/tmpdir.c: Likewise.
4246         * lib/vasnprintf.c: Likewise.
4247         * lib/w32spawn.h: Likewise.
4248         * lib/waitpid.c: Likewise.
4249         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
4250         * m4/locale-ar.m4: Likewise.
4251         * m4/locale-fr.m4: Likewise.
4252         * m4/locale-ja.m4: Likewise.
4253         * m4/locale-tr.m4: Likewise.
4254         * m4/locale-zh.m4: Likewise.
4255         * m4/printf.m4: Likewise.
4256         * tests/test-cloexec.c: Likewise.
4257         * tests/test-copy-acl.sh: Likewise.
4258         * tests/test-copy-file.sh: Likewise.
4259         * tests/test-file-has-acl.sh: Likewise.
4260         * tests/test-set-mode-acl.sh: Likewise.
4261         * tests/test-dup-safer.c: Likewise.
4262         * tests/test-dup2.c: Likewise.
4263         * tests/test-dup3.c: Likewise.
4264         * tests/test-fcntl.c: Likewise.
4265         * tests/test-nonblocking-pipe.h: Likewise.
4266         * tests/test-nonblocking-socket.h: Likewise.
4267         * tests/test-pipe.c: Likewise.
4268         * tests/test-pipe2.c: Likewise.
4269         * tests/test-spawn-pipe-child.c: Likewise.
4270         * doc/acl-resources.txt: Likewise.
4271         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
4272         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
4273         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
4274         * lib/localcharset.c: Update comments to mention native Windows.
4275         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
4276         * lib/localename.c: Likewise.
4277         * lib/progreloc.c: Likewise.
4278         * lib/relocatable.c: Likewise.
4279         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
4280         (windows_compute_revents): Renamed from win32_compute_revents.
4281         (windows_compute_revents_socket): Renamed from
4282         win32_compute_revents_socket.
4283         * lib/select.c: Update comments to mention native Windows.
4284         (windows_poll_handle): Renamed from win32_poll_handle.
4285         * m4/threadlib.m4: Update comments to mention native Windows.
4286         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
4287         --enable-threads=windows instead of --enable-threads=win32. Set
4288         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
4289         * lib/glthread/lock.h: Update comments to mention native Windows.
4290         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
4291         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
4292         USE_WIN32_THREADS.
4293         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
4294         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
4295         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
4296         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
4297         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
4298         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
4299         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
4300         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
4301         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
4302         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
4303         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
4304         * tests/test-tls.c: Likewise.
4305         Rationale:
4306         Microsoft renamed the "Win32 API" to "Windows API", as it is available
4307         on both 32-bit and 64-bit Windows systems.
4308         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
4309         line of distinction is between "native Windows" on one side and Unix/
4310         POSIX systems on the other side. More details in
4311         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
4312         Suggested by Paul Eggert.
4313
4314 2012-01-03  Bruno Haible  <bruno@clisp.org>
4315
4316         isatty: Support for MSVC 9.
4317         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
4318         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
4319         (_isatty_nothrow): New function.
4320         (isatty): Use it instead of _isatty.
4321         (IsConsoleHandle): Add comment, from Paolo Bonzini.
4322         * lib/poll.c (IsConsoleHandle): Likewise.
4323         * lib/select.c (IsConsoleHandle): Likewise.
4324         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
4325         (gl_PREREQ_ISATTY): New macro.
4326         * modules/isatty (Depends-on): Add msvc-inval.
4327         (configure.ac): Invoke gl_PREREQ_ISATTY.
4328
4329 2012-01-03  Jim Meyering  <meyering@redhat.com>
4330
4331         maint.mk: remove temporary transition aid from over 1.5 years ago
4332         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
4333         purpose was to aid in the transition (avoiding silent malfunction)
4334         from that old name to the new _sc_search_regexp.  This shim was
4335         added by commit 219c504b.
4336
4337         init.sh: do not try to accommodate compare arguments starting with "-"
4338         * tests/init.sh (compare_dev_null_): Do not try to accommodate
4339         compare arguments that start with "-".  Besides, we do not worry
4340         about this when invoking diff or cmp; why start now with sed?
4341         Using "--" to separate options from argument would trigger sed
4342         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
4343         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
4344
4345 2012-01-02  Bruno Haible  <bruno@clisp.org>
4346
4347         Enhance tests for module 'isatty'.
4348         * modules/isatty-tests (Depends-on): Add pipe-posix.
4349         * tests/test-isatty.c: Include <fcntl.h>.
4350         (DEV_NULL): New macro.
4351         (main): Test the resut of isatty() also on regular files, pipes, and
4352         /dev/null.
4353
4354         New module 'isatty'.
4355         * lib/unistd.in.h (isatty): New declaration.
4356         * lib/isatty.c: New file, based on an idea of
4357         Bastien Roucariès <roucaries.bastien@gmail.com>.
4358         * m4/isatty.m4: New file.
4359         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
4360         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
4361         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
4362         REPLACE_ISATTY.
4363         * modules/isatty: New file.
4364         * doc/posix-functions/isatty.texi: Mention the new module.
4365         Suggested by Paolo Bonzini.
4366
4367 2012-01-02  Bruno Haible  <bruno@clisp.org>
4368
4369         canonicalize: Tweak 2011-12-29 commit.
4370         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
4371         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
4372
4373 2012-01-02  Jim Meyering  <meyering@redhat.com>
4374
4375         gitlog-to-changelog: describe input syntax in --help output
4376         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
4377
4378         gitlog-to-changelog: fix typo in --help: show backslash before email @
4379         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
4380         in sources, but not in actual output.
4381
4382 2011-12-30  Jim Meyering  <meyering@redhat.com>
4383
4384         gitlog-to-changelog: don't malfunction when name contains %-directive
4385         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
4386         in a name string cause trouble.  E.g., with a user name of "%s",
4387         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
4388
4389 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
4390
4391         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
4392         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
4393         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
4394         the "  (tiny change)" notation that is appended to the standard
4395         ChangeLog "date  name  email" header line.
4396
4397 2012-01-01  Jim Meyering  <meyering@redhat.com>
4398
4399         test-framework-sh: init.sh: fix "make dist" failure
4400         When using gnulib-tool's --with-tests option and any module that
4401         depends on test-framework-sh, "make dist" would fail due to the
4402         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
4403         in the gltests directory, and not in the gllib/ directory.
4404         One way to work around that is to move the EXTRA_DIST += init.sh
4405         from the primary module to the -tests one:
4406         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
4407         * modules/test-framework-sh (Makefile.am): ...not here.
4408         Reported by Tom G. Christensen in
4409         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
4410
4411         version-etc: update copyright year reported by --version
4412         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
4413
4414 2011-12-31  Pádraig Brady  <P@draigBrady.com>
4415
4416         canonicalize: only stat() if required
4417         * lib/canonicalize.c (canonicalize_filename_mode):
4418         Avoid calling l?stat() when both CAN_MISSING,
4419         and CAN_NOLINKS are set, as we neither need
4420         to resolve symlinks or test component existence.
4421
4422 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
4423
4424         doc: cover st_ino issues once; add OpenVMS etc.
4425         * doc/posix-functions/stat.texi (stat):
4426         * doc/posix-functions/lstat.texi (lstat):
4427         * doc/posix-functions/fstatat.texi (fstatat):
4428         * doc/posix-functions/fstat.texi (fstat):
4429         Move general 'struct stat' stuff to sys_stat.texi,
4430         leaving behind a pointer.
4431         * doc/posix-headers/sys_stat.texi (sys/stat.h):
4432         Merge duplicate info about 'struct stat' problems into here.
4433         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
4434         and suggest partial workarounds.
4435
4436         same-inode: port to OpenVMS
4437         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
4438         three st_ino values.
4439
4440 2011-12-30  Pádraig Brady  <P@draigBrady.com>
4441
4442         canonicalize: fix references to stat() and lstat()
4443         * lib/canonicalize.c (canonicalize_filename_mode):
4444         Ensure references always resolve to a replacement
4445         function if required (even via a macro).
4446
4447 2011-12-30  Jim Meyering  <meyering@redhat.com>
4448
4449         gitlog-to-changelog: remove a little duplication
4450         * build-aux/gitlog-to-changelog (main): Grep @lines once,
4451         rather than twice.
4452
4453 2011-12-29  Pádraig Brady  <P@draigBrady.com>
4454
4455         canonicalize: add support for not resolving symlinks
4456         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
4457         indicate we don't want to follow symlinks.  Also
4458         provide CAN_MODE_MASK to aid setting these existing
4459         mutually exclusive values.
4460         * lib/canonicalize.c (canonicalize_filename_mode):
4461         Extract the flags from can_mode parameter, which
4462         are currently just used to select between stat()
4463         and lstat().  Also ensure that mutually exclusive
4464         values are flagged immediately as invalid.
4465         * tests/test-canonicalize.c: Verify symlinks are
4466         not followed, and that invalid flag combinations
4467         are diagnosed.
4468
4469 2011-12-25  Jim Meyering  <meyering@redhat.com>
4470
4471         gitlog-to-changelog: do not clump multi-paragraph entries
4472         Identical header lines (date,name,email+coauthors) are suppressed,
4473         thus putting all entries with those same characteristics under
4474         a single header.  However, when a log entry consists of two or
4475         more paragraphs, it may not be clear where it starts and ends.
4476         This change makes it so that such an entry is always separated
4477         from others by a header line, even when that header would
4478         otherwise be suppressed.
4479         * build-aux/gitlog-to-changelog: Implement the above.
4480         Inspired by a related request from Stefano Lattarini in
4481         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
4482
4483 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
4484
4485         announce-gen: fix `cmd' typo in diagnostic
4486         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
4487         diagnostic: a missing '$' meant that the command was not output.
4488
4489 2011-12-23  Jim Meyering  <meyering@redhat.com>
4490
4491         test-framework-sh: distribute init.sh
4492         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
4493         Otherwise, "make -C gnulib-tests check" (at least in grep) would
4494         fail due to the lack of init.sh.
4495
4496         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
4497         * modules/atexit-tests: Rather than listing tests/init.sh,
4498         now that there's a module for it, simply depend on that new module.
4499         * modules/closein-tests: Likewise.
4500         * modules/exclude-tests: Likewise.
4501         * modules/getcwd-tests: Likewise.
4502         * modules/perror-tests: Likewise.
4503         * modules/pread-tests: Likewise.
4504         * modules/pwrite-tests: Likewise.
4505         * modules/vc-list-files-tests: Likewise.
4506         * modules/verify-tests: Likewise.
4507         * modules/xalloc-die-tests: Likewise.
4508         * modules/xstrtoimax-tests: Likewise.
4509         * modules/xstrtol-tests: Likewise.
4510         * modules/xstrtoll-tests: Likewise.
4511         * modules/xstrtoumax-tests: Likewise.
4512         * modules/yesno-tests: Likewise.
4513
4514 2011-12-22  Jim Meyering  <meyering@redhat.com>
4515
4516         test-framework-sh: add minimal tests of init.sh's compare function
4517         * modules/test-framework-sh-tests: New file.
4518         * tests/test-init.sh: New file.
4519
4520         test-framework-sh: new module
4521         * modules/test-framework-sh: New file.
4522         * MODULES.html.sh (Support for maintaining and releasing projects):
4523         List it.
4524
4525         init.sh: do not emit simulated diff output to stderr
4526         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
4527
4528 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
4529
4530         .gitignore: ignore gnulib.dvi and regex.info
4531         * doc/.gitignore:add gnulib.dvi and regex.info
4532
4533 2011-12-22  Jim Meyering  <meyering@redhat.com>
4534
4535         init.sh: correct previous change
4536         * tests/init.sh (compare): My previous change was wrong.
4537         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
4538
4539         init.sh: avoid unwarranted test failure when using "set -e"
4540         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
4541         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
4542         a use like "compare exp out" would get evoke an unconditional failure.
4543
4544 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
4545
4546         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
4547         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
4548         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
4549         autoreconf that did not.
4550         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
4551         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
4552
4553 2011-12-17  Jim Meyering  <meyering@redhat.com>
4554
4555         bootstrap: remove some now-unneeded code
4556         This script arose back when gnulib-tool was young.
4557         Since then, it has seen improvements that render much of this
4558         script unnecessary.  In particular, it can now make symlinks
4559         to the files it uses.  Also, I no longer see as much value in
4560         marking files as read-only via comments.
4561         If you relied on the symlink-creation feature of the preceding
4562         version of this script, you can get most of that functionality
4563         by adding the --symlink option to the definition of
4564         gnulib_tool_option_extras in your bootstrap.conf file.
4565         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
4566         Run autopoint and libtoolize *before* gnulib-tool.
4567         After it, run an abbreviated autoreconf, rather than a loop around
4568         all tools.
4569         (slirp, bt_mark_as_generated): Remove functions.
4570
4571 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
4572
4573         ftoastr: fix typo
4574         * lib/ftoastr.h: Fix misspelling in comment.
4575
4576 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
4577
4578         * top/README-release: fix punctuation.
4579
4580 2011-12-17  Jim Meyering  <meyering@redhat.com>
4581
4582         bootstrap: correct the recent buildreq change
4583         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
4584         had no effect.
4585         * build-aux/bootstrap (buildreq): Bracket each search term with
4586         "*...*", so that the shell "case" statement works as intended.
4587         Add comments.
4588
4589 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
4590
4591         build: let bootstrap resort to wget when downloading .po files
4592         * build-aux/bootstrap (download_po_files): Fallback to wget when
4593         downloading the .po files via rsync fails.  This is necessary to
4594         bootstrap from behind a strict firewall.
4595
4596 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
4597
4598         stdint: don't assume C++11 when compiling with g++
4599         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
4600         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
4601         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
4602         work also in C++ before C++11, as that improperly inhibits
4603         generating a substitute stdint.h for that case.
4604
4605 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
4606
4607         alloca: protect comment from gnulib-tool
4608         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
4609         that gnulib-tool doesn't think it's a license, and munge it to
4610         say "GCC version 3".
4611
4612 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
4613
4614         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
4615         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
4616         $(abs_top_builddir) instead of $(top_builddir).
4617
4618 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
4619
4620         strftime-tests: also test nanoseconds
4621         * tests/test-strftime.c (T): Add a test of %N.
4622
4623 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
4624
4625         inttypes, stdint: add C++11 support
4626         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
4627         when including inttypes.h and stdint.h.  Support this change to
4628         the standard.
4629         * doc/posix-headers/inttypes.texi (inttypes.h):
4630         * doc/posix-headers/stdint.texi (stdint.h): Document this.
4631         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
4632         Define if not defined already, for the benefit of pre-C++11 hosts.
4633         Define the standard format macros (e.g., PRId8) always.
4634         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
4635         Likewise, if __cpluspus.  Define the standard constant and limit
4636         macros (e.g., INT8_C, INT8_MAX) always.
4637         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
4638         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
4639         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
4640         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
4641         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
4642         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
4643         Likewise.
4644
4645 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
4646
4647         nonblocking tests: Fix test failure on Linux/PPC.
4648         Suggested by Prerna Saxena in
4649         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
4650         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
4651         Set to 1100000.
4652
4653 2011-12-12  Jim Meyering  <meyering@redhat.com>
4654
4655         argmatch: don't hard-code `' when listing valid option arguments
4656         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
4657         use the quote function to add quotes.  Use fputs rather than
4658         fprintf for the format string with no format directive.
4659
4660 2011-12-07  Eric Blake  <eblake@redhat.com>
4661
4662         bootstrap: detect tools required by gnulib-tool
4663         * build-aux/bootstrap (buildreq): Provide minimum implicit
4664         dependencies.
4665         * DEPENDENCIES: Mention patch as a prereq.
4666
4667 2011-12-04  Bruno Haible  <bruno@clisp.org>
4668
4669         sethostname: Port to Windows platforms.
4670         * lib/sethostname.c: Provide an alternate implementation for Windows
4671         platforms.
4672         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
4673         (main): Skip the test if sethostname() fails with EPERM. On Windows
4674         platforms, don't check the result of gethostname().
4675
4676 2011-12-04  Bruno Haible  <bruno@clisp.org>
4677             Jim Meyering  <meyering@redhat.com>
4678
4679         tests: Avoid spurious error message on platforms without mktemp program.
4680         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
4681
4682 2011-12-04  Bruno Haible  <bruno@clisp.org>
4683
4684         sethostname: Fix documentation.
4685         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
4686         "not fixed" section.
4687
4688 2011-12-03  Bruno Haible  <bruno@clisp.org>
4689
4690         gnulib-tool: Verify that the License field is present and non-empty.
4691         * gnulib-tool (func_get_license_raw): New function, extracted from
4692         func_get_license.
4693         (func_get_license): Use it. Warn if the module is not a test module and
4694         has no license.
4695         Suggested by Jim Meyering.
4696
4697 2011-12-03  Bruno Haible  <bruno@clisp.org>
4698
4699         sethostname tests: Fix link error on mingw.
4700         * tests/test-sethostname1.c: New file, extracted from
4701         tests/test-sethostname.c.
4702         * tests/test-sethostname2.c: New file, extracted from
4703         tests/test-sethostname.c.
4704         * tests/test-sethostname.c: Remove file.
4705         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
4706         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
4707         (Depends-on): Add gethostname.
4708         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
4709         Link the latter with $(GETHOSTNAME_LIB).
4710
4711         sethostname tests: Fix compilation error on mingw.
4712         * tests/test-sethostname.c: Don't include <sys/types.h>.
4713         (geteuid): Use a dummy value without uid_t.
4714         * modules/sethostname-tests (Depends-on): Remove sys_types.
4715
4716         sethostname tests: Avoid a gcc warning.
4717         * tests/test-sethostname.c (main): Remove an unused variable.
4718
4719         Tweak last commit.
4720         * modules/sethostname-tests (Files): Sort by decreasing importance.
4721         (configure.ac): Check for geteuid.
4722         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
4723         the test when there's nothing to test. Drop an unnecessary cast.
4724         Improve an error message. Verify that the final sethostname() call
4725         succeeds.
4726
4727 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4728
4729         Add a test suite for the sethostname module.
4730         * modules/sethostname-tests: New file.  A test program
4731         for the sethostname module.
4732         * tests/test-sethostname.c: Likewise.
4733
4734 2011-12-03  Bruno Haible  <bruno@clisp.org>
4735
4736         Tweak last commit.
4737         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
4738         Fix preprocessor directives indentation. Fix typos.
4739         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
4740         * modules/unistd (Makefile): Likewise.
4741
4742 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4743
4744         Integrate the sethostname module into unistd.
4745         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
4746         into the unistd.h header.
4747         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
4748         preprocessor directives.
4749         * modules/unistd: Setup the Makefile substitutions of the
4750         SETHOSTNAME preprocessor directives.
4751
4752 2011-12-03  Bruno Haible  <bruno@clisp.org>
4753
4754         Tweak last commit.
4755         * lib/sethostname.c: Don't include <string.h>.
4756         (sethostname): No need to copy the argument string to the stack. Don't
4757         call clearerr. Preserve errno when fprintf failed.
4758         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
4759         Don't invoke AC_REPLACE_FUNCS.
4760         * modules/sethostname (Link): Remove empty section.
4761         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
4762         failure problem.
4763
4764 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4765
4766         New module 'sethostname'.
4767         * lib/sethostname.c (sethostname): New file.  Provide sethostname
4768         for systems that lack it.
4769         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
4770         sethostname declaration and function.
4771         * modules/sethostname: New file.  Define the sethostname module.
4772
4773 2011-12-03  Bruno Haible  <bruno@clisp.org>
4774
4775         Tweak last commit.
4776         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
4777
4778 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4779
4780         Split the HOST_NAME_MAX detection into a separate m4 macro.
4781         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
4782         macro so it can be used by the pending sethostname module.
4783
4784 2011-12-03  Bruno Haible  <bruno@clisp.org>
4785
4786         Fix module descriptions syntax.
4787         * modules/argv-iter (License): Fix syntax.
4788         * modules/di-set (License): Likewise.
4789         * modules/ino-map (License): Likewise.
4790         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
4791
4792 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
4793
4794         stdalign: port to Clang 3.0
4795         Problem reported by Simon Josefsson in
4796         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
4797         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
4798         which has <stdalign.h> but which does not define alignof.
4799         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
4800
4801 2011-12-01  Eric Blake  <eblake@redhat.com>
4802
4803         mktempd: silence dd usage
4804         * build-aux/mktempd (rand_bytes): Silence dd.
4805
4806 2011-11-30  Simon Josefsson  <simon@josefsson.org>
4807
4808         manywarnings: Don't mention gcc version in docstring.
4809         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
4810         Jim Meyering <meyering@redhat.com>.
4811
4812 2011-11-30  Jim Meyering  <meyering@redhat.com>
4813
4814         hash: mark a few floating point constants with "f" suffix
4815         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
4816         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
4817         floating point constants with "f", since they're destined to be
4818         saved/used as "float"s.
4819
4820 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
4821
4822         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
4823         * tests/test-float.c (test_long_double): Correct and re-enable the
4824         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
4825
4826 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
4827
4828         Avoid subtracting two pointers that don't point into the same block.
4829         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
4830         only pointers into the same memory block are subtracted. We cannot
4831         assume that sizeof (ptrdiff_t) == sizeof (void *).
4832
4833 2011-11-29  Eric Blake  <eblake@redhat.com>
4834
4835         maint.mk: add syntax check for use of compare from init.sh
4836         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
4837         moved here from coreutils.
4838
4839         manywarnings: drop -Wunsuffixed-float-constants
4840         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
4841         '1.0D', which is the only way to silence this warning for 'double'.
4842
4843 2011-11-29  Jim Meyering  <meyering@redhat.com>
4844
4845         hash: mark compute_bucket_size with the pure attribute
4846         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
4847
4848         quotearg, propername: correct pragma guard expression
4849         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
4850         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
4851
4852 2011-11-28  Jim Meyering  <meyering@redhat.com>
4853
4854         propername: do not mark proper_name with the const attribute
4855         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
4856         since it examines data pointed to by its parameter.
4857         * lib/propername.c (proper_name): Instead, add a pragma to suppress
4858         the suggestion from -Wsuggest-attribute=const.
4859
4860         propername: mark one more function as const
4861         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
4862
4863 2011-11-27  Jim Meyering  <meyering@redhat.com>
4864
4865         mark functions with const and pure attributes
4866
4867         Mark functions per suggestions from gcc-4.6 when using these options:
4868         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
4869         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
4870         Follow these guidelines: when possible, apply the attribute to
4871         an extern declaration, not to its definition.  Apply it to the
4872         definition only when the definition is static.
4873         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
4874         * lib/argv-iter.h (argv_iter_n_args): Likewise.
4875         * lib/base64.h (isbase64): Likewise.
4876         * lib/basename-lgpl.c (last_component, base_len): Likewise.
4877         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
4878         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
4879         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
4880         (c_tolower, c_toupper): Likewise.
4881         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
4882         * lib/chdir-long.c (find_non_slash): Likewise.
4883         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
4884         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
4885         * lib/file-type.h (file_type): Likewise.
4886         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
4887         * lib/filevercmp.c (verrevcmp): Likewise.
4888         * lib/freadahead.h (freadahead): Likewise.
4889         * lib/fts.c (fts_maxarglen): Likewise.
4890         * lib/hash-pjw.h (hash_pjw): Likewise.
4891         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
4892         * lib/hash.c (is_prime, next_prime): Likewise.
4893         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
4894         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
4895         (hash_table_ok, hash_get_first, hash_string): Likewise.
4896         (compute_bucket_size): Likewise.
4897         * lib/i-ring.h (i_ring_empty): Likewise.
4898         * lib/isnan.c (isnanl): Likewise.
4899         * lib/math.h (isnanl, rpl_isnanl): Likewise.
4900         * lib/memcasecmp.h (memcasecmp): Likewise.
4901         * lib/memchr2.h (memchr2): Likewise.
4902         * lib/memcmp2.h (memcmp2): Likewise.
4903         * lib/parse-datetime.y (lookup_zone): Likewise.
4904         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
4905         [!WINDOWS_SOCKETS]: Likewise.
4906         * lib/strnlen1.h (strnlen1): Likewise.
4907         * lib/uniwidth.in.h (uc_width): Likewise.
4908         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
4909         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
4910         (quoting_options_from_style): Add a comment.
4911         * lib/propername.h (proper_name): Add a comment.
4912
4913 2011-11-27  Bruno Haible  <bruno@clisp.org>
4914
4915         Remove unused macros from !_LIBC code in glibc-borrowed files.
4916         * lib/fnmatch.c (STRCOLL): Remove macro.
4917         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
4918         * lib/glob.c (__stat, __readdir64): Remove macros.
4919         * lib/tempname.c (__open64, __xstat64): Remove macros.
4920         Suggested by Paul Eggert.
4921
4922 2011-11-27  Bruno Haible  <bruno@clisp.org>
4923
4924         getcwd: Fix link error on MSVC 9.
4925         * modules/getcwd (Depends-on): Add readdir, rewinddir.
4926
4927 2011-11-27  Bruno Haible  <bruno@clisp.org>
4928
4929         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
4930         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
4931         HAVE_OPENDIR is 0.
4932         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
4933         HAVE_CLOSEDIR is 0.
4934         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
4935         is 0.
4936         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
4937
4938 2011-11-27  Bruno Haible  <bruno@clisp.org>
4939
4940         getcwd: Fix bug from 2011-08-17.
4941         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
4942         platforms that need it.
4943         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
4944         code of 4 to be a failure, not a success. This ensures that
4945         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
4946
4947 2011-11-27  Bruno Haible  <bruno@clisp.org>
4948
4949         binary-io tests: Avoid test failure on mingw when libtool is used.
4950         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
4951         Don't verify the size of t-bin-out1.tmp here.
4952         * tests/test-binary-io.sh: Verify it here.
4953         Reported by Simon Josefsson.
4954
4955 2011-11-26  Bruno Haible  <bruno@clisp.org>
4956
4957         Fix conflict between two instantiations of module 'unistd'.
4958         * gnulib-tool (func_emit_autoconf_snippet): Substitute
4959         ${include_guard_prefix} also in the autoconf snippet.
4960         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
4961         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
4962         GNULIB_UNISTD_H_GETOPT.
4963         * modules/getopt-posix (configure.ac): Set the
4964         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
4965         * modules/getopt-gnu (configure.ac): Likewise.
4966         * modules/unistd (Makefile.am): Change the substitution value of
4967         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
4968         Reported by Simon Josefsson.
4969
4970 2011-11-25  Bruno Haible  <bruno@clisp.org>
4971
4972         pagealign_alloc: Doc and comments.
4973         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
4974         module.
4975         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
4976
4977 2011-11-25  Jim Meyering  <meyering@redhat.com>
4978
4979         test-update-copyright.sh: avoid false-positive failure
4980         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
4981         around false positive failure on Cygwin/Windows.  The latter was
4982         matching erroneously-created files with names like
4983         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
4984
4985 2011-11-25  Simon Josefsson  <simon@josefsson.org>
4986
4987         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
4988         * m4/valgrind-tests.m4: Check that the parameters that will be
4989         used works, not just a subset of them.  Reported by Bruno Haible
4990         <bruno@clisp.org>.
4991
4992 2011-11-24  Jim Meyering  <meyering@redhat.com>
4993
4994         test-stdalign.c: comment out long double tests
4995         * tests/test-stdalign.c: Don't try to reduce alignment of long double
4996         variables.  That provokes errors like this from gcc-4.7.0 20111124:
4997         error: '_Alignas' specifiers cannot reduce alignment of \
4998         'static_longdouble_alignas'.
4999
5000 2011-11-22  Jim Meyering  <meyering@redhat.com>
5001
5002         init.sh: make "compare /dev/null FILE" output more readable
5003         * tests/init.sh (compare_): Document the preferred order of arguments.
5004         (emit_diff_u_header_): New function.
5005         (compare_dev_null_): Emit a simulated diff, rather than just the
5006         contents of the unexpected file.  Suggestion from Bruno Haible.
5007
5008 2011-11-21  Jim Meyering  <meyering@redhat.com>
5009             Eric Blake  <eblake@redhat.com>
5010
5011         init.sh: work around OSF/1 5.1's mishandling of /dev/null
5012         * tests/init.sh: Make our compare function slightly more portable.
5013         Reported by Bruno Haible in
5014         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
5015
5016 2011-11-21  Simon Josefsson  <simon@josefsson.org>
5017
5018         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
5019         before using it, in code that ends up in config.h.
5020
5021 2011-11-20  Bruno Haible  <bruno@clisp.org>
5022
5023         getcwd: Work around getcwd bug on AIX 5..7.
5024         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
5025         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
5026         Use a different value for gl_cv_func_getcwd_path_max. Move the
5027         definition of HAVE_PARTLY_WORKING_GETCWD from here...
5028         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
5029         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
5030         Define HAVE_MINIMALLY_WORKING_GETCWD.
5031         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
5032         where it is not even minimally working, that is, on AIX.
5033         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
5034         m4/getcwd-path-max.m4.
5035         (main): Update exit code computation.
5036         * doc/posix-functions/getcwd.texi: Mention list of platforms where
5037         getcwd does not handle long file names.
5038
5039 2011-11-20  Bruno Haible  <bruno@clisp.org>
5040
5041         getcwd: Fix bug from 2009-09-10.
5042         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
5043         like "no".
5044
5045 2011-11-20  Simon Josefsson  <simon@josefsson.org>
5046
5047         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
5048
5049 2011-11-20  Bruno Haible  <bruno@clisp.org>
5050
5051         fma tests: Avoid shadowing local variables.
5052         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
5053         expected.
5054
5055 2011-11-20  Bruno Haible  <bruno@clisp.org>
5056
5057         copysignf tests: Fix.
5058         * tests/test-copysignf.c: Fix signature check.
5059
5060 2011-11-20  Bruno Haible  <bruno@clisp.org>
5061
5062         fma: Remove unused code.
5063         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
5064         unused macros.
5065
5066 2011-11-20  Bruno Haible  <bruno@clisp.org>
5067
5068         sethostname: Fix doc about AIX.
5069         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
5070         sethostname; it has it.
5071
5072         sethostname: Mention more portability problems.
5073         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
5074         problem.
5075         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
5076
5077 2011-11-19  Bruno Haible  <bruno@clisp.org>
5078
5079         Depend on module fcntl-h when AT_FDCWD is used.
5080         * modules/utimens (Depends-on): Add fcntl-h.
5081         * modules/areadlinkat (Depends-on): Likewise.
5082         * modules/areadlinkat-with-size (Depends-on): Likewise.
5083         * modules/faccessat (Depends-on): Likewise.
5084         * modules/fchmodat (Depends-on): Likewise.
5085         * modules/fchownat (Depends-on): Likewise.
5086         * modules/getcwd (Depends-on): Likewise.
5087         * modules/mkdirat (Depends-on): Likewise.
5088         * modules/mkfifoat (Depends-on): Likewise.
5089         * modules/readlinkat (Depends-on): Likewise.
5090         * modules/symlinkat (Depends-on): Likewise.
5091         * modules/dup2-tests (Depends-on): Likewise.
5092         * modules/fdutimensat-tests (Depends-on): Likewise.
5093         * modules/futimens-tests (Depends-on): Likewise.
5094
5095 2011-11-19  Bruno Haible  <bruno@clisp.org>
5096
5097         euidaccess: Update a comment.
5098         * lib/euidaccess.c: Update comment about platforms with faccessat.
5099
5100 2011-11-19  Bruno Haible  <bruno@clisp.org>
5101
5102         openat: Fix file list.
5103         * modules/openat (Files): Remove lib/at-func.c.
5104
5105 2011-11-19  Bruno Haible  <bruno@clisp.org>
5106
5107         fstatat: Simplify.
5108         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
5109         gnulib should define rpl_fstatat, there is a
5110         "#define fstatat rpl_fstatat" in <sys/stat.h>.
5111
5112 2011-11-19  Bruno Haible  <bruno@clisp.org>
5113
5114         Ensure 'inline' can be used in tests/test-utimens-common.h.
5115         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
5116         * modules/futimens-tests (configure.ac): Likewise.
5117         * modules/utimens-tests (configure.ac): Likewise.
5118         * modules/utimensat-tests (configure.ac): Likewise.
5119
5120 2011-11-19  Simon Josefsson  <simon@josefsson.org>
5121
5122         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
5123         not hash_insert0.
5124         (hash_insert_if_absent): Doc fix.
5125
5126 2011-11-19  Simon Josefsson  <simon@josefsson.org>
5127
5128         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
5129
5130 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
5131
5132         test-getcwd: disambiguate exit status
5133         * tests/test-getcwd.c (test_long_name): Return 0..7.
5134         (main): Exit with an unambiguous exit status.  The old
5135         code yielded a mysterious mixture of two failure codes.
5136
5137         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
5138         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
5139         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
5140         rpl_fstatat or fstatat.  This should fix the other problem
5141         reported by Kai Habel in
5142         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
5143         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
5144         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
5145         and I reproduced it on a Solaris 8 host we still have in production.
5146
5147 2011-11-18  Jim Meyering  <meyering@redhat.com>
5148
5149         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
5150         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
5151         Add a sentence to the comment.
5152         (hash_insert0): New function that simply calls hash_insert_if_absent.
5153         * lib/hash.h (hash_insert_if_absent): Declare it.
5154         (hash_insert0): Add deprecation attribute.
5155         (_GL_ATTRIBUTE_DEPRECATED): Define.
5156         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
5157         not hash_insert0.
5158         * NEWS: Mention it, even though it's not really an incompatible change.
5159
5160 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
5161
5162         openat: avoid compilation failure due to lack of <errno.h> inclusion
5163         * lib/openat.c: Include <errno.h>.
5164
5165 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
5166
5167         * modules/getcwd (Depends-on): Add fdopendir.
5168         This fixes one of the two problems reported by Kai Habel in
5169         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
5170
5171         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
5172         stdalign problem reported by Ian Beckwith in
5173         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
5174         * modules/crypto/gc-arcfour (Depends-on):
5175         Depend conditionally on crypto/arcfour.
5176         * modules/crypto/gc-arctwo (Depends-on):
5177         Depend conditionally on crypto/arctwo.
5178         * modules/crypto/gc-des (Depends-on):
5179         Depend conditionally on crypto/des.
5180         * modules/crypto/gc-hmac-md5 (Depends-on):
5181         Depend conditionally on crypto/hmac-md5.
5182         * modules/crypto/gc-hmac-sha1 (Depends-on):
5183         Depend conditionally on crypto/hmac-sha1.
5184         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
5185         * modules/crypto/gc-md4 (Depends-on):
5186         Depend conditionally on crypto/md4.
5187         * modules/crypto/gc-md5 (Depends-on):
5188         Depend conditionally on crypto/md5.
5189         * modules/crypto/gc-rijndael (Depends-on):
5190         Depend conditionally on crypto/rijndael.
5191         * modules/crypto/gc-sha1 (Depends-on):
5192         Depend conditionally on crypto/sha1.
5193         * modules/crypto/gc-arcfour:
5194         * modules/crypto/gc-arctwo:
5195         * modules/crypto/gc-des:
5196         * modules/crypto/gc-hmac-md5:
5197         * modules/crypto/gc-hmac-sha1:
5198         * modules/crypto/gc-md2:
5199         * modules/crypto/gc-md4:
5200         * modules/crypto/gc-md5:
5201         * modules/crypto/gc-rijndael:
5202         * modules/crypto/gc-sha1:
5203         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
5204         now that the conditional dependencies do the work for us.
5205
5206 2011-11-17  Jim Meyering  <meyering@redhat.com>
5207
5208         tests: factor st_ctime-comparison out of two headers
5209         * tests/test-utimens-common.h (ctime_compare): Define.
5210         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
5211         * tests/test-lutimens.h (test_lutimens): Likewise.
5212         * tests/test-utimens.h (test_utimens): Likewise.
5213
5214         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
5215         Invoke the test program via an init.sh-using wrapper.
5216         * tests/test-getcwd.sh: New file.
5217         * modules/getcwd-tests (Files): Add it.
5218         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
5219
5220 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
5221
5222         gitlog-to-changelog: support multi-author commits.
5223         The FSF cares about keeping track of all authors of patches to its
5224         projects, but Git doesn't provide obvious support for multi-author
5225         changesets. Consensus seems to be forming around the use of extra
5226         Signed-off-by inspired lines in the log message formatted as
5227         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
5228         multi-author commits between version control systems.
5229         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
5230         log message and output in standard ChangeLog multi-author format.
5231         Reported by Peter Rosin <peda@lysator.liu.se>
5232
5233 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
5234             Bruno Haible  <bruno@clisp.org>
5235
5236         Fix some modules' file list.
5237         * modules/fstatat (Files): Add m4/lstat.m4.
5238         * modules/openat (Files): Likewise.
5239         * modules/unlinkat (Files): Likewise.
5240
5241 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
5242
5243         maint.mk: fix tight-scope.mk generation in VPATH builds.
5244         * top/maint.mk (tight-scope.mk): Make sure to prefix file
5245         reference with $(srcdir) so that the file is found correctly even
5246         when running `make syntax-check' in a VPATH build.
5247
5248 2011-11-13  Bruno Haible  <bruno@clisp.org>
5249             Jim Meyering  <meyering@redhat.com>
5250
5251         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
5252         * tests/init.sh (compare): Remove "No differences encountered" or
5253         synonymous output from the 'diff' program.
5254
5255 2011-11-13  Bruno Haible  <bruno@clisp.org>
5256
5257         Makefile: Tweak indentation.
5258         * Makefile: Use tab as first character in every line that contains rule
5259         commands.
5260
5261 2011-11-13  Bruno Haible  <bruno@clisp.org>
5262
5263         Syntax check for copyright statements.
5264         * check-copyright: New file.
5265         * Makefile (sc_check_copyright): New rule.
5266
5267 2011-11-13  Simon Josefsson  <simon@josefsson.org>
5268
5269         * build-aux/git-version-gen: Add --prefix to configure the tag
5270         match string.
5271
5272 2011-11-13  Simon Josefsson  <simon@josefsson.org>
5273
5274         * build-aux/git-version-gen: Add --help and --version.
5275
5276 2011-11-12  Jim Meyering  <meyering@redhat.com>
5277
5278         revamp the other test-exclude?.sh scripts to use init.sh, too
5279         * tests/test-exclude1.sh: Use init.sh.
5280         * tests/test-exclude2.sh: Likewise.
5281         * tests/test-exclude3.sh: Likewise.
5282         * tests/test-exclude4.sh: Likewise.
5283         * tests/test-exclude5.sh: Likewise.
5284         * tests/test-exclude6.sh: Likewise.
5285         * tests/test-exclude7.sh: Likewise.
5286         * tests/test-exclude8.sh: Likewise.
5287         * modules/exclude-tests (Files): List init.sh.
5288
5289         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
5290         These shell scripts ignored failure of the binary test-exclude,
5291         so making the latter return 77 didn't cause them to be skipped.
5292         * tests/test-exclude5.sh: Exit with test-exclude's error status
5293         when that program fails.  Revamp to use init.sh.
5294         * tests/test-exclude2.sh: Likewise.
5295
5296         test-exclude: fix a typo
5297         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
5298
5299 2011-11-11  Bruno Haible  <bruno@clisp.org>
5300
5301         obstack: Fix compilation error on MSVC 9.
5302         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
5303
5304 2011-11-11  Jim Meyering  <meyering@redhat.com>
5305
5306         test-exclude: skip tests rather than failing on deficient systems
5307         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
5308         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
5309         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
5310         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
5311
5312 2011-11-10  Bruno Haible  <bruno@clisp.org>
5313
5314         ptsname_r test: Avoid gcc warning on glibc systems.
5315         * tests/test-ptsname_r.c (null_ptr): New function.
5316         (test_errors): Use it.
5317
5318 2011-11-10  Bruno Haible  <bruno@clisp.org>
5319
5320         ptsname_r: Avoid compilation error on OSF/1 5.1.
5321         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
5322         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
5323         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
5324         function is not declared or incompatibly declared.
5325         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
5326         * modules/ptsname_r (Depends-on, configure.ac): Update.
5327         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
5328
5329 2011-11-10  Bruno Haible  <bruno@clisp.org>
5330
5331         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
5332         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
5333         When cross-compiling, guess yes on all platforms except AIX.
5334         Reported by Ludovic Courtès <ludo@gnu.org>.
5335
5336 2011-11-09  Bruno Haible  <bruno@clisp.org>
5337
5338         ptsname_r tests: Fix bugs.
5339         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
5340         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
5341
5342 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
5343
5344         fstatat: work with cross-compilation
5345         Problem reported by Ludovic Courtès in
5346         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
5347         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
5348         "cross-compiling" and assume the bug is present.  Replace
5349         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
5350         an inverted sense, to be more conservative about our assumptions.
5351         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
5352
5353 2011-11-09  Bruno Haible  <bruno@clisp.org>
5354
5355         Improve MODULES.html output.
5356         * modules/mkfifoat (Description): Use the word "function".
5357         * modules/readlinkat (Description): Likewise.
5358         * modules/symlinkat (Description): Likewise.
5359
5360 2011-11-09  Eric Blake  <eblake@redhat.com>
5361
5362         ptsname_r-tests: new test module
5363         * modules/ptsname_r-tests: New module.
5364         * tests/test-ptsname_r.c: New file.
5365
5366         ptsname_r: new module
5367         * modules/ptsname_r: New module.
5368         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
5369         * lib/ptsname.c (__ptsname_r): Split...
5370         * lib/ptsname_r.c: ...into new file.
5371         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
5372         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
5373         * modules/stdlib (Makefile.am): Substitute witnesses.
5374         * lib/stdlib.in.h (ptsname_r): Declare it.
5375         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
5376         * MODULES.html.sh (Misc): Likewise.
5377         * modules/ptsname (Depends-on): Alter dependency.
5378         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
5379
5380 2011-11-09  Jim Meyering  <meyering@redhat.com>
5381
5382         announce-gen: be more concise when there's only one URL+tarball
5383         * build-aux/announce-gen (get_tool_versions): When you distribute
5384         only one type of tarball, combine the first two "Here are..."
5385         sections and make the key-checking grammar independent of
5386         how many tarballs there are.
5387
5388 2011-11-09  Eric Blake  <eblake@redhat.com>
5389
5390         openpty: provide a stub on mingw
5391         * lib/pty.in.h (includes): Provide forward declarations.
5392         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
5393
5394         raise: fix mingw handling of SIGPIPE
5395         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
5396
5397 2011-11-08  Bruno Haible  <bruno@clisp.org>
5398
5399         More conditional dependencies.
5400         * modules/faccessat (Depends-on): Add conditions.
5401         * modules/fchmodat (Depends-on): Likewise.
5402         * modules/fchownat (Depends-on): Likewise.
5403         * modules/fstatat (Depends-on): Likewise.
5404         * modules/mkfifoat (Depends-on): Likewise.
5405         * modules/readlinkat (Depends-on): Likewise.
5406         * modules/symlinkat (Depends-on): Likewise.
5407         * modules/unlinkat (Depends-on): Likewise.
5408         * modules/utimensat (Depends-on): Likewise.
5409         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
5410         * modules/linkat (Depends-on): Refine the conditions.
5411         * modules/renameat (Depends-on): Likewise.
5412
5413 2011-11-08  Bruno Haible  <bruno@clisp.org>
5414
5415         faccessat: Move AC_LIBOBJ invocation to module description.
5416         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
5417         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
5418         invocation from here...
5419         * modules/faccessat (configure.ac): ... to here. Invoke
5420         gl_PREREQ_FACCESSAT.
5421
5422 2011-11-08  Bruno Haible  <bruno@clisp.org>
5423
5424         faccessat: Simplify autoconf macro.
5425         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
5426         gl_FUNC_EUIDACCESS.
5427
5428 2011-11-08  Bruno Haible  <bruno@clisp.org>
5429
5430         renameat: Fix dependencies.
5431         * modules/renameat (Depends-on): Add stdbool.
5432
5433 2011-11-08  Bruno Haible  <bruno@clisp.org>
5434
5435         mkfifoat: Fix module description.
5436         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
5437         not gl_UNISTD_MODULE_INDICATOR.
5438
5439 2011-11-08  Bruno Haible  <bruno@clisp.org>
5440
5441         fstatat: Remove unused dependency.
5442         * modules/fstatat (Depends-on): Remove fstat.
5443
5444 2011-11-08  Simon Josefsson  <simon@josefsson.org>
5445
5446         GNUmakefile: behave when Makefile is missing.
5447         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
5448
5449 2011-11-08  Bruno Haible  <bruno@clisp.org>
5450
5451         openat: Conditionalize dependencies.
5452         * lib/openat.c: Reduce the scope of some #includes.
5453         * modules/openat (Depends-on): Add conditions.
5454
5455 2011-11-07  Jim Meyering  <meyering@redhat.com>
5456
5457         maint.mk: extract GPG key ID without using a temporary file
5458         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
5459         without using a temporary file.  Based on a suggestion from Werner Koch
5460         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
5461
5462 2011-11-07  Eric Blake  <eblake@redhat.com>
5463
5464         grantpt: fix typo
5465         * lib/stdlib.in.h (grantpt): Check correct function.
5466
5467         maint.mk: silence new syntax check
5468         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
5469
5470 2011-11-06  Bruno Haible  <bruno@clisp.org>
5471
5472         Doc about floating-point and math API.
5473         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
5474         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
5475
5476 2011-11-06  Bruno Haible  <bruno@clisp.org>
5477
5478         stdalign tests: Skip the test when compiled by Sun C.
5479         * tests/test-stdalign.c (main): Skip the test on Sun C.
5480
5481 2011-11-06  Bruno Haible  <bruno@clisp.org>
5482
5483         ansi-c++-opt: Complete the 2011-06-05 change.
5484         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
5485         does not support namespaces, set the variable to "no", not to ":".
5486
5487 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
5488
5489         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
5490
5491 2011-11-06  Bruno Haible  <bruno@clisp.org>
5492
5493         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
5494         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
5495         (minus_zerol) [HP-UX]: New macro.
5496         (unary_minus) [HP-UX]: New function.
5497         (copysignl) [HP-UX]: Use unary_minus function.
5498
5499 2011-11-06  Bruno Haible  <bruno@clisp.org>
5500
5501         ldexp, ldexpf, ldexpl: Enhance tests.
5502         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
5503         and tests/test-ldexpl.c.
5504         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
5505         LDEXP, MIN_EXP, MAX_EXP): New macros.
5506         Include test-ldexp.h.
5507         (main): Just call test_function.
5508         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
5509         infinity.h, nan.h.
5510         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
5511         MAX_EXP): New macros.
5512         Include test-ldexp.h.
5513         (x, y): Remove variables.
5514         (main): Just call test_function.
5515         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
5516         infinity.h, nan.h.
5517         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
5518         MAX_EXP): New macros.
5519         Include test-ldexp.h.
5520         (x, y): Remove variables.
5521         (main): Just call test_function.
5522         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
5523         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
5524         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
5525         (Depends-on): Add isnand-nolibm, signbit, float.
5526         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
5527         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
5528         (Depends-on): Add isnanf-nolibm, signbit, float.
5529
5530 2011-11-06  Bruno Haible  <bruno@clisp.org>
5531
5532         math tests: Cosmetics.
5533         * tests/test-math-c++.cc: Reorder declarations.
5534
5535 2011-11-05  Bruno Haible  <bruno@clisp.org>
5536
5537         fma*: Simplify test.
5538         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
5539         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
5540
5541         Tests for module 'fmal'.
5542         * modules/fmal-tests: New file.
5543         * tests/test-fmal1.c: New file.
5544         * tests/test-fmal2.c: New file.
5545
5546         New module 'fmal'.
5547         * lib/math.in.h (fmal): New declaration.
5548         * lib/fmal.c: New file.
5549         * m4/fmal.m4: New file.
5550         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
5551         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
5552         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
5553         REPLACE_FMAL.
5554         * modules/fmal: New file.
5555         * doc/posix-functions/fmal.texi: Mention the new module and the various
5556         bugs.
5557
5558         Tests for module 'fmaf'.
5559         * modules/fmaf-tests: New file.
5560         * tests/test-fmaf1.c: New file.
5561         * tests/test-fmaf2.c: New file.
5562
5563         New module 'fmaf'.
5564         * lib/math.in.h (fmaf): New declaration.
5565         * lib/fmaf.c: New file.
5566         * m4/fmaf.m4: New file.
5567         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
5568         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
5569         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
5570         REPLACE_FMAF.
5571         * modules/fmaf: New file.
5572         * doc/posix-functions/fmaf.texi: Mention the new module and the various
5573         bugs.
5574
5575         Tests for module 'fma'.
5576         * modules/fma-tests: New file.
5577         * tests/test-fma1.c: New file.
5578         * tests/test-fma1.h: New file.
5579         * tests/test-fma2.c: New file.
5580         * tests/test-fma2.h: New file.
5581
5582         New module 'fma'.
5583         * lib/math.in.h (fma): New declaration.
5584         * lib/fma.c: New file.
5585         * m4/fma.m4: New file.
5586         * m4/fegetround.m4: New file.
5587         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
5588         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
5589         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
5590         REPLACE_FMA.
5591         * modules/fma: New file.
5592         * doc/posix-functions/fma.texi: Mention the new module and the various
5593         bugs.
5594
5595         Extend gl_MATHFUNC.
5596         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
5597         Support 'void' as argument type.
5598         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
5599
5600 2011-11-05  Jim Meyering  <meyering@redhat.com>
5601
5602         maint.mk: also prohibit inclusion of dirent.h without use
5603         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
5604
5605 2011-11-05  Bruno Haible  <bruno@clisp.org>
5606
5607         ldexpl tests: Avoid test failure on MSVC 9.
5608         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
5609         value. Needed in order to enforce the conversion from a value greater
5610         than LDBL_MAX to Infinity.
5611
5612 2011-11-05  Bruno Haible  <bruno@clisp.org>
5613
5614         New modules 'at-internal', 'openat-h', split off from module 'openat'.
5615         * modules/at-internal: New file, extracted from modules/openat.
5616         * modules/openat-h: New file.
5617         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
5618         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
5619         * modules/openat (Description): Add reference to POSIX function.
5620         (Files): Remove lib/openat.h, lib/openat-proc.c.
5621         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
5622         intprops, unistd.
5623         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
5624         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
5625         gl_FCNTL_MODULE_INDICATOR.
5626         (Include): Remove unistd.h, openat.h.
5627         * modules/areadlinkat (Files): Add lib/at-func.c.
5628         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
5629         openat-die, openat-h, save-cwd.
5630         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
5631         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
5632         openat-die, openat-h, save-cwd, unistd.
5633         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
5634         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5635         openat-h, save-cwd. Remove fcntl-h, openat.
5636         * modules/fchmodat (Files): Remove lib/openat.h.
5637         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
5638         openat, stdbool, unistd.
5639         * modules/fchownat (Files): Remove lib/openat.h.
5640         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
5641         openat, stdbool, sys_stat.
5642         * modules/fdopendir (Files): Remove lib/openat-priv.h,
5643         lib/openat-proc.c.
5644         (Depends-on): Add at-internal.
5645         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
5646         * modules/fstatat (Files): Remove lib/openat.h.
5647         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
5648         stdbool, unistd.
5649         * modules/fts (Depends-on): Add openat-h.
5650         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
5651         openat.
5652         * modules/mkdirat (Files): Remove lib/openat.h.
5653         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
5654         openat, stdbool, sys_stat.
5655         * modules/mkfifoat (Files): Add lib/at-func.c.
5656         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5657         openat-h, save-cwd. Remove fcntl-h, openat.
5658         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
5659         * modules/readlinkat (Files): Add lib/at-func.c.
5660         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5661         openat-h, save-cwd. Remove fcntl-h, openat.
5662         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
5663         openat.
5664         * modules/selinux-at (Files): Add lib/at-func.c.
5665         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
5666         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
5667         * modules/symlinkat (Files): Add lib/at-func.c.
5668         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5669         openat-h, save-cwd. Remove fcntl-h, openat.
5670         * modules/unlinkat (Files): Remove lib/openat.h.
5671         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
5672         stdbool.
5673         * modules/utimensat (Files): Add lib/at-func.c.
5674         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
5675         openat-die, openat-h, save-cwd.
5676         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
5677         * modules/fdutimensat-tests (Depends-on): Add openat.
5678         * modules/fstatat-tests (Depends-on): Add openat-h.
5679         * modules/readlinkat-tests (Depends-on): Add openat.
5680         * modules/symlinkat-tests (Depends-on): Add openat.
5681
5682 2011-11-05  Bruno Haible  <bruno@clisp.org>
5683
5684         openat: Include <stdbool.h>.
5685         * lib/openat.c: Include <stdbool.h>.
5686
5687 2011-11-04  Bruno Haible  <bruno@clisp.org>
5688
5689         fchownat, renameat, unlinkat: Fix dependencies.
5690         * modules/fchownat (Depends-on): Add fstatat.
5691         * modules/renameat (Depends-on): Likewise.
5692         * modules/unlinkat (Depends-on): Likewise.
5693
5694 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
5695
5696         openat: remove direct dependency on dirent
5697         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
5698         and hasn't been needed ever since fdopendir was split into its own
5699         module on 2009-08-31.
5700         * modules/openat (Depends-on): Remove dirent.
5701
5702 2011-11-04  Bruno Haible  <bruno@clisp.org>
5703
5704         renameat: Optimize code size.
5705         * modules/renameat (configure.ac): Don't compile at-func2.c if
5706         REPLACE_RENAMEAT is 1.
5707
5708 2011-11-04  Bruno Haible  <bruno@clisp.org>
5709
5710         openat tests: Fix file list.
5711         * modules/openat-tests (Files): Add tests/test-open.h.
5712
5713 2011-11-04  Bruno Haible  <bruno@clisp.org>
5714
5715         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
5716         * modules/fchmodat (Depends-on): Add openat-die.
5717         * modules/fchownat (Depends-on): Likewise.
5718         * modules/linkat (Depends-on): Likewise.
5719         * modules/renameat (Depends-on): Likewise.
5720         * modules/openat (Depends-on): Add dirent.
5721
5722 2011-11-04  Jim Meyering  <meyering@redhat.com>
5723
5724         at-func*.c: fix comments
5725         * lib/at-func2.c: Correct/improve first-line comment.
5726         * lib/at-func.c: Correct grammar in first-line comment.
5727
5728 2011-11-04  Bruno Haible  <bruno@clisp.org>
5729
5730         New module 'mkdirat', split off from module 'openat'.
5731         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
5732         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
5733         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
5734         * modules/mkdirat: New file, extracted from modules/openat.
5735         * modules/openat (Files): Remove lib/mkdirat.c.
5736         (Depends-on): Remove mkdir.
5737         (configure.ac): Remove AC_LIBOBJ of mkdirat.
5738         (Include): Remove <sys/stat.h>.
5739         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
5740         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
5741         tests/test-mkdir.h.
5742         (Depends-on): Remove ignore-value.
5743         (Makefile.am): Remove rules for test-mkdirat.
5744         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
5745         of module 'openat'.
5746         * NEWS: Mention the change.
5747
5748 2011-11-04  Bruno Haible  <bruno@clisp.org>
5749
5750         closedir: Avoid warning on mingw.
5751         * lib/closedir.c: Include <unistd.h>.
5752
5753 2011-11-04  Bruno Haible  <bruno@clisp.org>
5754
5755         New module 'fstatat', split off from module 'openat'.
5756         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
5757         defined.
5758         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
5759         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
5760         gl_FUNC_FSTATAT.
5761         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
5762         * modules/fstatat: New file, extracted from modules/openat.
5763         * modules/openat (Files): Remove lib/fstatat.c.
5764         (Depends-on): Remove lstat.
5765         (configure.ac): Remove AC_LIBOBJ of fstatat.
5766         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
5767         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
5768         tests/test-lstat.h, tests/test-stat.h.
5769         (Depends-on): Remove getcwd-lgpl.
5770         (Makefile.am): Remove rules for test-fstatat.
5771         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
5772         of module 'openat'.
5773         * NEWS: Mention the change.
5774         * modules/getcwd (Depends-on): Add fstatat.
5775         * modules/linkat (Depends-on): Likewise.
5776         * modules/mkfifoat-tests (Depends-on): Likewise.
5777         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
5778
5779 2011-11-03  Bruno Haible  <bruno@clisp.org>
5780
5781         New module 'unlinkat', split off from module 'openat'.
5782         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
5783         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
5784         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
5785         * modules/unlinkat: New file, extracted from modules/openat. Correct
5786         the dependency conditions.
5787         * modules/openat (Files): Remove lib/unlinkat.c.
5788         (Depends-on): Remove rmdir, unlink.
5789         (configure.ac): Remove AC_LIBOBJ of unlinkat.
5790         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
5791         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
5792         tests/test-rmdir.h, tests/test-unlink.h.
5793         (Depends-on): Remove unlinkdir.
5794         (Makefile.am): Remove rules for test-unlinkat.
5795         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
5796         of module 'openat'.
5797         * NEWS: Mention the change.
5798         * modules/linkat-tests (Depends-on): Add unlinkat.
5799         * modules/mkfifoat-tests (Depends-on): Likewise.
5800         * modules/readlinkat-tests (Depends-on): Likewise.
5801
5802 2011-11-02  Bruno Haible  <bruno@clisp.org>
5803
5804         New module 'fchmodat', split off from module 'openat'.
5805         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
5806         defined.
5807         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
5808         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
5809         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
5810         * modules/fchmodat: New file, extracted from modules/openat.
5811         * modules/openat (Files): Remove lib/fchmodat.c.
5812         (configure.ac): Remove AC_LIBOBJ of fchmodat.
5813         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
5814         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
5815         (Makefile.am): Remove rules for test-fchmodat.
5816         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
5817         of module 'openat'.
5818         * NEWS: Mention the change.
5819
5820 2011-11-02  Jim Meyering  <meyering@redhat.com>
5821
5822         putenv: indent #definition of "environ" to placate cppi
5823         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
5824
5825         gitlog-to-changelog: provide a ChangeLog-repair mechanism
5826         Git logs are often treated as immutable, because editing them
5827         changes the SHA1 checksums of all descendants.  Thus, errors in
5828         git logs tend to stay there forever.  However, when we generate
5829         a ChangeLog file -- typically for distribution -- from that git log,
5830         we can actually make corrections in the generated file.  The key
5831         lies in recording in machine-readable/applicable form the desired
5832         corrections.  See --help for description and an example.
5833         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
5834         (usage): Describe it; alphabetize option descriptions.
5835         (main): Honor the new option, carefully.
5836
5837 2011-11-01  Jim Meyering  <meyering@redhat.com>
5838
5839         gitlog-to-changelog: avoid an infloop
5840         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
5841         that ends up being empty.
5842
5843 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
5844
5845         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
5846         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
5847         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
5848         contains (possibly-quoted) backslashes.  This should avoid
5849         all-too-common shell bugs if COMPLICATED contains backslashes in
5850         the "wrong" places.  Reported by David Evans in
5851         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
5852         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
5853         because we want ASCII ranges.  Is there some reason we don't use
5854         the C locale everywhere in this script?
5855         (func_module, top level): Avoid unwanted pathname expansion when
5856         $repo_url_prefix or $repo_url_suffix_repl contain shell
5857         metacharacters like '?' and '*'.
5858
5859 2011-11-01  Bruno Haible  <bruno@clisp.org>
5860
5861         fchownat: Improve description.
5862         * modules/fchownat (Description): Add link to function.
5863
5864 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
5865
5866         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
5867         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
5868         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
5869         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
5870
5871 2011-11-01  Bruno Haible  <bruno@clisp.org>
5872
5873         alignof: Avoid collision with stdalign module.
5874         * lib/alignof.h (alignof): Remove macro.
5875         * NEWS: Mention the change.
5876         Reported by Paul Eggert.
5877
5878 2011-11-01  Bruno Haible  <bruno@clisp.org>
5879
5880         New module 'fchownat', split off from module 'openat'.
5881         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
5882         defined.
5883         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
5884         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
5885         invoke gl_FUNC_FCHOWNAT.
5886         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
5887         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
5888         * modules/fchownat: New file, extracted from modules/openat.
5889         * modules/openat (Files): Remove lib/fchownat.c.
5890         (Depends-on): Remove lchown.
5891         (configure.ac): Remove AC_LIBOBJ of fchownat.
5892         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
5893         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
5894         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
5895         (Depends-on): Remove mgetgroups, usleep, stat-time.
5896         (configure.ac): Remove test for getegid.
5897         (Makefile.am): Remove rules for test-fchownat.
5898         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
5899         of module 'openat'.
5900         * NEWS: Mention the change.
5901
5902 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
5903
5904         stdalign: port better to MSVC and to Sun C 5.11
5905         This fixes some of the problems reported by Bruno Haible in
5906         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
5907         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
5908         shortcomings of MSVC and of Sun C 5.11.
5909         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
5910         around __declspec arg.
5911         * modules/stdalign-tests (Files): Add tests/macros.h.
5912         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
5913         Include macros.h, for ASSERT.
5914         (DECLARE_ALIGNED): Remove.
5915         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
5916         to catch bug), and to 1 if not (simplifies the rest of the code).
5917         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
5918         (CHECK_AUTO): Remove.
5919         (CHECK_ALIGNED): Check only the alignment of the static vars,
5920         since auto var alignment isn't supported by Sun C 5.11.
5921         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
5922         ASSERT failures are easier to diagnose.
5923
5924 2011-10-31  Bruno Haible  <bruno@clisp.org>
5925
5926         doc about some IRIX 5.3 problems.
5927         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
5928         on IRIX 5.3.
5929         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
5930         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
5931         5.3.
5932         * doc/posix-functions/grantpt.texi: Likewise.
5933         * doc/posix-functions/unlockpt.texi: Likewise.
5934         * doc/posix-functions/lgamma.texi: Likewise.
5935         * doc/posix-functions/nextafter.texi: Likewise.
5936         * doc/posix-functions/remainder.texi: Likewise.
5937         * doc/posix-functions/select.texi: Mention misplaced declaration on
5938         IRIX 5.3.
5939         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5940
5941 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
5942
5943         gitlog-to-changelog: fix git-log invocation.
5944         git-log mishandles date strings before 1970-01-01 UTC, and there is
5945         no use to specify --since=1970-01-01 by default anyway.
5946         * build-aux/gitlog-to-changelog: By default, when no --since option
5947         was given, do not specify explicit --since option to git-log.
5948
5949 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
5950
5951         gitlog-to-changelog: new option --append-dot.
5952         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
5953         first non-blank line of each commit message terminated with a dot.
5954
5955 2011-10-30  Bruno Haible  <bruno@clisp.org>
5956
5957         ffsl, ffsll: Avoid compilation error due to 'restrict'.
5958         * lib/ffsl.h: Include <config.h>.
5959         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
5960
5961 2011-10-30  Jim Meyering  <meyering@redhat.com>
5962
5963         GNUmakefile: reenable "make syntax-check" for most projects
5964         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
5965         build-aux variable", "syntax-check" would do nothing but succeed with
5966         the "No version control files detected..." diagnostic (unless you
5967         happened to override _build-aux via cfg.mk).
5968         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
5969         to precede inclusion of maint.mk.  Otherwise, these variables would
5970         be used undefined in any project that does not override the default.
5971
5972 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
5973
5974         gitlog-to-changelog: treat a message with only blank lines as empty.
5975         * build-aux/gitlog-to-changelog: Move the code that removes leading and
5976         trailing blank lines before the code that issues a warning about an
5977         empty commit message.
5978
5979 2011-10-30  Jim Meyering  <meyering@redhat.com>
5980
5981         test-parse-datetime.c: avoid new DST-related false positive test failure
5982         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
5983         based on the time/date we'll convert, not the current time.
5984         Otherwise, the moment we cross a DST boundary like today's in
5985         Europe, (CEST to CET), that offset ends up being one hour off.
5986
5987 2011-10-27  Bruno Haible  <bruno@clisp.org>
5988
5989         fstat: Tweak documentation.
5990         * modules/fstat (Description): More precise description.
5991
5992 2011-10-27  Bruno Haible  <bruno@clisp.org>
5993
5994         Update documentation regarding 'largefile' module.
5995         * doc/posix-functions/fstat.texi: Tweak wording.
5996         * doc/posix-functions/opendir.texi: Mention that the module fixes the
5997         problems with huge directories and/or small ino_t types.
5998         * doc/posix-functions/readdir.texi: Likewise.
5999         * doc/posix-functions/rewinddir.texi: Likewise.
6000
6001 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
6002
6003         maint.mk: don't maintain a second build-aux variable.
6004         * maint.mk (build_aux): Removed.  The maintainer-makefile module
6005         depends on GNUmakefile, which already maintains a cfg.mk
6006         overridable $(_build-aux) for projects with a non-standard
6007         build-aux directory location, although without the $(srcdir)
6008         prefix.  Use that variable consistently instead of introducing a
6009         second one.  Adjust all call sites.
6010
6011 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
6012
6013         Add stdalign module and use it in other modules.
6014         This is based on a previous proposal by Bruno Haible
6015         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
6016
6017         stdalign: new module
6018         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
6019         * modules/stdalign: New files.
6020         * MODULES.html.sh (c1x_core_properties): Add stdalign.
6021         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
6022
6023         stdalign-tests: new module
6024         * modules/stdalign-tests, tests/test-stdalign.c: New files.
6025
6026         argp: use stdalign
6027         * lib/argp-parse.c: Include <stdalign.h>.
6028         (alignof): Remove.
6029         * modules/argp (Depends-on): Add stdalign.
6030
6031         crypto libraries: use stdalign
6032         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
6033         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
6034         Do not include <stdlib.h> twice, in md4.c.
6035         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
6036         because we are accessing a pointer's bit-pattern, not a size.
6037         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
6038         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
6039         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
6040         * modules/crypto/sha512: Likewise.
6041
6042         sys_socket: use stdalign, not alignof
6043         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
6044         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
6045
6046 2011-10-27  Bruno Haible  <bruno@clisp.org>
6047
6048         raise test: Avoid a test failure on Linux/MIPS.
6049         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
6050         because 99 is a valid signal on Linux/MIPS.
6051
6052 2011-10-27  Bruno Haible  <bruno@clisp.org>
6053
6054         nonblocking tests: Fix test failure on Linux/MIPS.
6055         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
6056         Set to 270000.
6057
6058 2011-10-27  Bruno Haible  <bruno@clisp.org>
6059
6060         utimensat: Work around problem on Linux/hppa.
6061         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
6062         values.
6063         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
6064
6065 2011-10-25  Jim Meyering  <meyering@redhat.com>
6066
6067         maint.mk: fix a bug in sc_prohibit_stddef_without_use
6068         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
6069         after symbols like NULL, size_t, etc.
6070         Reported by Alfred M. Szmidt.
6071
6072         maint.mk: exempt ENODATA from a syntax-check rule
6073         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
6074         from the sc_prohibit_always-defined_macros syntax-check rule.
6075         Add a comment.  See this for more details:
6076         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
6077
6078 2011-10-23  Jim Meyering  <meyering@redhat.com>
6079
6080         fts: close parent dir FD before returning from post-traversal fts_read
6081         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
6082         unlink A, even though an FD open on A remained.  This is suboptimal
6083         (holding a file descriptor open longer than needed), but otherwise not
6084         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
6085         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
6086         that represents a real problem: it causes the removal of A to fail
6087         with e.g., "rm: cannot remove `A': Device or resource busy"
6088
6089         fts visits each directory twice and keeps a cache (fts_fd_ring) of
6090         directory file descriptors.  After completing the final, FTS_DP,
6091         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
6092         cache, but then proceeded to add a new FD to it via the subsequent
6093         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
6094         final file descriptor would be closed only via fts_close's call to
6095         fd_ring_clear.  Now, it is usually closed earlier, via the final
6096         FTS_DP-returning fts_read call.
6097         * lib/fts.c (restore_initial_cwd): New function, converted from
6098         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
6099         Update callers.
6100         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
6101         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
6102
6103 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
6104             Bruno Haible  <bruno@clisp.org>
6105             Jim Meyering  <jim@meyering.net>
6106
6107         readme-release: improve safety of release prep instructions.
6108         * README-release: Don't git pull all branches when only master
6109         is needed for the release process.
6110         Run make maintainer-clean before changing trees and merging.
6111         Don't try to run ./configure right after git pull in case files
6112         that influence the bootstrap process have changed, move the
6113         ./configure step to after running ./bootstrap.
6114         Don't bootstrap "one last time"... it's the first time!
6115
6116 2011-10-22  Bruno Haible  <bruno@clisp.org>
6117
6118         errno, strerror-override: Support for MSVC 10.
6119         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
6120         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
6121         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
6122         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
6123         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
6124         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
6125         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
6126         Assign values compatible with MSVC 10.
6127         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
6128         New macros.
6129         (GNULIB_defined_EWINSOCK): New macro.
6130         * lib/strerror-override.c (strerror_override): Update accordingly.
6131         * lib/strerror-override.h: Likewise.
6132         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
6133         longer equal to the corresponding errno value.
6134         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6135
6136 2011-10-22  Bruno Haible  <bruno@clisp.org>
6137
6138         perror: Recognize when test program crashes.
6139         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
6140         strerror, set gl_cv_func_perror_works to no.
6141         Reported by Daniel Richard G. <skunk@iskunk.org>.
6142
6143         perror: Fix indentation.
6144         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
6145
6146 2011-10-22  Bruno Haible  <bruno@clisp.org>
6147
6148         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
6149         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
6150         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
6151         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
6152         functions, not as a macro.
6153         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
6154         macros.
6155         (isfinite, isinf, isnan, signbit): Check overloaded functions and
6156         absence of macro.
6157         Suggested by Eric Blake.
6158         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6159
6160 2011-10-21  Bruno Haible  <bruno@clisp.org>
6161
6162         relocatable-prog-wrapper: Don't leave object files behind.
6163         * build-aux/install-reloc: Re-synchronize list of .o files to be
6164         removed with list of compilation units.
6165
6166 2011-10-20  Bruno Haible  <bruno@clisp.org>
6167
6168         openpty, posix_openpt: Remove code duplication.
6169         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
6170         * lib/openpty.c: Include <stdlib.h>.
6171         (openpty): Use posix_openpt on all platforms except IRIX.
6172         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
6173
6174 2011-10-20  Bruno Haible  <bruno@clisp.org>
6175
6176         unlockpt: Detect invalid argument.
6177         * lib/unlockpt.c: Include <fcntl.h>.
6178         (unlockpt): Check whether fd is valid, using fcntl().
6179         * modules/unlockpt (Depends-on): Add fcntl-h.
6180
6181 2011-10-20  Bruno Haible  <bruno@clisp.org>
6182
6183         openpty: Avoid compilation error on AIX 6.1.
6184         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
6185
6186 2011-10-20  Bruno Haible  <bruno@clisp.org>
6187
6188         posix_openpt: Support for OpenBSD.
6189         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
6190         (posix_openpt) [OpenBSD]: New code.
6191         * lib/grantpt.c: Include <fcntl.h>.
6192         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
6193         * modules/grantpt (Depends-on): Add fcntl-h.
6194
6195 2011-10-20  Bruno Haible  <bruno@clisp.org>
6196
6197         posix_openpt test: Coding style.
6198         * tests/test-posix_openpt.c: Use GNU coding style.
6199
6200 2011-10-20  Bruno Haible  <bruno@clisp.org>
6201
6202         grantpt: Support --avoid=pt_chown.
6203         * modules/grantpt (Files): Add lib/pty-private.h.
6204
6205 2011-10-20  Bruno Haible  <bruno@clisp.org>
6206
6207         posix_openpt: Fix autoconf macro.
6208         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
6209         unneeded check for _getpty.
6210
6211 2011-10-20  Bruno Haible  <bruno@clisp.org>
6212
6213         openpty: Update comments.
6214         * lib/openpty.c: Add comments about Minix.
6215
6216 2011-10-19  Eric Blake  <eblake@redhat.com>
6217
6218         openpty: relax license
6219         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
6220
6221         pt_chown: use configmake to simplify build
6222         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
6223
6224         ptsname and others: relax license
6225         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
6226         * modules/unlockpt (License): Likewise.
6227         * modules/pt_chown (License): Likewise.
6228         * modules/ptsname (License): Likewise.
6229         * modules/ttyname_r (License): Likewise.
6230
6231 2011-10-19  Jim Meyering  <meyering@redhat.com>
6232
6233         posix_openpt: remove spurious #endif
6234         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
6235
6236 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
6237
6238         maint.mk: Respect $(build_aux) in web-manual rule.
6239         * top/maint.mk (web-manual): Find gen-announce script in user's
6240         $(build_aux) directory instead of hard-coding 'build-aux'.
6241
6242 2011-10-19  Bruno Haible  <bruno@clisp.org>
6243
6244         posix_openpt: Fix compilation error.
6245         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
6246         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
6247         Mention the openpty module as an alternative.
6248
6249 2011-10-19  Bruno Haible  <bruno@clisp.org>
6250
6251         Support for old NeXTstep 3.3 frexp().
6252         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
6253         execution time of the test to 5 seconds.
6254         Reported by Daniel Richard G. <skunk@iskunk.org>.
6255
6256 2011-10-19  Bruno Haible  <bruno@clisp.org>
6257
6258         Support for old NeXTstep 3.3 sed.
6259         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
6260         part, use /.../, not \|...|. Escape periods in the header file name.
6261         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
6262         Reported by Daniel Richard G. <skunk@iskunk.org>.
6263
6264 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
6265
6266         Support for old NeXTstep 3.3 gcc.
6267         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
6268         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
6269         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
6270         * lib/spawn.in.h (_Restrict_arr_): Likewise.
6271         * lib/regex.h (_Restrict_arr_): Likewise.
6272         * lib/regex_internal.h (re_token_t): Likewise.
6273         * lib/regexec.c (check_node_accept_bytes): Likewise.
6274         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
6275
6276 2011-10-18  Eric Blake  <eblake@redhat.com>
6277
6278         posix_openpt: new module
6279         * modules/posix_openpt: New module.
6280         * m4/posix_openpt.m4: New file.
6281         * lib/posix_openpt.c: Likewise.
6282         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
6283         (gl_STDLIB_H_DEFAULTS): Set defaults.
6284         * modules/stdlib (Makefile.am): Substitute macros.
6285         * lib/stdlib.in.h (posix_openpt): Declare.
6286         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
6287         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
6288         * modules/posix_openpt-tests: New test module.
6289         * tests/test-posix_openpt.c: New test.
6290
6291 2011-10-15  Bruno Haible  <bruno@clisp.org>
6292
6293         xstrtoll: Fix compilation failure.
6294         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
6295         from lib/strtol.c.
6296         * doc/posix-headers/limits.texi: Mention missing numerical limits on
6297         some platforms.
6298         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6299
6300 2011-10-15  Bruno Haible  <bruno@clisp.org>
6301
6302         vasnprintf: Optimize bit search operation.
6303         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
6304         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
6305         gl_DOUBLE_EXPONENT_LOCATION.
6306         * modules/vasnprintf (Files): Add m4/exponentd.m4.
6307         * modules/unistdio/u8-vasnprintf (Files): Likewise.
6308         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
6309         * modules/unistdio/u16-vasnprintf (Files): Likewise.
6310         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
6311         * modules/unistdio/u32-vasnprintf (Files): Likewise.
6312         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
6313         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
6314         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
6315
6316 2011-10-15  Bruno Haible  <bruno@clisp.org>
6317
6318         vasnprintf: Fix comments.
6319         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
6320
6321 2011-10-14  Bruno Haible  <bruno@clisp.org>
6322
6323         Tests for module 'integer_length_ll'.
6324         * modules/integer_length_ll-tests: New file.
6325         * tests/test-integer_length_ll.c: New file.
6326
6327         New module 'integer_length_ll'.
6328         * lib/integer_length_ll.c: New file.
6329         * modules/integer_length_ll: New file.
6330
6331 2011-10-14  Bruno Haible  <bruno@clisp.org>
6332
6333         Tests for module 'integer_length_l'.
6334         * modules/integer_length_l-tests: New file.
6335         * tests/test-integer_length_l.c: New file.
6336
6337         New module 'integer_length_l'.
6338         * lib/integer_length_l.c: New file.
6339         * modules/integer_length_l: New file.
6340
6341 2011-10-14  Bruno Haible  <bruno@clisp.org>
6342
6343         Tests for module 'integer_length'.
6344         * modules/integer_length-tests: New file.
6345         * tests/test-integer_length.c: New file.
6346
6347         New module 'integer_length'.
6348         * lib/integer_length.h: New file.
6349         * lib/integer_length.c: New file.
6350         * modules/integer_length: New file.
6351
6352 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
6353
6354         popen: Fix dependency conditions.
6355         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
6356
6357 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
6358
6359         perror: Fix autoconf test.
6360         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
6361         <stdlib.h> and <string.h>.
6362
6363 2011-10-14  Bruno Haible  <bruno@clisp.org>
6364
6365         ffsl: Optimize on 64-bit platforms.
6366         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
6367         unrolling.
6368
6369 2011-10-13  Bruno Haible  <bruno@clisp.org>
6370
6371         ffsl: Optimize on 32-bit platforms.
6372         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
6373         use ffs() without a loop.
6374
6375         ffsl, ffsll: Optimize for GCC.
6376         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
6377         * lib/ffsl.c (GCC_BUILTIN): New macro.
6378         * lib/ffsll.c (GCC_BUILTIN): Likewise.
6379
6380 2011-10-13  Bruno Haible  <bruno@clisp.org>
6381
6382         ffs, bcopy, memset: Support symbol renaming via config.h.
6383         * lib/ffs.c: Include <config.h>.
6384         * lib/bcopy.c: Likewise.
6385         * lib/memset.c: Likewise.
6386
6387 2011-10-10  Bruno Haible  <bruno@clisp.org>
6388
6389         atanl: Simplify for platforms where 'long double' == 'double'.
6390         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
6391         alternative implementation.
6392         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6393         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6394         * modules/atanl (Depends-on): Add atan. Update conditions.
6395
6396 2011-10-10  Bruno Haible  <bruno@clisp.org>
6397
6398         acosl: Simplify for platforms where 'long double' == 'double'.
6399         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
6400         alternative implementation.
6401         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6402         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6403         * modules/acosl (Depends-on): Add acos. Update conditions.
6404
6405 2011-10-10  Bruno Haible  <bruno@clisp.org>
6406
6407         asinl: Simplify for platforms where 'long double' == 'double'.
6408         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
6409         alternative implementation.
6410         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6411         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6412         * modules/asinl (Depends-on): Add asin. Update conditions.
6413
6414 2011-10-10  Bruno Haible  <bruno@clisp.org>
6415
6416         tanl: Simplify for platforms where 'long double' == 'double'.
6417         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
6418         implementation.
6419         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6420         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6421         * modules/tanl (Depends-on): Add tan. Update conditions.
6422         (configure.ac): Don't compile trigl.c if
6423         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6424
6425 2011-10-10  Bruno Haible  <bruno@clisp.org>
6426
6427         cosl: Simplify for platforms where 'long double' == 'double'.
6428         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
6429         implementation.
6430         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6431         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6432         * modules/cosl (Depends-on): Add cos. Update conditions.
6433         (configure.ac): Don't compile sincosl.c and trigl.c if
6434         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6435
6436 2011-10-10  Bruno Haible  <bruno@clisp.org>
6437
6438         sinl: Simplify for platforms where 'long double' == 'double'.
6439         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
6440         implementation.
6441         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6442         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6443         * modules/sinl (Depends-on): Add sin. Update conditions.
6444         (configure.ac): Don't compile sincosl.c and trigl.c if
6445         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6446
6447 2011-10-10  Bruno Haible  <bruno@clisp.org>
6448
6449         logl: Simplify for platforms where 'long double' == 'double'.
6450         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
6451         implementation.
6452         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6453         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6454         * modules/logl (Depends-on): Add log. Update conditions.
6455
6456 2011-10-10  Bruno Haible  <bruno@clisp.org>
6457
6458         expl: Simplify for platforms where 'long double' == 'double'.
6459         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
6460         implementation.
6461         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6462         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6463         * modules/expl (Depends-on): Add exp. Update conditions.
6464
6465 2011-10-10  Bruno Haible  <bruno@clisp.org>
6466
6467         sqrtl: Simplify for platforms where 'long double' == 'double'.
6468         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
6469         alternative implementation.
6470         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6471         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6472         * modules/sqrtl (Depends-on): Update conditions.
6473
6474 2011-10-10  Bruno Haible  <bruno@clisp.org>
6475
6476         ldexpl: Simplify for platforms where 'long double' == 'double'.
6477         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
6478         alternative implementation.
6479         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6480         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6481         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
6482
6483 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
6484
6485         ffsll: set correct witness
6486         * modules/ffsll (configure.ac): Fix typo.
6487
6488 2011-10-10  Bruno Haible  <bruno@clisp.org>
6489
6490         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
6491         * lib/printf-frexpl.c: Include <config.h>.
6492         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6493         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
6494         second time.
6495         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
6496         gl_LONG_DOUBLE_VS_DOUBLE.
6497         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
6498         conditions.
6499
6500 2011-10-10  Bruno Haible  <bruno@clisp.org>
6501
6502         frexpl: Simplify for platforms where 'long double' == 'double'.
6503         * lib/frexpl.c: Include <config.h>.
6504         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6505         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6506         time.
6507         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6508         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6509         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
6510         * modules/frexpl (Depends-on): Add frexp. Update conditions.
6511         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
6512         conditions.
6513
6514 2011-10-10  Jim Meyering  <meyering@redhat.com>
6515
6516         test-renameat: don't leave behind a temporary file
6517         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
6518           ERROR: files left in build directory after distclean:
6519           ./gltests/test-renameat.too
6520           make[1]: *** [distcleancheck] Error 1
6521         Reported by Tom G. Christensen.
6522
6523 2011-10-09  Bruno Haible  <bruno@clisp.org>
6524
6525         rint: Determine RINT_LIBM correctly on AIX 7.
6526         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
6527         directly, not only through a function pointer. Also accept an optional
6528         4th argument with extra code.
6529         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
6530         rintf() call by gcc when optimizing.
6531
6532         mathfunc.m4: Refactor.
6533         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
6534         m4 variable.
6535
6536 2011-10-09  Bruno Haible  <bruno@clisp.org>
6537
6538         rintl: Simplify for platforms where 'long double' == 'double'.
6539         * lib/rintl.c: Include <config.h>.
6540         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6541         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6542         time.
6543         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6544         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6545         * modules/rintl (Depends-on): Add rint. Update conditions.
6546
6547 2011-10-09  Bruno Haible  <bruno@clisp.org>
6548
6549         roundl: Simplify for platforms where 'long double' == 'double'.
6550         * lib/roundl.c: Include <config.h>.
6551         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6552         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6553         time.
6554         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6555         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6556         * modules/roundl (Depends-on): Add round. Update conditions.
6557
6558 2011-10-09  Bruno Haible  <bruno@clisp.org>
6559
6560         truncl: Simplify for platforms where 'long double' == 'double'.
6561         * lib/truncl.c: Include <config.h>.
6562         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6563         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6564         time.
6565         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6566         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6567         * modules/truncl (Depends-on): Add trunc. Update conditions.
6568
6569 2011-10-09  Bruno Haible  <bruno@clisp.org>
6570
6571         ceill: Simplify for platforms where 'long double' == 'double'.
6572         * lib/ceill.c: Include <config.h>.
6573         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6574         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6575         time.
6576         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6577         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6578         * modules/ceill (Depends-on): Add ceil. Update conditions.
6579
6580 2011-10-09  Bruno Haible  <bruno@clisp.org>
6581
6582         floorl: Simplify for platforms where 'long double' == 'double'.
6583         * lib/floorl.c: Include <config.h>.
6584         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6585         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6586         time.
6587         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6588         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6589         * modules/floorl (Depends-on): Add floor. Update conditions.
6590
6591 2011-10-09  Bruno Haible  <bruno@clisp.org>
6592
6593         rint: Fix ordering constraints.
6594         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
6595         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
6596         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
6597
6598 2011-10-09  Bruno Haible  <bruno@clisp.org>
6599
6600         copysignl: Simplify for platforms where 'long double' == 'double'.
6601         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
6602         alternative.
6603         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6604         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6605         * modules/copysignl (Depends-on): Add copysign. Update conditions.
6606
6607 2011-10-09  Bruno Haible  <bruno@clisp.org>
6608
6609         Tests for module 'rintl'.
6610         * modules/rintl-tests: New file.
6611         * tests/test-rintl.c: New file.
6612
6613         New module 'rintl'.
6614         * lib/math.in.h (rintl): New declaration.
6615         * lib/rintl.c: New file.
6616         * m4/rintl.m4: New file.
6617         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
6618         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
6619         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
6620         * modules/rintl: New file.
6621         * tests/test-math-c++.cc: Check the declaration of rintl.
6622         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
6623         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
6624         * doc/posix-functions/rintl.texi: Mention the new module.
6625
6626 2011-10-09  Bruno Haible  <bruno@clisp.org>
6627
6628         Tests for module 'rintf'.
6629         * modules/rintf-tests: New file.
6630         * tests/test-rintf.c: New file.
6631
6632         New module 'rintf'.
6633         * lib/math.in.h (rintf): New declaration.
6634         * lib/rintf.c: New file.
6635         * m4/rintf.m4: New file.
6636         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
6637         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
6638         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
6639         * modules/rintf: New file.
6640         * tests/test-math-c++.cc: Check the declaration of rintf.
6641         * doc/posix-functions/rintf.texi: Mention the new module.
6642
6643 2011-10-09  Bruno Haible  <bruno@clisp.org>
6644
6645         rint: Support for MSVC.
6646         * lib/math.in.h (rint): New declaration.
6647         * lib/rint.c: New file.
6648         * m4/rint.m4: New file.
6649         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
6650         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
6651         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
6652         * modules/rint (Description): Fix.
6653         (Files): Add lib/rint.c, m4/rint.m4.
6654         (Depends-on): Add math.
6655         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
6656         gl_MATH_MODULE_INDICATOR.
6657         * tests/test-math-c++.cc: Check the declaration of rint.
6658         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
6659         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
6660         * doc/posix-functions/rint.texi: Mention the replacement provided by
6661         the module.
6662
6663         rint tests: More tests.
6664         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
6665         minus-zero.h, infinity.h, nan.h.
6666         (main): Skip the test if the current rounding mode is not standard. Add
6667         tests for negative numbers, minus zero, infinity, NaN.
6668         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
6669         tests/nan.h.
6670         (Depends-on): Add isnand-nolibm.
6671
6672 2011-10-09  Bruno Haible  <bruno@clisp.org>
6673
6674         Tests for module 'copysignl'.
6675         * modules/copysignl-tests: New file.
6676         * tests/test-copysignl.c: New file.
6677
6678         New module 'copysignl'.
6679         * lib/math.in.h (copysignl): New declaration.
6680         * lib/copysignl.c: New file.
6681         * m4/copysignl.m4: New file.
6682         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
6683         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
6684         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
6685         HAVE_COPYSIGNL.
6686         * modules/copysignl: New file.
6687         * tests/test-math-c++.cc: Check the declaration of copysignl.
6688         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
6689         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
6690         * doc/posix-functions/copysignl.texi: Mention the new module.
6691
6692 2011-10-09  Bruno Haible  <bruno@clisp.org>
6693
6694         Tests for module 'copysignf'.
6695         * modules/copysignf-tests: New file.
6696         * tests/test-copysignf.c: New file.
6697
6698         New module 'copysignf'.
6699         * lib/math.in.h (copysignf): New declaration.
6700         * lib/copysignf.c: New file.
6701         * m4/copysignf.m4: New file.
6702         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
6703         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
6704         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
6705         HAVE_COPYSIGNF.
6706         * modules/copysignf: New file.
6707         * tests/test-math-c++.cc: Check the declaration of copysignf.
6708         * doc/posix-functions/copysignf.texi: Mention the new module.
6709
6710 2011-10-09  Bruno Haible  <bruno@clisp.org>
6711
6712         Ensure that HAVE_* variables are set to 1 before they are set to 0.
6713         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
6714         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
6715         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
6716         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
6717         gl_SIGNAL_H_DEFAULTS.
6718
6719 2011-10-09  Bruno Haible  <bruno@clisp.org>
6720
6721         poll: Make macro safer.
6722         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
6723         ac_cv_header_poll_h is not set.
6724
6725 2011-10-09  Bruno Haible  <bruno@clisp.org>
6726
6727         copysign: Provide replacement.
6728         * lib/math.in.h (copysign): New declaration.
6729         * lib/copysign.c: New file.
6730         * m4/copysign.m4: New file.
6731         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
6732         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
6733         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
6734         HAVE_COPYSIGN.
6735         * modules/copysign (Description): Clarify.
6736         (Files): Add lib/copysign.c, m4/copysign.m4.
6737         (Depends-on): Add math, signbit.
6738         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
6739         gl_MATH_MODULE_INDICATOR.
6740         * tests/test-math-c++.cc: Check the declaration of copysign.
6741         * doc/posix-functions/copysign.texi: Mention the effects of the module
6742         on Minix and MSVC.
6743
6744 2011-10-09  Bruno Haible  <bruno@clisp.org>
6745
6746         isinf: Ensure macro on AIX 5.1.
6747         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
6748         macro.
6749         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
6750
6751 2011-10-09  Bruno Haible  <bruno@clisp.org>
6752
6753         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
6754         * modules/snprintf-posix-tests (configure.ac): Require
6755         gl_LONG_DOUBLE_VS_DOUBLE.
6756         * modules/sprintf-posix-tests (configure.ac): Likewise.
6757         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
6758         * modules/vasprintf-posix-tests (configure.ac): Likewise.
6759         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
6760         * modules/vsprintf-posix-tests (configure.ac): Likewise.
6761         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
6762         tests on platforms where 'long double' is the same as 'double'.
6763         * tests/test-sprintf-posix.h (test_function): Likewise.
6764         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6765         * tests/test-vasprintf-posix.c (test_function): Likewise.
6766
6767         *printf: Fix for platforms where 'long double' == 'double'.
6768         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
6769         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
6770         * modules/dprintf-posix (Files): Add m4/math_h.m4.
6771         * modules/fprintf-posix (Files): Likewise.
6772         * modules/obstack-printf-posix (Files): Likewise.
6773         * modules/snprintf-posix (Files): Likewise.
6774         * modules/sprintf-posix (Files): Likewise.
6775         * modules/vasnprintf (Files): Likewise.
6776         * modules/vasnprintf-posix (Files): Likewise.
6777         * modules/vasprintf-posix (Files): Likewise.
6778         * modules/vdprintf-posix (Files): Likewise.
6779         * modules/vfprintf-posix (Files): Likewise.
6780         * modules/vsnprintf-posix (Files): Likewise.
6781         * modules/vsprintf-posix (Files): Likewise.
6782         * modules/unistdio/u8-vasnprintf (Files): Likewise.
6783         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
6784         * modules/unistdio/u16-vasnprintf (Files): Likewise.
6785         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
6786         * modules/unistdio/u32-vasnprintf (Files): Likewise.
6787         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
6788         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
6789
6790         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
6791         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
6792         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6793         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
6794         'long double'.
6795         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
6796
6797         isinf: Fix for platforms where 'long double' == 'double'.
6798         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
6799         Don't blindly assume 80-bit 'long double'.
6800
6801         isfinite: Fix for platforms where 'long double' == 'double'.
6802         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
6803         Don't blindly assume 80-bit 'long double'.
6804
6805         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
6806         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
6807         * modules/isfinite-tests (configure.ac): Require
6808         gl_LONG_DOUBLE_VS_DOUBLE.
6809         * modules/isinf-tests (configure.ac): Likewise.
6810         * modules/isnan-tests (configure.ac): Likewise.
6811         * modules/isnanl-tests (configure.ac): Likewise.
6812         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
6813         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
6814         tests on platforms where 'long double' is the same as 'double'.
6815         * tests/test-isinf.c (test_isinfl): Likewise.
6816         * tests/test-isnan.c (test_long_double): Likewise.
6817         * tests/test-isnanl.h (main): Likewise.
6818
6819 2011-10-08  Bruno Haible  <bruno@clisp.org>
6820
6821         Tests for module 'tanhf'.
6822         * modules/tanhf-tests: New file.
6823         * tests/test-tanhf.c: New file.
6824
6825         New module 'tanhf'.
6826         * lib/math.in.h (tanhf): New declaration.
6827         * lib/tanhf.c: New file.
6828         * m4/tanhf.m4: New file.
6829         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
6830         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
6831         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
6832         * modules/tanhf: New file.
6833         * tests/test-math-c++.cc: Check the declaration of tanhf.
6834         * doc/posix-functions/tanhf.texi: Mention the new module.
6835
6836         tanh: Use a .m4 file.
6837         * m4/tanh.m4: New file.
6838         * modules/tanh (Files): Add it.
6839         (configure.ac): Just invoke gl_FUNC_TANH.
6840
6841 2011-10-08  Bruno Haible  <bruno@clisp.org>
6842
6843         Tests for module 'coshf'.
6844         * modules/coshf-tests: New file.
6845         * tests/test-coshf.c: New file.
6846
6847         New module 'coshf'.
6848         * lib/math.in.h (coshf): New declaration.
6849         * lib/coshf.c: New file.
6850         * m4/coshf.m4: New file.
6851         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
6852         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
6853         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
6854         * modules/coshf: New file.
6855         * tests/test-math-c++.cc: Check the declaration of coshf.
6856         * doc/posix-functions/coshf.texi: Mention the new module.
6857
6858         cosh: Use a .m4 file.
6859         * m4/cosh.m4: New file.
6860         * modules/cosh (Files): Add it.
6861         (configure.ac): Just invoke gl_FUNC_COSH.
6862
6863 2011-10-08  Bruno Haible  <bruno@clisp.org>
6864
6865         Tests for module 'sinhf'.
6866         * modules/sinhf-tests: New file.
6867         * tests/test-sinhf.c: New file.
6868
6869         New module 'sinhf'.
6870         * lib/math.in.h (sinhf): New declaration.
6871         * lib/sinhf.c: New file.
6872         * m4/sinhf.m4: New file.
6873         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
6874         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
6875         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
6876         * modules/sinhf: New file.
6877         * tests/test-math-c++.cc: Check the declaration of sinhf.
6878         * doc/posix-functions/sinhf.texi: Mention the new module.
6879
6880         sinh: Use a .m4 file.
6881         * m4/sinh.m4: New file.
6882         * modules/sinh (Files): Add it.
6883         (configure.ac): Just invoke gl_FUNC_SINH.
6884
6885 2011-10-08  Bruno Haible  <bruno@clisp.org>
6886
6887         Tests for module 'atan2f'.
6888         * modules/atan2f-tests: New file.
6889         * tests/test-atan2f.c: New file.
6890
6891         New module 'atan2f'.
6892         * lib/math.in.h (atan2f): New declaration.
6893         * lib/atan2f.c: New file.
6894         * m4/atan2f.m4: New file.
6895         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
6896         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
6897         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
6898         * modules/atan2f: New file.
6899         * tests/test-math-c++.cc: Check the declaration of atan2f.
6900         * doc/posix-functions/atan2f.texi: Mention the new module.
6901
6902         atan2: Use a .m4 file.
6903         * m4/atan2.m4: New file.
6904         * modules/atan2 (Files): Add it.
6905         (configure.ac): Just invoke gl_FUNC_ATAN2.
6906
6907 2011-10-08  Bruno Haible  <bruno@clisp.org>
6908
6909         Tests for module 'atanf'.
6910         * modules/atanf-tests: New file.
6911         * tests/test-atanf.c: New file.
6912
6913         New module 'atanf'.
6914         * lib/math.in.h (atanf): New declaration.
6915         * lib/atanf.c: New file.
6916         * m4/atanf.m4: New file.
6917         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
6918         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
6919         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
6920         * modules/atanf: New file.
6921         * tests/test-math-c++.cc: Check the declaration of atanf.
6922         * doc/posix-functions/atanf.texi: Mention the new module.
6923
6924         atan: Use a .m4 file.
6925         * m4/atan.m4: New file.
6926         * modules/atan (Files): Add it.
6927         (configure.ac): Just invoke gl_FUNC_ATAN.
6928
6929 2011-10-08  Bruno Haible  <bruno@clisp.org>
6930
6931         Tests for module 'acosf'.
6932         * modules/acosf-tests: New file.
6933         * tests/test-acosf.c: New file.
6934
6935         New module 'acosf'.
6936         * lib/math.in.h (acosf): New declaration.
6937         * lib/acosf.c: New file.
6938         * m4/acosf.m4: New file.
6939         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
6940         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
6941         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
6942         * modules/acosf: New file.
6943         * tests/test-math-c++.cc: Check the declaration of acosf.
6944         * doc/posix-functions/acosf.texi: Mention the new module.
6945
6946         acos: Use a .m4 file.
6947         * m4/acos.m4: New file.
6948         * modules/acos (Files): Add it.
6949         (configure.ac): Just invoke gl_FUNC_ACOS.
6950
6951 2011-10-08  Bruno Haible  <bruno@clisp.org>
6952
6953         Tests for module 'asinf'.
6954         * modules/asinf-tests: New file.
6955         * tests/test-asinf.c: New file.
6956
6957         New module 'asinf'.
6958         * lib/math.in.h (asinf): New declaration.
6959         * lib/asinf.c: New file.
6960         * m4/asinf.m4: New file.
6961         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
6962         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
6963         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
6964         * modules/asinf: New file.
6965         * tests/test-math-c++.cc: Check the declaration of asinf.
6966         * doc/posix-functions/asinf.texi: Mention the new module.
6967
6968         asin: Use a .m4 file.
6969         * m4/asin.m4: New file.
6970         * modules/asin (Files): Add it.
6971         (configure.ac): Just invoke gl_FUNC_ASIN.
6972
6973 2011-10-08  Bruno Haible  <bruno@clisp.org>
6974
6975         Tests for module 'tanf'.
6976         * modules/tanf-tests: New file.
6977         * tests/test-tanf.c: New file.
6978
6979         New module 'tanf'.
6980         * lib/math.in.h (tanf): New declaration.
6981         * lib/tanf.c: New file.
6982         * m4/tanf.m4: New file.
6983         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
6984         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
6985         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
6986         * modules/tanf: New file.
6987         * tests/test-math-c++.cc: Check the declaration of tanf.
6988         * doc/posix-functions/tanf.texi: Mention the new module.
6989
6990         tan: Use a .m4 file.
6991         * m4/tan.m4: New file.
6992         * modules/tan (Files): Add it.
6993         (configure.ac): Just invoke gl_FUNC_TAN.
6994
6995 2011-10-08  Bruno Haible  <bruno@clisp.org>
6996
6997         Tests for module 'cosf'.
6998         * modules/cosf-tests: New file.
6999         * tests/test-cosf.c: New file.
7000
7001         New module 'cosf'.
7002         * lib/math.in.h (cosf): New declaration.
7003         * lib/cosf.c: New file.
7004         * m4/cosf.m4: New file.
7005         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
7006         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
7007         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
7008         * modules/cosf: New file.
7009         * tests/test-math-c++.cc: Check the declaration of cosf.
7010         * doc/posix-functions/cosf.texi: Mention the new module.
7011
7012         cos: Use a .m4 file.
7013         * m4/cos.m4: New file.
7014         * modules/cos (Files): Add it.
7015         (configure.ac): Just invoke gl_FUNC_COS.
7016
7017 2011-10-08  Bruno Haible  <bruno@clisp.org>
7018
7019         Tests for module 'sinf'.
7020         * modules/sinf-tests: New file.
7021         * tests/test-sinf.c: New file.
7022
7023         New module 'sinf'.
7024         * lib/math.in.h (sinf): New declaration.
7025         * lib/sinf.c: New file.
7026         * m4/sinf.m4: New file.
7027         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
7028         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
7029         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
7030         * modules/sinf: New file.
7031         * tests/test-math-c++.cc: Check the declaration of sinf.
7032         * doc/posix-functions/sinf.texi: Mention the new module.
7033
7034         sin: Use a .m4 file.
7035         * m4/sin.m4: New file.
7036         * modules/sin (Files): Add it.
7037         (configure.ac): Just invoke gl_FUNC_SIN.
7038
7039 2011-10-08  Bruno Haible  <bruno@clisp.org>
7040
7041         Tests for module 'powf'.
7042         * modules/powf-tests: New file.
7043         * tests/test-powf.c: New file.
7044
7045         New module 'powf'.
7046         * lib/math.in.h (powf): New declaration.
7047         * lib/powf.c: New file.
7048         * m4/powf.m4: New file.
7049         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
7050         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
7051         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
7052         * modules/powf: New file.
7053         * tests/test-math-c++.cc: Check the declaration of powf.
7054         * doc/posix-functions/powf.texi: Mention the new module.
7055
7056         pow: Use a .m4 file.
7057         * m4/pow.m4: New file.
7058         * modules/pow (Files): Add it.
7059         (configure.ac): Just invoke gl_FUNC_POW.
7060
7061 2011-10-08  Bruno Haible  <bruno@clisp.org>
7062
7063         Tests for module 'log10f'.
7064         * modules/log10f-tests: New file.
7065         * tests/test-log10f.c: New file.
7066
7067         New module 'log10f'.
7068         * lib/math.in.h (log10f): New declaration.
7069         * lib/log10f.c: New file.
7070         * m4/log10f.m4: New file.
7071         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
7072         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
7073         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
7074         * modules/log10f: New file.
7075         * tests/test-math-c++.cc: Check the declaration of log10f.
7076         * doc/posix-functions/log10f.texi: Mention the new module.
7077
7078         log10: Use a .m4 file.
7079         * m4/log10.m4: New file.
7080         * modules/log10 (Files): Add it.
7081         (configure.ac): Just invoke gl_FUNC_LOG10.
7082
7083 2011-10-08  Bruno Haible  <bruno@clisp.org>
7084
7085         Tests for module 'logf'.
7086         * modules/logf-tests: New file.
7087         * tests/test-logf.c: New file.
7088
7089         New module 'logf'.
7090         * lib/math.in.h (logf): New declaration.
7091         * lib/logf.c: New file.
7092         * m4/logf.m4: New file.
7093         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
7094         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
7095         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
7096         * modules/logf: New file.
7097         * tests/test-math-c++.cc: Check the declaration of logf.
7098         * doc/posix-functions/logf.texi: Mention the new module.
7099
7100         log: Use a .m4 file.
7101         * m4/log.m4: New file.
7102         * modules/log (Files): Add it.
7103         (configure.ac): Just invoke gl_FUNC_LOG.
7104
7105 2011-10-08  Bruno Haible  <bruno@clisp.org>
7106
7107         Tests for module 'expf'.
7108         * modules/expf-tests: New file.
7109         * tests/test-expf.c: New file.
7110
7111         New module 'expf'.
7112         * lib/math.in.h (expf): New declaration.
7113         * lib/expf.c: New file.
7114         * m4/expf.m4: New file.
7115         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
7116         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
7117         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
7118         * modules/expf: New file.
7119         * tests/test-math-c++.cc: Check the declaration of expf.
7120         * doc/posix-functions/expf.texi: Mention the new module.
7121
7122         exp: Use a .m4 file.
7123         * m4/exp.m4: New file.
7124         * modules/exp (Files): Add it.
7125         (configure.ac): Just invoke gl_FUNC_EXP.
7126
7127 2011-10-08  Bruno Haible  <bruno@clisp.org>
7128
7129         Tests for module 'sqrtf'.
7130         * modules/sqrtf-tests: New file.
7131         * tests/test-sqrtf.c: New file.
7132
7133         New module 'sqrtf'.
7134         * lib/math.in.h (sqrtf): New declaration.
7135         * lib/sqrtf.c: New file.
7136         * m4/sqrtf.m4: New file.
7137         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
7138         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
7139         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
7140         * modules/sqrtf: New file.
7141         * tests/test-math-c++.cc: Check the declaration of sqrtf.
7142         * doc/posix-functions/sqrtf.texi: Mention the new module.
7143
7144 2011-10-08  Bruno Haible  <bruno@clisp.org>
7145
7146         Tests: Avoid link failures w.r.t. libintl.
7147         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
7148         $(LIBINTL).
7149         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
7150         $(LIBINTL).
7151         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
7152         against $(LIBINTL).
7153         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
7154         $(LIBINTL).
7155         * modules/openat-tests (Makefile.am): Link test-fchmodat against
7156         $(LIBINTL).
7157         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
7158
7159 2011-10-08  Bruno Haible  <bruno@clisp.org>
7160
7161         pow tests: Defeat compiler optimizations.
7162         * tests/test-pow.c (main): Assign arguments to x and y before use.
7163
7164 2011-10-08  Bruno Haible  <bruno@clisp.org>
7165
7166         gnulib-tool: Improve last commit.
7167         * gnulib-tool (func_modules_transitive_closure): Simplify code.
7168         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
7169         ignore dependencies that are not among the modules list.
7170
7171 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
7172
7173         gnulib-tool: don't follow dependencies to avoided modules
7174         This fixes a bug that is related to the previous one.
7175         * gnulib-tool (func_modules_transitive_closure)
7176         (func_emit_autoconf_snippets):
7177         Check whether a dependency is acceptable before using it.
7178         (--extract-dependencies): Report an error if --avoid is also used,
7179         since this combination of options is not yet supported.
7180
7181         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
7182         Problem reported by Peter Dyballa in
7183         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
7184         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
7185         when echoing "$condition".
7186
7187 2011-10-07  Bruno Haible  <bruno@clisp.org>
7188
7189         Fix documentation about math functions on MacOS X.
7190         * doc/posix-functions/exp2.texi: Don't say the function is missing on
7191         MacOS X 10.5.
7192         * doc/posix-functions/fdim.texi: Likewise.
7193         * doc/posix-functions/feclearexcept.texi: Likewise.
7194         * doc/posix-functions/fegetenv.texi: Likewise.
7195         * doc/posix-functions/fegetround.texi: Likewise.
7196         * doc/posix-functions/feholdexcept.texi: Likewise.
7197         * doc/posix-functions/feraiseexcept.texi: Likewise.
7198         * doc/posix-functions/fesetenv.texi: Likewise.
7199         * doc/posix-functions/fesetround.texi: Likewise.
7200         * doc/posix-functions/fetestexcept.texi: Likewise.
7201         * doc/posix-functions/feupdateenv.texi: Likewise.
7202         * doc/posix-functions/fmax.texi: Likewise.
7203         * doc/posix-functions/fmin.texi: Likewise.
7204         * doc/posix-functions/log2.texi: Likewise.
7205         * doc/posix-functions/modff.texi: Likewise.
7206         * doc/posix-functions/nan.texi: Likewise.
7207         * doc/posix-functions/nanf.texi: Likewise.
7208         * doc/posix-functions/nextafterf.texi: Likewise.
7209         * doc/posix-functions/remquo.texi: Likewise.
7210
7211 2011-10-07  Bruno Haible  <bruno@clisp.org>
7212
7213         modff: Drop assumption about library that defines modff.
7214         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
7215         AC_CHECK_FUNCS.
7216         * modules/modff (Files): Add m4/mathfunc.m4.
7217
7218 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
7219
7220         raise tests: Avoid a GCC warning.
7221         * tests/test-raise.c (handler): Use _Noreturn.
7222
7223 2011-10-07  Bruno Haible  <bruno@clisp.org>
7224
7225         Tests for module 'ldexpf'.
7226         * modules/ldexpf-tests: New file.
7227         * tests/test-ldexpf.c: New file.
7228
7229         New module 'ldexpf'.
7230         * lib/math.in.h (ldexpf): New declaration.
7231         * lib/ldexpf.c: New file.
7232         * m4/ldexpf.m4: New file.
7233         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
7234         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
7235         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
7236         * modules/ldexpf: New file.
7237         * tests/test-math-c++.cc: Check the declaration of ldexpf.
7238         * doc/posix-functions/ldexpf.texi: Mention the new module.
7239
7240 2011-10-06  Bruno Haible  <bruno@clisp.org>
7241
7242         frexpf: Work around problems on IRIX and mingw.
7243         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
7244         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
7245         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
7246         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
7247         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
7248         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
7249         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
7250
7251 2011-10-06  Bruno Haible  <bruno@clisp.org>
7252
7253         fabsf: Drop assumption about library that defines fabsf.
7254         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
7255         AC_CHECK_FUNCS.
7256         * modules/fabsf (Files): Add m4/mathfunc.m4.
7257
7258 2011-10-06  Bruno Haible  <bruno@clisp.org>
7259
7260         frexpf: Drop assumption about library that defines frexpf.
7261         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
7262         'int *', 'float *', 'long double *', 'float', 'long double'.
7263         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
7264         AC_CHECK_FUNCS.
7265         * modules/frexpf (Files): Add m4/mathfunc.m4.
7266
7267         Tests for module 'frexpf'.
7268         * modules/frexpf-tests: New file.
7269         * tests/test-frexpf.c: New file.
7270
7271         New module 'frexpf'.
7272         * lib/math.in.h (frexpf): New declaration.
7273         * lib/frexpf.c: New file.
7274         * m4/frexpf.m4: New file.
7275         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
7276         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
7277         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
7278         * modules/frexpf: New file.
7279         * tests/test-math-c++.cc: Check the declaration of frexpf.
7280         * doc/posix-functions/frexpf.texi: Mention the new module.
7281
7282 2011-10-06  Bruno Haible  <bruno@clisp.org>
7283
7284         math: Sort function declarations of math.in.h.
7285         * lib/math.in.h (frexp, logb): Move declarations.
7286
7287 2011-10-05  Bruno Haible  <bruno@clisp.org>
7288
7289         Tests for module 'modff'.
7290         * modules/modff-tests: New file.
7291         * tests/test-modff.c: New file.
7292
7293         New module 'modff'.
7294         * lib/math.in.h (modff): New declaration.
7295         * lib/modff.c: New file.
7296         * m4/modff.m4: New file.
7297         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
7298         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
7299         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
7300         * modules/modff: New file.
7301         * tests/test-math-c++.cc: Check the declaration of modff.
7302         * doc/posix-functions/modff.texi: Mention the new module.
7303
7304         modf tests: Make test sharper.
7305         * tests/test-modf.c (main): Strengthen upper bound.
7306
7307         modf: Use a .m4 file.
7308         * m4/modf.m4: New file.
7309         * modules/modf (Files): Add it.
7310         (configure.ac): Just invoke gl_FUNC_MODF.
7311
7312 2011-10-05  Bruno Haible  <bruno@clisp.org>
7313
7314         Tests for module 'fmodf'.
7315         * modules/fmodf-tests: New file.
7316         * tests/test-fmodf.c: New file.
7317
7318         New module 'fmodf'.
7319         * lib/math.in.h (fmodf): New declaration.
7320         * lib/fmodf.c: New file.
7321         * m4/fmodf.m4: New file.
7322         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
7323         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
7324         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
7325         * modules/fmodf: New file.
7326         * tests/test-math-c++.cc: Check the declaration of fmodf.
7327         * doc/posix-functions/fmodf.texi: Mention the new module.
7328
7329         fmod: Use a .m4 file.
7330         * m4/fmod.m4: New file.
7331         * modules/fmod (Files): Add it.
7332         (configure.ac): Just invoke gl_FUNC_FMOD.
7333
7334 2011-10-05  Bruno Haible  <bruno@clisp.org>
7335
7336         Tests for module 'fabsf'.
7337         * modules/fabsf-tests: New file.
7338         * tests/test-fabsf.c: New file.
7339
7340         New module 'fabsf'.
7341         * lib/math.in.h (fabsf): New declaration.
7342         * lib/fabsf.c: New file.
7343         * m4/fabsf.m4: New file.
7344         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
7345         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
7346         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
7347         * modules/fabsf: New file.
7348         * tests/test-math-c++.cc: Check the declaration of fabsf.
7349         * doc/posix-functions/fabsf.texi: Mention the new module.
7350
7351         fabs: Use a .m4 file.
7352         * m4/fabs.m4: New file.
7353         * modules/fabs (Files): Add it.
7354         (configure.ac): Just invoke gl_FUNC_FABS.
7355
7356 2011-10-05  Jim Meyering  <meyering@redhat.com>
7357
7358         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
7359         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
7360         ls -lL regression introduced in coreutils-8.12, it does so at the
7361         cost of an additional stat call in the common case.  Besides, now
7362         that the kernel change that prompted commit 95f7c57f has been reverted
7363         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
7364         we have no use for commit 95f7c57f, "file-has-acl: use
7365         acl_extended_file_nofollow if available".
7366
7367 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
7368
7369         file-has-acl: revert unintended change in behavior of ls -L
7370         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
7371         derived from...
7372         (file_has_acl): ...code here.  Call it.
7373         This problem was introduced with 2011-07-22 commit 95f7c57f,
7374         "file-has-acl: use acl_extended_file_nofollow if available".
7375         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
7376
7377 2011-10-03  Bruno Haible  <bruno@clisp.org>
7378
7379         poll: Avoid link errors on MSVC.
7380         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
7381         * modules/poll (Depends-on): Add sockets.
7382         (Link): New section.
7383         * NEWS: Mention the change.
7384         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
7385         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
7386         $(LIB_POLL) instead of $(LIBSOCKET).
7387
7388 2011-10-03  Bruno Haible  <bruno@clisp.org>
7389
7390         sys_select tests: Fix link error on MSVC 9.
7391         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
7392         with $(LIB_SELECT) instead of $(LIBSOCKET).
7393
7394 2011-10-03  Bruno Haible  <bruno@clisp.org>
7395
7396         sys_select: Fix compilation error on mingw.
7397         * lib/sys_select.in.h: On native Windows, include <io.h>.
7398
7399 2011-10-03  Bruno Haible  <bruno@clisp.org>
7400
7401         wmemset: Support for MSVC.
7402         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
7403         whether wmemset() exists.
7404
7405 2011-10-03  Bruno Haible  <bruno@clisp.org>
7406
7407         wmemmove: Support for MSVC.
7408         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
7409         whether wmemmove() exists.
7410
7411 2011-10-03  Bruno Haible  <bruno@clisp.org>
7412
7413         wmemcpy: Support for MSVC.
7414         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
7415         whether wmemcpy() exists.
7416
7417 2011-10-03  Bruno Haible  <bruno@clisp.org>
7418
7419         wmemcmp: Support for MSVC.
7420         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
7421         whether wmemcmp() exists.
7422
7423 2011-10-03  Bruno Haible  <bruno@clisp.org>
7424
7425         wmemchr: Support for MSVC.
7426         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
7427         whether wmemchr() exists.
7428
7429 2011-10-03  Bruno Haible  <bruno@clisp.org>
7430
7431         glthread/*, strsignal: Support for MSVC.
7432         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
7433         including <winsock.h> on MSVC 9.
7434         * lib/glthread/lock.h: Likewise.
7435         * lib/glthread/thread.h: Likewise.
7436         * lib/glthread/tls.h: Likewise.
7437         * lib/glthread/yield.h: Likewise.
7438         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
7439         if HAVE_UNISTD_H is false.
7440         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
7441
7442 2011-10-03  Bruno Haible  <bruno@clisp.org>
7443
7444         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
7445         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
7446         Set to 100000.
7447
7448 2011-10-03  Bruno Haible  <bruno@clisp.org>
7449
7450         acl: Fix specification.
7451         * lib/file-has-acl.c (file_has_acl): Fix specification.
7452
7453 2011-10-03  Bruno Haible  <bruno@clisp.org>
7454
7455         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
7456         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
7457         (compute_curr_prefix, shared_library_fullname,
7458         find_shared_library_fullname, get_shared_library_fullname, relocate):
7459         Use it together with PIC && INSTALLDIR.
7460         Reported by <jojelino@gmail.com>
7461         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
7462
7463 2011-10-01  Jim Meyering  <meyering@redhat.com>
7464
7465         maint.mk: adjust a release-related rule not to require use of gzip
7466         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
7467         Instead, check each file in $(DIST_ARCHIVES).  This is better for
7468         projects that build only .tar.xz files.  Also fix an erroneous test.
7469
7470         test-linkat: don't leave behind a temporary file
7471         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
7472         Otherwise, coreutils' "make distcheck" would fail with this:
7473           Only in /c/cu/tests/torture/coreutils/test/\
7474             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
7475           make[2]: *** [my-distcheck] Error 1
7476
7477         float, math: add omitted file
7478         * lib/itold.c: Add file, required for yesterday's float change.
7479
7480 2011-10-01  Bruno Haible  <bruno@clisp.org>
7481
7482         isinf: Fix for OpenBSD/x86.
7483         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
7484         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
7485         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
7486
7487 2011-10-01  Bruno Haible  <bruno@clisp.org>
7488
7489         isfinite: Fix syntax error in configure test.
7490         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
7491
7492         isfinite: Fix typo.
7493         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
7494         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
7495
7496 2011-10-01  Bruno Haible  <bruno@clisp.org>
7497
7498         nonblocking tests: Fix test failure on Linux/IA-64.
7499         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
7500         Set to 270000.
7501
7502 2011-10-01  Bruno Haible  <bruno@clisp.org>
7503
7504         mkfifoat tests: Fix a test failure on mingw.
7505         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
7506         with error ENOSYS.
7507
7508 2011-09-30  Bruno Haible  <bruno@clisp.org>
7509
7510         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
7511         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
7512         'long double'. Set REPLACE_ITOLD.
7513         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
7514         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
7515         * lib/itold.c: New file.
7516         * modules/float (Files): Add lib/itold.c.
7517         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
7518         (Makefile.am): Substitute REPLACE_ITOLD.
7519         * modules/math (Depends-on): Add float.
7520         (Makefile.am): Substitute REPLACE_ITOLD.
7521         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
7522         * doc/posix-headers/math.texi: Likewise.
7523         * doc/posix-functions/logl.texi: Likewise.
7524
7525 2011-09-30  Bruno Haible  <bruno@clisp.org>
7526
7527         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
7528         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
7529         Set to 140000.
7530
7531 2011-09-30  Bruno Haible  <bruno@clisp.org>
7532
7533         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
7534         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
7535         invocation, say "right after AC_PROG_CC_STDC", not "right after
7536         AC_PROG_CC".
7537         Reported by Gary V. Vaughan <gary@gnu.org>.
7538
7539 2011-09-30  Bruno Haible  <bruno@clisp.org>
7540
7541         Centralize C99 requirement.
7542         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
7543         * modules/stdarg (configure.ac-early): Invoke it instead of
7544         AC_PROG_CC_STDC.
7545         Reported by Gary V. Vaughan and Paul Eggert.
7546
7547 2011-09-29  Bruno Haible  <bruno@clisp.org>
7548
7549         float: Fix LDBL_MAX value on Linux/PowerPC.
7550         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
7551         on Linux/PowerPC.
7552         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
7553         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
7554         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
7555         platform.
7556         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
7557
7558 2011-09-29  Bruno Haible  <bruno@clisp.org>
7559
7560         doc: Improve doc about gl_EARLY.
7561         * doc/gnulib-tool.texi (Initial import): Mention where to place an
7562         AC_PROG_CC_STDC invocation.
7563         Reported by Gary V. Vaughan <gary@gnu.org>.
7564
7565 2011-09-28  Bruno Haible  <bruno@clisp.org>
7566
7567         fgetc, fputc, fread, fwrite tests: Fix link error.
7568         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
7569         on non-MSVC platforms.
7570         * tests/test-fputc.c (main): Likewise.
7571         * tests/test-fread.c (main): Likewise.
7572         * tests/test-fwrite.c (main): Likewise.
7573         Reported by Jim Meyering.
7574
7575 2011-09-27  Bruno Haible  <bruno@clisp.org>
7576
7577         fputc, fwrite tests: Avoid test failure on MSVC.
7578         * tests/test-fgetc.c: Include msvc-inval.h.
7579         (main): Invoke gl_msvc_inval_ensure_handler.
7580         * tests/test-fputc.c: Include msvc-inval.h.
7581         (main): Invoke gl_msvc_inval_ensure_handler.
7582         * tests/test-fread.c: Include msvc-inval.h.
7583         (main): Invoke gl_msvc_inval_ensure_handler.
7584         * tests/test-fwrite.c: Include msvc-inval.h.
7585         (main): Invoke gl_msvc_inval_ensure_handler.
7586         * modules/fgetc-tests (Depends-on): Add msvc-inval.
7587         * modules/fputc-tests (Depends-on): Likewise.
7588         * modules/fread-tests (Depends-on): Likewise.
7589         * modules/fwrite-tests (Depends-on): Likewise.
7590
7591 2011-09-27  Bruno Haible  <bruno@clisp.org>
7592
7593         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
7594         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
7595         (raise): Remove older, duplicated declaration.
7596         (_gl_raise_SIGPIPE): New declaration.
7597         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
7598         (rpl_raise): Remove function.
7599         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
7600         a gnulib-defined SIGPIPE here.
7601         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
7602         'sigprocmask' has detected missing signal-blocking and the module
7603         'sigpipe' is enabled.
7604         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
7605
7606 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
7607
7608         base64-tests: avoid memory leak
7609         * tests/test-base64.c (main): Plug memory leak.
7610
7611         base32: new module
7612         * modules/base32: New module.
7613         * lib/base32.c: New file.
7614         * lib/base32.h: Likewise.
7615         * m4/base32.m4: Likewise.
7616         * modules/base32-tests: New test.
7617         * tests/test-base32.c: Likewise.
7618         * MODULES.html.sh (Misc): Mention it.
7619
7620 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
7621
7622         gnulib: use more-standard license notice wording
7623         * gnulib-tool (func_emit_copyright_notice): When emitting a
7624         license notice into a file, use the standard wording as suggested
7625         by the current information for GNU maintainers, except say "file"
7626         rather than "program".  The new wording gives a license version
7627         number, which addresses an issue raised by Glenn Morris in
7628         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
7629         * m4/onceonly.m4: Use that same wording here, too.
7630
7631         dup2: minor simplification
7632         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
7633         as lib/dup2.c no longer uses 'inline'.
7634
7635 2011-09-25  Bruno Haible  <bruno@clisp.org>
7636
7637         strings: Fix compilation error on MSVC.
7638         * lib/strings.in.h: Include <stddef.h> for size_t.
7639
7640 2011-09-25  Bruno Haible  <bruno@clisp.org>
7641
7642         fflush et al.: Document limitation on MSVC.
7643         * doc/posix-functions/fflush.texi: Document possible crash in handling
7644         mode other than DEFAULT_HANDLING.
7645         * doc/posix-functions/fgetc.texi: Likewise.
7646         * doc/posix-functions/fputc.texi: Likewise.
7647         * doc/posix-functions/fread.texi: Likewise.
7648         * doc/posix-functions/fwrite.texi: Likewise.
7649
7650 2011-09-25  Bruno Haible  <bruno@clisp.org>
7651
7652         msvc-inval: Allow three invalid parameter handling modes.
7653         * lib/msvc-inval.h: Don't include <stdlib.h> here.
7654         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
7655         macros.
7656         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
7657         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
7658         SANE_LIBRARY_HANDLING as a no-op.
7659         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
7660         <stdlib.h>.
7661         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
7662
7663 2011-09-25  Bruno Haible  <bruno@clisp.org>
7664
7665         msvc-inval: Make handler multithread-safe.
7666         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
7667         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
7668         declarations.
7669         (gl_msvc_inval_current): New declaration.
7670         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
7671         Operate on the structure returned by gl_msvc_inval_current().
7672         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
7673         Remove varaiables.
7674         (tls_index, tls_initialized): New variables.
7675         (not_per_thread): New variable.
7676         (gl_msvc_inval_current): New function.
7677         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
7678         returned by gl_msvc_inval_current().
7679
7680 2011-09-25  Bruno Haible  <bruno@clisp.org>
7681
7682         msvc-inval: Install handler globally.
7683         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
7684         !_MSC_VER.
7685         (gl_msvc_invalid_parameter_handler): Remove declaration.
7686         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
7687         declarations.
7688         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
7689         Install the handler globally, don't uninstall it.
7690         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
7691         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
7692         currently valid, call RaiseException instead.
7693         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
7694         for !_MSC_VER.
7695
7696 2011-09-25  Bruno Haible  <bruno@clisp.org>
7697
7698         strerror_r-posix: Fix for MSVC 9.
7699         * lib/strerror_r.c (local_snprintf): New function.
7700         (snprintf): Define to local_snprintf, not to _snprintf.
7701
7702 2011-09-25  Bruno Haible  <bruno@clisp.org>
7703
7704         ftruncate: Support for MSVC 9.
7705         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
7706         (chsize_nothrow): New function.
7707         (chsize): Redefine as a macro.
7708         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
7709         * modules/ftruncate (Depends-on): Add msvc-inval.
7710
7711 2011-09-25  Bruno Haible  <bruno@clisp.org>
7712
7713         New module 'fstat'.
7714         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
7715         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
7716         * lib/fchdir.c (rpl_fstat): Remove function.
7717         * m4/fstat.m4: New file.
7718         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
7719         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
7720         declared.
7721         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
7722         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
7723         * modules/fstat: New file.
7724         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
7725         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
7726         is set.
7727         * doc/posix-functions/fstat.texi: Mention the new module and the
7728         problem on MSVC.
7729         * NEWS: Mention the change.
7730         * modules/acl (Depends-on): Add fstat.
7731         * modules/chdir-safer (Depends-on): Likewise.
7732         * modules/chown (Depends-on): Likewise.
7733         * modules/copy-file (Depends-on): Likewise.
7734         * modules/fchdir (Depends-on): Likewise.
7735         * modules/fdopendir (Depends-on): Likewise.
7736         * modules/fopen (Depends-on): Likewise.
7737         * modules/fts (Depends-on): Likewise.
7738         * modules/getcwd (Depends-on): Likewise.
7739         * modules/isapipe (Depends-on): Likewise.
7740         * modules/linkat (Depends-on): Likewise.
7741         * modules/lseek (Depends-on): Likewise.
7742         * modules/mkdir-p (Depends-on): Likewise.
7743         * modules/open (Depends-on): Likewise.
7744         * modules/openat (Depends-on): Likewise.
7745         * modules/read-file (Depends-on): Likewise.
7746         * modules/renameat (Depends-on): Likewise.
7747         * modules/utimens (Depends-on): Likewise.
7748
7749 2011-09-25  Bruno Haible  <bruno@clisp.org>
7750
7751         linkat: Fix compilation on MSVC 9.
7752         * lib/linkat.c: Don't include <stdint.h>.
7753
7754 2011-09-25  Bruno Haible  <bruno@clisp.org>
7755
7756         fclose: Support for MSVC 9.
7757         * lib/fclose.c: Include msvc-inval.h.
7758         (fclose_nothrow): New function.
7759         (rpl_fclose): Use it.
7760         * modules/fclose (Depends-on): Add msvc-inval.
7761         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
7762
7763 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
7764
7765         dup2: minor simplifications
7766         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
7767         that it's a performance win.
7768         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
7769         ! defined __CYGWIN__)" to "ifdef F_GETFL".
7770
7771 2011-09-24  Jim Meyering  <meyering@redhat.com>
7772
7773         test-futimens: avoid a warning from gcc -Wshadow
7774         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
7775         to avoid a shadowing warning.
7776
7777 2011-09-24  Bruno Haible  <bruno@clisp.org>
7778
7779         fdopen: Support for MSVC 9.
7780         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
7781         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
7782         * lib/fdopen.c: Include msvc-inval.h.
7783         (fdopen_nothrow): New function.
7784         (rpl_fdopen): Use it.
7785         * modules/fdopen (Depends-on): Add msvc-inval.
7786         * modules/fclose-tests (Depends-on): Add fdopen.
7787         * modules/fflush-tests (Depends-on): Likewise.
7788         * modules/fgetc-tests (Depends-on): Likewise.
7789         * modules/fputc-tests (Depends-on): Likewise.
7790         * modules/fread-tests (Depends-on): Likewise.
7791         * modules/freopen-tests (Depends-on): Likewise.
7792         * modules/fseeko-tests (Depends-on): Likewise.
7793         * modules/ftello-tests (Depends-on): Likewise.
7794         * modules/fwrite-tests  (Depends-on): Likewise.
7795         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
7796
7797 2011-09-24  Bruno Haible  <bruno@clisp.org>
7798
7799         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
7800         * modules/fgetc-tests (Depends-on): Add unistd.
7801         * modules/fputc-tests (Depends-on): Likewise.
7802         * modules/fread-tests (Depends-on): Likewise.
7803         * modules/fwrite-tests (Depends-on): Likewise.
7804
7805 2011-09-24  Bruno Haible  <bruno@clisp.org>
7806
7807         dup: Simplify autoconf test.
7808         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
7809         on gl_MSVC_INVAL's result.
7810
7811 2011-09-24  Bruno Haible  <bruno@clisp.org>
7812
7813         Tests for function fwrite().
7814         * modules/fwrite-tests: New file.
7815         * tests/test-fwrite.c: New file.
7816         * modules/stdio-tests (Depends-on): Add fwrite-tests.
7817
7818         Tests for function fread().
7819         * modules/fread-tests: New file.
7820         * tests/test-fread.c: New file.
7821         * modules/stdio-tests (Depends-on): Add fread-tests.
7822
7823         Activate fputc tests.
7824         * modules/stdio-tests (Depends-on): Add fputc-tests.
7825
7826         Enhance fgetc, fputc tests.
7827         * tests/test-fgetc.c (main): Also test the stream's error indicator.
7828         * tests/test-fputc.c (main): Likewise.
7829
7830 2011-09-24  Bruno Haible  <bruno@clisp.org>
7831
7832         write: Support for MSVC 9.
7833         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
7834         is not 1.
7835         * lib/write.c (write_nothrow): New function.
7836         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
7837         not 1. Use write_nothrow.
7838         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
7839         invalid parameter handler.
7840         (gl_PREREQ_WRITE): New macro.
7841         * modules/write (Depends-on): Add msvc-inval.
7842         (configure.ac): Invoke gl_PREREQ_WRITE.
7843         * doc/posix-functions/write.texi: Mention the problem on MSVC.
7844
7845 2011-09-24  Bruno Haible  <bruno@clisp.org>
7846
7847         read: Fix last commit.
7848         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
7849
7850 2011-09-24  Bruno Haible  <bruno@clisp.org>
7851
7852         dup2: Fix last commit.
7853         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
7854         (rpl_dup2): Disable fcntl workaround on native Windows.
7855
7856         sigprocmask: Make code safer.
7857         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
7858         section that changes macro definitions for this compilation unit.
7859
7860 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
7861
7862         dup2: clarify by coalescing Windows-specific material
7863         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
7864         "msvc-nothrow.h"' to the Windows-specific section, so that the
7865         Emacs source need not contain these include files.
7866         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
7867         Windows-specific fixes into this function rather than just the
7868         nothrow fix, as this shortens and clarifies the code.  Always
7869         define as a function, as that's a bit cleaner than having it be
7870         sometimes a function and sometimes a macro.
7871         (rpl_dup2): Move the Windows-specific stuff out of here and into
7872         ms_windows_dup2.  Don't protect the Haiku-related fix with
7873         "#if !defined __linux__", as the same code also works around
7874         a Linux kernel bug, and it doesn't add any system calls on any
7875         platform.  Add comment about FreeBSD 6.1.
7876
7877         sigprocmask: move #include directive
7878         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
7879         Windows-specific section, so that the Emacs source need not
7880         contain msvc-inval.h.
7881
7882 2011-09-23  Bruno Haible  <bruno@clisp.org>
7883
7884         read: Support for MSVC 9.
7885         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
7886         is not 1.
7887         * lib/read.c (read_nothrow): New function.
7888         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
7889         read_nothrow.
7890         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
7891         invalid parameter handler.
7892         (gl_PREREQ_READ): New macro.
7893         * modules/read (Depends-on): Add msvc-inval.
7894         (configure.ac): Invoke gl_PREREQ_READ.
7895         * doc/posix-functions/read.texi: Mention the problem on MSVC.
7896
7897 2011-09-23  Bruno Haible  <bruno@clisp.org>
7898
7899         close: Support for MSVC 9.
7900         * lib/close.c: Include <errno.h>, msvc-inval.h.
7901         (close_nothrow): New function.
7902         (rpl_close): Use it.
7903         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
7904         invalid parameter handler.
7905         * modules/close (Depends-on): Add msvc-inval.
7906         * modules/dup2-tests (Depends-on): Add close.
7907         * modules/dup3-tests (Depends-on): Likewise.
7908         * modules/fcntl-tests (Depends-on): Likewise.
7909         * modules/spawn-pipe-tests (Depends-on): Likewise.
7910         * modules/unistd-safer-tests (Depends-on): Likewise.
7911         * doc/posix-functions/close.texi: Mention the problem on MSVC.
7912
7913 2011-09-23  Bruno Haible  <bruno@clisp.org>
7914
7915         New module 'dup'.
7916         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
7917         Allow replacement.
7918         * lib/dup.c: New file.
7919         * lib/fchdir.c (rpl_dup): Remove function.
7920         * m4/dup.m4: New file.
7921         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
7922         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
7923         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
7924         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
7925         * modules/dup: New file.
7926         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
7927         'dup' module is in use.
7928         * modules/fdopendir (Depends-on): Add dup.
7929         * modules/fdutimensat-tests (Depends-on): Likewise.
7930         * modules/fts (Depends-on): Likewise.
7931         * modules/futimens-tests (Depends-on): Likewise.
7932         * modules/posix_spawnp-tests (Depends-on): Likewise.
7933         * modules/unistd-safer-tests (Depends-on): Likewise.
7934         * modules/utimens-tests (Depends-on): Likewise.
7935         * doc/posix-functions/dup.texi: Mention the new module and the problem
7936         on MSVC.
7937
7938 2011-09-23  Bruno Haible  <bruno@clisp.org>
7939
7940         getdtablesize: Support for MSVC 9.
7941         * lib/getdtablesize.c: Include msvc-inval.h.
7942         (_setmaxstdio_nothrow): New function.
7943         (_setmaxstdio): Redefine it.
7944         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
7945         * modules/getdtablesize (Depends-on): Add msvc-inval.
7946         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
7947
7948 2011-09-23  Bruno Haible  <bruno@clisp.org>
7949
7950         signal-h: Rename from signal.
7951         * modules/signal-h: Renamed from modules/signal.
7952         * modules/pthread_sigmask (Depends-on): Update.
7953         * modules/raise (Depends-on): Likewise.
7954         * modules/sigaction (Depends-on): Likewise.
7955         * modules/sigpipe (Depends-on): Likewise.
7956         * modules/sigprocmask (Depends-on): Likewise.
7957         * modules/sys_select (Depends-on): Likewise.
7958         * modules/signal-h-tests: Renamed from modules/signal-tests.
7959         (Files, Depends-on, Makefile.am): Update.
7960         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
7961         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
7962         (Files, Makefile.am): Update.
7963         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
7964         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
7965         * modules/signal: New placeholder file.
7966         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
7967         * doc/posix-headers/signal.texi: Update.
7968         * NEWS: Mention the change.
7969
7970 2011-09-23  Bruno Haible  <bruno@clisp.org>
7971
7972         sigprocmask: Avoid crashes through signal() on MSVC 9.
7973         * lib/sigprocmask.c: Include msvc-inval.h.
7974         (signal_nothrow): New function.
7975         (signal): Redefine it.
7976         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
7977         * modules/sigprocmask (Depends-on): Add msvc-inval.
7978         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
7979
7980 2011-09-23  Bruno Haible  <bruno@clisp.org>
7981
7982         Tests for module 'raise'.
7983         * modules/raise-tests: New file.
7984         * tests/test-raise.c: New file.
7985
7986         raise: Support for MSVC.
7987         * lib/signal.in.h (raise): New declaration.
7988         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
7989         for native Windows platforms.
7990         * m4/raise.m4: New file.
7991         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
7992         HAVE_RAISE, REPLACE_RAISE.
7993         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
7994         REPLACE_RAISE.
7995         * modules/raise (Status, Notice): Remove fields.
7996         (Files): Add m4/raise.m4.
7997         (Depends-on): Add signal, msvc-inval.
7998         (configure.ac): Use the common idioms.
7999         (Maintainer): Add me.
8000         * tests/test-signal-c++.cc: Check the signature of raise.
8001         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
8002
8003 2011-09-23  Bruno Haible  <bruno@clisp.org>
8004
8005         pipe2: Fix compilation on pre-C99 compilers.
8006         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
8007
8008 2011-09-23  Bruno Haible  <bruno@clisp.org>
8009
8010         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
8011         * lib/msvc-nothrow.h: New file.
8012         * lib/msvc-nothrow.c: New file.
8013         * m4/msvc-nothrow.m4: New file.
8014         * modules/msvc-nothrow: New file.
8015         * lib/dup2.c: Include msvc-nothrow.h.
8016         (rpl_dup2): No need to protect _get_osfhandle call here.
8017         * lib/accept4.c: Include msvc-nothrow.h.
8018         * lib/error.c: Likewise.
8019         * lib/fcntl.c: Likewise.
8020         * lib/lseek.c: Likewise.
8021         * lib/nonblocking.c: Likewise.
8022         * lib/poll.c: Likewise.
8023         * lib/read.c: Likewise.
8024         * lib/select.c: Likewise.
8025         * lib/sockets.h: Likewise.
8026         * lib/sockets.c: Likewise.
8027         * lib/stdio-read.c: Likewise.
8028         * lib/stdio-write.c: Likewise.
8029         * lib/write.c: Likewise.
8030         * lib/w32sock.h: Likewise.
8031         * lib/w32spawn.h: Likewise.
8032         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
8033         * lib/fsync.c: Likewise.
8034         * lib/isapipe.c: Likewise.
8035         * modules/dup2 (Depends-on): Add msvc-nothrow.
8036         * modules/accept4 (Depends-on): Likewise.
8037         * modules/error (Depends-on): Likewise.
8038         * modules/fcntl (Depends-on): Likewise.
8039         * modules/lseek (Depends-on): Likewise.
8040         * modules/nonblocking (Depends-on): Likewise.
8041         * modules/poll (Depends-on): Likewise.
8042         * modules/read (Depends-on): Likewise.
8043         * modules/select (Depends-on): Likewise.
8044         * modules/sockets (Depends-on): Likewise.
8045         * modules/sigpipe (Depends-on): Likewise.
8046         * modules/write (Depends-on): Likewise.
8047         * modules/accept (Depends-on): Likewise.
8048         * modules/bind (Depends-on): Likewise.
8049         * modules/connect (Depends-on): Likewise.
8050         * modules/gethostname (Depends-on): Likewise.
8051         * modules/getpeername (Depends-on): Likewise.
8052         * modules/getsockname (Depends-on): Likewise.
8053         * modules/getsockopt (Depends-on): Likewise.
8054         * modules/ioctl (Depends-on): Likewise.
8055         * modules/listen (Depends-on): Likewise.
8056         * modules/recv (Depends-on): Likewise.
8057         * modules/recvfrom (Depends-on): Likewise.
8058         * modules/send (Depends-on): Likewise.
8059         * modules/sendto (Depends-on): Likewise.
8060         * modules/setsockopt (Depends-on): Likewise.
8061         * modules/shutdown (Depends-on): Likewise.
8062         * modules/socket (Depends-on): Likewise.
8063         * modules/execute (Depends-on): Likewise.
8064         * modules/spawn-pipe (Depends-on): Likewise.
8065         * modules/flock (Depends-on): Likewise.
8066         * modules/fsync (Depends-on): Likewise.
8067         * modules/isapipe (Depends-on): Likewise.
8068         * tests/test-cloexec.c: Include msvc-nothrow.h.
8069         * tests/test-dup-safer.c: Likewise.
8070         * tests/test-dup2.c: Likewise.
8071         * tests/test-dup3.c: Likewise.
8072         * tests/test-fcntl.c: Likewise.
8073         * tests/test-pipe.c: Likewise.
8074         * tests/test-pipe2.c: Likewise.
8075         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
8076         * modules/unistd-safer-tests (Depends-on): Likewise.
8077         * modules/dup2-tests (Depends-on): Likewise.
8078         * modules/dup3-tests (Depends-on): Likewise.
8079         * modules/fcntl-tests (Depends-on): Likewise.
8080         * modules/pipe-posix-tests (Depends-on): Likewise.
8081         * modules/pipe2-tests (Depends-on): Likewise.
8082
8083 2011-09-23  Bruno Haible  <bruno@clisp.org>
8084
8085         dup2: Make code more maintainable.
8086         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
8087         (rpl_dup2): Use it.
8088         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
8089         * modules/dup2 (configure.ac): Invoke it.
8090         Reported by Paul Eggert.
8091
8092 2011-09-23  Bruno Haible  <bruno@clisp.org>
8093
8094         msvc-inval: Fix compilation error.
8095         * lib/msvc-inval.h: Include <excpt.h>.
8096
8097 2011-09-23  Bruno Haible  <bruno@clisp.org>
8098
8099         mkdir: Tweak for MSVC 9.
8100         * lib/sys_stat.in.h: Update comments.
8101         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
8102
8103         Tests for module 'chdir'.
8104         * modules/chdir-tests: New file.
8105         * tests/test-chdir.c: New file.
8106
8107         New module 'chdir'.
8108         * modules/chdir: New file.
8109         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
8110         (chdir): New declaration.
8111         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
8112         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
8113         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
8114         * tests/test-unistd-c++.cc: Check signature of chdir.
8115         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
8116         * modules/chdir-long (Depends-on): Add chdir.
8117         * modules/fchdir (Depends-on): Likewise.
8118         * modules/rename (Depends-on): Likewise.
8119         * modules/savewd (Depends-on): Likewise.
8120
8121         rmdir: Support for mingw, MSVC 9.
8122         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
8123         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
8124
8125         getcwd: Tweak for MSVC 9.
8126         * lib/unistd.in.h: Update comments.
8127         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
8128
8129 2011-09-22  Bruno Haible  <bruno@clisp.org>
8130
8131         strerror_r-posix: Avoid a link error on MSVC.
8132         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
8133         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
8134
8135 2011-09-22  Bruno Haible  <bruno@clisp.org>
8136
8137         select: Avoid link errors on MSVC.
8138         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
8139         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
8140         * modules/pselect (Link): Likewise.
8141         * NEWS: Mention the change.
8142         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
8143         test-select-stdin against $(LIB_SELECT).
8144         * modules/pselect-tests (Makefile.am): Link test-pselect against
8145         $(LIB_SELECT).
8146
8147 2011-09-22  Bruno Haible  <bruno@clisp.org>
8148
8149         select: Avoid compilation error on MSVC.
8150         * lib/select.c: Don't include <stdbool.h>.
8151
8152 2011-09-21  Bruno Haible  <bruno@clisp.org>
8153
8154         Consolidate all uses of PATH_MAX in *.m4 files.
8155         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
8156         macros.
8157         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
8158         and gl_PATHMAX_SNIPPET.
8159         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
8160         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
8161         * modules/chdir-long (Files): Add m4/pathmax.m4.
8162         * modules/getcwd (Files): Likewise.
8163
8164 2011-09-21  Bruno Haible  <bruno@clisp.org>
8165
8166         ftruncate: Un-deprecate, concentrate on Win32 support.
8167         * modules/ftruncate (Status, Notice): Remove sections.
8168         (Depends-on): Add largefile.
8169         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
8170         non-mingw platforms.
8171         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
8172         include <io.h>.
8173         * modules/perror-tests (Depends-on): Add ftruncate.
8174         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
8175         'ftruncate' module.
8176
8177 2011-09-21  Bruno Haible  <bruno@clisp.org>
8178
8179         Add dependencies to new dirent related modules.
8180         * modules/opendir (Depends-on): Add closedir.
8181         * modules/getcwd (Depends-on): Add opendir, closedir.
8182         * modules/dirent-safer-tests (Depends-on): Likewise.
8183         * modules/fdopendir-tests (Depends-on): Likewise.
8184         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
8185         * modules/renameat-tests (Depends-on): Likewise.
8186
8187 2011-09-21  Bruno Haible  <bruno@clisp.org>
8188
8189         opendir: Avoid compilation error on mingw.
8190         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
8191         * modules/opendir (Depends-on): Add unistd.
8192
8193 2011-09-21  Bruno Haible  <bruno@clisp.org>
8194
8195         ftruncate tests: Avoid a test failure on mingw.
8196         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
8197
8198 2011-09-21  Bruno Haible  <bruno@clisp.org>
8199
8200         select tests: Avoid test failures on OSF/1 5.1 and mingw.
8201         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
8202         native Windows.
8203
8204 2011-09-21  Bruno Haible  <bruno@clisp.org>
8205
8206         New module 'fdopen'.
8207         * lib/stdio.in.h (fdopen): New declaration.
8208         * lib/fdopen.c: New file.
8209         * m4/fdopen.m4: New file.
8210         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
8211         REPLACE_FDOPEN.
8212         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
8213         REPLACE_FDOPEN.
8214         * modules/fdopen: New file.
8215         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
8216         * tests/test-stdio-c++.cc: Check signature of fdopen.
8217         * doc/posix-functions/fdopen.texi: Mention the new module.
8218
8219 2011-09-21  Bruno Haible  <bruno@clisp.org>
8220
8221         unlockpt tests: Avoid test failure on NetBSD 5.1.
8222         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
8223         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
8224
8225 2011-09-21  Bruno Haible  <bruno@clisp.org>
8226
8227         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
8228         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
8229         * tests/test-getlogin_r.c (main): Likewise.
8230
8231 2011-09-20  Bruno Haible  <bruno@clisp.org>
8232
8233         time tests: Don't require pid_t.
8234         * doc/posix-headers/time.texi: Revert last change.
8235         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
8236         * tests/test-time.c: Comment out the check for pid_t.
8237
8238 2011-09-20  Bruno Haible  <bruno@clisp.org>
8239
8240         fsync tests: Avoid a test failure on mingw.
8241         * tests/test-fsync.c (main): Allow a failure with EIO.
8242
8243 2011-09-20  Bruno Haible  <bruno@clisp.org>
8244
8245         euidaccess: Update comments.
8246         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
8247
8248 2011-09-20  Bruno Haible  <bruno@clisp.org>
8249
8250         Ensure EBADF returns for socket functions on mingw.
8251         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
8252         descriptor is invalid.
8253         * lib/bind.c (rpl_bind): Likewise.
8254         * lib/connect.c (rpl_connect): Likewise.
8255         * lib/getpeername.c (rpl_getpeername): Likewise.
8256         * lib/getsockname.c (rpl_getsockname): Likewise.
8257         * lib/getsockopt.c (rpl_getsockopt): Likewise.
8258         * lib/listen.c (rpl_listen): Likewise.
8259         * lib/recv.c (rpl_recv): Likewise.
8260         * lib/recvfrom.c (rpl_recvfrom): Likewise.
8261         * lib/send.c (rpl_send): Likewise.
8262         * lib/sendto.c (rpl_sendto): Likewise.
8263         * lib/setsockopt.c (rpl_setsockopt): Likewise.
8264         * lib/shutdown.c (rpl_shutdown): Likewise.
8265
8266 2011-09-20  Bruno Haible  <bruno@clisp.org>
8267
8268         select tests: EBADF tests.
8269         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
8270         test_bad_fd): New functions.
8271         (test_function): Invoke also test_bad_fd.
8272
8273 2011-09-20  Bruno Haible  <bruno@clisp.org>
8274
8275         Tests for module 'posix_spawn_file_actions_addopen.
8276         * modules/posix_spawn_file_actions_addopen-tests: New file.
8277         * tests/test-posix_spawn_file_actions_addopen.c: New file.
8278
8279         Tests for module 'posix_spawn_file_actions_adddup2'.
8280         * modules/posix_spawn_file_actions_adddup2-tests: New file.
8281         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
8282
8283         Tests for module 'posix_spawn_file_actions_addclose'.
8284         * modules/posix_spawn_file_actions_addclose-tests: New file.
8285         * tests/test-posix_spawn_file_actions_addclose.c: New file.
8286
8287 2011-09-20  Bruno Haible  <bruno@clisp.org>
8288
8289         Tests for module 'unlockpt'.
8290         * modules/unlockpt-tests: New file.
8291         * tests/test-unlockpt.c: New file.
8292         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
8293
8294         Tests for module 'grantpt'.
8295         * modules/grantpt-tests: New file.
8296         * tests/test-grantpt.c: New file.
8297         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
8298
8299 2011-09-20  Bruno Haible  <bruno@clisp.org>
8300
8301         freopen tests: EBADF tests.
8302         * tests/test-freopen.c: Include errno.h, unistd.h.
8303         (main): Add tests for EBADF, commented out for the moment.
8304
8305         fclose tests: EBADF tests.
8306         * tests/test-fclose.c (main): Add tests for EBADF.
8307
8308         fflush tests: EBADF tests.
8309         * tests/test-fflush.c: Include errno.h, macros.h.
8310         (main): Add tests for EBADF.
8311
8312         ftello tests: EBADF tests.
8313         * tests/test-ftello4.sh: New file.
8314         * tests/test-ftello4.c: New file.
8315         * modules/ftello-tests (Files): Add them.
8316         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
8317
8318         fseeko tests: EBADF tests.
8319         * tests/test-fseeko4.sh: New file.
8320         * tests/test-fseeko4.c: New file.
8321         * modules/fseeko-tests (Files): Add them.
8322         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
8323
8324         Tests for function fputc().
8325         * modules/fputc-tests: New file.
8326         * tests/test-fputc.c: New file.
8327         * modules/stdio-tests (Depends-on): Add fputc-tests.
8328
8329         Tests for function fgetc().
8330         * modules/fgetc-tests: New file.
8331         * tests/test-fgetc.c: New file.
8332         * modules/stdio-tests (Depends-on): Add fgetc-tests.
8333
8334         Tests for function fdopen().
8335         * modules/fdopen-tests: New file.
8336         * tests/test-fdopen.c: New file.
8337         * modules/stdio-tests (Depends-on): Add fdopen-tests.
8338
8339         Tests for module 'vdprintf'.
8340         * modules/vdprintf-tests: New file.
8341         * tests/test-vdprintf.c: New file.
8342
8343         Tests for module 'dprintf'.
8344         * modules/dprintf-tests: New file.
8345         * tests/test-dprintf.c: New file.
8346
8347 2011-09-20  Bruno Haible  <bruno@clisp.org>
8348
8349         Tests for module 'ioctl'.
8350         * modules/ioctl-tests: New file.
8351         * tests/test-ioctl.c: New file.
8352
8353 2011-09-20  Bruno Haible  <bruno@clisp.org>
8354
8355         fcntl tests: EBADF tests.
8356         * tests/test-fcntl.c (main): Add more tests for EBADF.
8357
8358 2011-09-20  Bruno Haible  <bruno@clisp.org>
8359
8360         utimensat tests: EBADF tests.
8361         * tests/test-utimensat.c (main): Add tests for EBADF.
8362
8363         renameat tests: EBADF tests.
8364         * tests/test-renameat.c (main): Add tests for EBADF.
8365
8366         mkfifoat tests: EBADF tests.
8367         * tests/test-mkfifoat.c (main): Add tests for EBADF.
8368
8369         readlinkat tests: EBADF tests.
8370         * tests/test-readlinkat.c (main): Add tests for EBADF.
8371
8372         symlinkat tests: EBADF tests.
8373         * tests/test-symlinkat.c (main): Add tests for EBADF.
8374
8375         linkat tests: EBADF tests.
8376         * tests/test-linkat.c (main): Add tests for EBADF.
8377
8378         Tests for module 'faccessat'.
8379         * modules/faccessat-tests: New file.
8380         * tests/test-faccessat.c: New file.
8381
8382         fdopendir tests: EBADF tests.
8383         * tests/test-fdopendir.c (main): Add more tests for EBADF.
8384
8385         openat tests: EBADF tests.
8386         * tests/test-fchownat.c (main): Add tests for EBADF.
8387         * tests/test-fstatat.c (main): Likewise.
8388         * tests/test-mkdirat.c (main): Likewise.
8389         * tests/test-openat.c (main): Likewise.
8390         * tests/test-unlinkat.c (main): Likewise.
8391         * tests/test-fchmodat.c: New file.
8392         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
8393         (Makefile.am): Also run 'test-fchmodat'.
8394
8395 2011-09-20  Bruno Haible  <bruno@clisp.org>
8396
8397         utimens, futimens, fdutimensat tests: EBADF tests.
8398         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
8399
8400         Tests for function fstat().
8401         * modules/fstat-tests: New file.
8402         * tests/test-fstat.c: New file.
8403         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
8404
8405 2011-09-20  Bruno Haible  <bruno@clisp.org>
8406
8407         test-ttyname_r tests: EBADF tests.
8408         * tests/test-ttyname_r.c (main): Add tests for EBADF.
8409
8410         Tests for module 'isatty'.
8411         * modules/isatty-tests: New file.
8412         * tests/test-isatty.c: New file.
8413
8414         Tests for module 'write'.
8415         * modules/write-tests: New file.
8416         * tests/test-write.c: New file.
8417
8418         Tests for module 'read'.
8419         * modules/read-tests: New file.
8420         * tests/test-read.c: New file.
8421
8422         pwrite tests: EBADF tests.
8423         * tests/test-pwrite.c (main): Add tests for EBADF.
8424
8425         pread tests: EBADF tests.
8426         * tests/test-pread.c (main): Add tests for EBADF.
8427
8428         lseek tests: EBADF tests.
8429         * tests/test-lseek.c (main): Add more tests for EBADF.
8430
8431         Tests for module 'ftruncate'.
8432         * modules/ftruncate-tests: New file.
8433         * tests/test-ftruncate.sh: New file.
8434         * tests/test-ftruncate.c: New file.
8435
8436         fsync tests: EBADF tests.
8437         * tests/test-fsync.c (main): Add more tests for EBADF.
8438
8439         fdatasync tests: EBADF tests.
8440         * tests/test-fdatasync.c (main): Add more tests for EBADF.
8441
8442         Tests for module 'fchown'.
8443         * modules/fchown-tests: New file.
8444         * tests/test-fchown.c: New file.
8445
8446         Tests for module 'fchmod'.
8447         * modules/fchmod-tests: New file.
8448         * tests/test-fchmod.c: New file.
8449
8450         fchdir tests: EBADF tests.
8451         * tests/test-fchdir.c (main): Add more tests for EBADF.
8452
8453         dup2 tests: EBADF tests.
8454         * tests/test-dup2.c (main): Add more tests for EBADF.
8455
8456         Tests for module 'dup'.
8457         * modules/dup-tests: New file.
8458         * tests/test-dup.c: New file.
8459
8460         Tests for module 'close'.
8461         * modules/close-tests: New file.
8462         * tests/test-close.c: New file.
8463
8464 2011-09-20  Bruno Haible  <bruno@clisp.org>
8465
8466         Tests for module 'shutdown'.
8467         * modules/shutdown-tests: New file.
8468         * tests/test-shutdown.c: New file.
8469
8470         Tests for module 'setsockopt'.
8471         * modules/setsockopt-tests: New file.
8472         * tests/test-setsockopt.c: New file.
8473
8474         Tests for module 'sendto'.
8475         * modules/sendto-tests: New file.
8476         * tests/test-sendto.c: New file.
8477
8478         Tests for module 'send'.
8479         * modules/send-tests: New file.
8480         * tests/test-send.c: New file.
8481
8482         Tests for module 'recvfrom'.
8483         * modules/recvfrom-tests: New file.
8484         * tests/test-recvfrom.c: New file.
8485
8486         Tests for module 'recv'.
8487         * modules/recv-tests: New file.
8488         * tests/test-recv.c: New file.
8489
8490         Tests for module 'listen'.
8491         * modules/listen-tests: New file.
8492         * tests/test-listen.c: New file.
8493
8494         Tests for module 'getsockopt'.
8495         * modules/getsockopt-tests: New file.
8496         * tests/test-getsockopt.c: New file.
8497
8498         Tests for module 'getsockname'.
8499         * modules/getsockname-tests: New file.
8500         * tests/test-getsockname.c: New file.
8501
8502         Tests for module 'getpeername'.
8503         * modules/getpeername-tests: New file.
8504         * tests/test-getpeername.c: New file.
8505
8506         Tests for module 'connect'.
8507         * modules/connect-tests: New file.
8508         * tests/test-connect.c: New file.
8509
8510         Tests for module 'bind'.
8511         * modules/bind-tests: New file.
8512         * tests/test-bind.c: New file.
8513
8514         accept4 tests: Fix for native Windows.
8515         * tests/test-accept4.c: Include sockets.h.
8516         (main): Invoke gl_sockets_startup.
8517         * modules/accept4-tests (Depends-on): Add sockets.
8518
8519         accept tests: Fix for native Windows.
8520         * tests/test-accept.c: Include sockets.h.
8521         (main): Invoke gl_sockets_startup.
8522         * modules/accept-tests (Depends-on): Add sockets.
8523
8524 2011-09-19  Bruno Haible  <bruno@clisp.org>
8525
8526         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
8527         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
8528         do...while(0).
8529         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
8530         Suggested by Paul Eggert.
8531
8532 2011-09-19  Bruno Haible  <bruno@clisp.org>
8533
8534         sched: Ensure pid_t is defined.
8535         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
8536         not define pid_t.
8537         * lib/sched.in.h: Include <sys/types.h>.
8538         * doc/posix-headers/sched.texi: Mention the pid_t problem.
8539         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8540
8541 2011-09-19  Bruno Haible  <bruno@clisp.org>
8542
8543         msvc-inval: Ensure the entire expansion is a single statement.
8544         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
8545         of braces.
8546
8547 2011-09-19  Jim Meyering  <meyering@redhat.com>
8548
8549         tests: use printf, not echo in init.sh's warn_ function
8550         * tests/init.sh (warn_): Use printf, not echo.  The latter would
8551         misbehave when given strings containing a backslash or starting
8552         with e.g., -n.  James Youngman suggested setting IFS.
8553
8554 2011-09-19  Eric Blake  <eblake@redhat.com>
8555
8556         futimens: enhance test
8557         * tests/test-futimens.h (test_futimens): Also check for EBADF on
8558         closed non-negative fd.
8559
8560         date: accept 'hence' as opposite of 'ago'
8561         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
8562         * tests/test-parse-datetime.c (main): Enhance test.
8563         Suggested by Jesse Wilson.
8564
8565 2011-09-19  Jim Meyering  <meyering@redhat.com>
8566
8567         getcwd: don't fail in a deep directory on a system without openat
8568         Before this change, getcwd would fail when called from a directory
8569         of depth PATH_MAX / 3 or greater.  That was due to the fact that
8570         the non-openat implementation used "..", "../..", "../../..", etc.
8571         to access ancestor directories.  With too many, that string would
8572         be longer than PATH_MAX.
8573         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
8574         using gnulib's openat replacement.
8575         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
8576         we're using the replacement function.
8577
8578 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
8579
8580         maint.mk: avoid warnings from perl about missing files
8581         * top/maint.mk (def_sym_regex): Ignore files listed in
8582         $(gl_other_headers_) that do not exist, say because a project
8583         does not use a corresponding module.
8584
8585 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
8586
8587         stat: use pathmax.h only if needed
8588         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
8589         This is better for Emacs, which does not have a mingw port and
8590         therefore can avoid the pathmax module.
8591
8592         utimens: remove dependency on dup2
8593         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
8594         to work around the Linux kernel bug.
8595         * modules/utimens (Depends-on): Remove dup2.
8596
8597 2011-09-18  Bruno Haible  <bruno@clisp.org>
8598
8599         inet_ntop, inet_pton: Look for it also in libresolv.
8600         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
8601         libnsl, search for it in libresolv.
8602         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
8603         Needed on Solaris 7.
8604
8605 2011-09-18  Bruno Haible  <bruno@clisp.org>
8606
8607         accept, accept4 tests: Avoid link error on Solaris.
8608         * modules/accept-tests (Makefile.am): Link test-accept against
8609         $(LIBSOCKET).
8610         * modules/accept4-tests (Makefile.am): Link test-accept4 against
8611         $(LIBSOCKET).
8612
8613         accept4: Avoid link error on Solaris.
8614         * modules/accept4 (Link): New section.
8615
8616         socket functions: Avoid link errors on Solaris.
8617         * modules/accept (Depends-on): Add socketlib.
8618         (Link): New section.
8619         * modules/bind (Depends-on): Add socketlib.
8620         (Link): New section.
8621         * modules/connect (Depends-on): Add socketlib.
8622         (Link): New section.
8623         * modules/getpeername (Depends-on): Add socketlib.
8624         (Link): New section.
8625         * modules/getsockname (Depends-on): Add socketlib.
8626         (Link): New section.
8627         * modules/getsockopt (Depends-on): Add socketlib.
8628         (Link): New section.
8629         * modules/listen (Depends-on): Add socketlib.
8630         (Link): New section.
8631         * modules/recv (Depends-on): Add socketlib.
8632         (Link): New section.
8633         * modules/recvfrom (Depends-on): Add socketlib.
8634         (Link): New section.
8635         * modules/send (Depends-on): Add socketlib.
8636         (Link): New section.
8637         * modules/sendto (Depends-on): Add socketlib.
8638         (Link): New section.
8639         * modules/setsockopt (Depends-on): Add socketlib.
8640         (Link): New section.
8641         * modules/shutdown (Depends-on): Add socketlib.
8642         (Link): New section.
8643         * modules/socket (Depends-on): Add socketlib.
8644         (Link): New section.
8645
8646 2011-09-18  Bruno Haible  <bruno@clisp.org>
8647
8648         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
8649         * tests/test-ptsname.c (main): Terminate the test if it takes longer
8650         than 5 seconds.
8651         * modules/ptsname-tests (configure.ac): Test for alarm.
8652
8653 2011-09-18  Bruno Haible  <bruno@clisp.org>
8654
8655         posix_spawn_file_actions_add*: Fix module dependencies.
8656         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
8657         posix_spawn_file_actions_init.
8658         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
8659         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
8660
8661 2011-09-18  Bruno Haible  <bruno@clisp.org>
8662
8663         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
8664         * tests/test-rename.h (test_rename): Allow error code EEXIST.
8665         * tests/test-renameat.c (main): Likewise.
8666
8667 2011-09-18  Bruno Haible  <bruno@clisp.org>
8668
8669         Tests for module 'accept4'.
8670         * modules/accept4-tests: New file.
8671         * tests/test-accept4.c: New file.
8672
8673 2011-09-18  Bruno Haible  <bruno@clisp.org>
8674
8675         Tests for module 'accept'.
8676         * modules/accept-tests: New file.
8677         * tests/test-accept.c: New file.
8678
8679 2011-09-18  Bruno Haible  <bruno@clisp.org>
8680
8681         dup2: Support for MSVC.
8682         * lib/dup2.c: Include msvc-inval.h.
8683         (rpl_dup2): Handle invalid parameter notifications during dup2 and
8684         _get_osfhandle calls.
8685         * modules/dup2 (Depends-on): Add msvc-inval.
8686         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
8687
8688         New module 'msvc-inval'.
8689         * lib/msvc-inval.h: New file.
8690         * lib/msvc-inval.c: New file.
8691         * m4/msvc-inval.m4: New file.
8692         * modules/msvc-inval: New file.
8693
8694 2011-09-17  Bruno Haible  <bruno@clisp.org>
8695
8696         Tests for module 'pclose'.
8697         * modules/pclose-tests: New file.
8698
8699         New module 'pclose'.
8700         * lib/stdio.in.h (pclose): New declaration.
8701         * lib/pclose.c: New file.
8702         * m4/pclose.m4: New file.
8703         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
8704         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
8705         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
8706         * modules/pclose: New file.
8707         * modules/popen-tests (Depends-on): Add pclose.
8708         * modules/popen-safer-tests (Depends-on): Likewise.
8709         * doc/posix-functions/pclose.texi: Mention the new module.
8710
8711 2011-09-17  Bruno Haible  <bruno@clisp.org>
8712
8713         popen: Support for MSVC.
8714         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
8715         * lib/popen.c (popen): Provide alternate definition for native Windows.
8716         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
8717         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
8718         * modules/popen (Depends-on, configure.ac): Update condition.
8719         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
8720         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
8721         fixed.
8722
8723 2011-09-17  Bruno Haible  <bruno@clisp.org>
8724
8725         isnanl, isnand, isnanf: Work around MSVC bug.
8726         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
8727
8728 2011-09-17  Bruno Haible  <bruno@clisp.org>
8729
8730         sys_socket tests: Fix recent mistake.
8731         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
8732
8733 2011-09-17  Bruno Haible  <bruno@clisp.org>
8734
8735         putenv: Support for MSVC.
8736         * modules/putenv (Depends-on): Add environ.
8737         * lib/putenv.c (environ): Disable declaration.
8738         * lib/unistd.in.h: Update comment.
8739
8740 2011-09-17  Bruno Haible  <bruno@clisp.org>
8741
8742         math: Avoid macro redefinition warnings on MSVC.
8743         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
8744         Undefine before redefining.
8745
8746 2011-09-17  Bruno Haible  <bruno@clisp.org>
8747
8748         doc: Mention functions which are declared as macros.
8749         * doc/posix-functions/*[fl].texi: Mention that some functions are
8750         defined as macros with arguments only.
8751
8752 2011-09-17  Bruno Haible  <bruno@clisp.org>
8753
8754         Add dependencies to new dirent related modules.
8755         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
8756         * modules/fts (Depends-on): Likewise.
8757         * modules/glob (Depends-on): Likewise.
8758         * modules/savedir (Depends-on): Likewise.
8759         * modules/scandir (Depends-on): Likewise.
8760         * modules/dirent-safer (Depends-on): Add opendir, closedir.
8761         * modules/fdopendir (Depends-on): Add opendir.
8762
8763 2011-09-17  Bruno Haible  <bruno@clisp.org>
8764
8765         inet_pton: Support for MSVC on Windows Vista or newer.
8766         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
8767         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
8768         HAVE_DECL_INET_PTON is defined.
8769         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
8770         On platforms with <winsock2.h>, test whether inet_pton is declared in
8771         <ws2tcpip.h>. If so, arrange to replace it.
8772         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
8773         REPLACE_INET_PTON.
8774         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
8775         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
8776         (Depends-on, configure.ac): Update condition.
8777         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
8778
8779 2011-09-17  Bruno Haible  <bruno@clisp.org>
8780
8781         inet_ntop: Support for MSVC on Windows Vista or newer.
8782         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
8783         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
8784         HAVE_DECL_INET_NTOP is defined.
8785         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
8786         On platforms with <winsock2.h>, test whether inet_ntop is declared in
8787         <ws2tcpip.h>. If so, arrange to replace it.
8788         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
8789         REPLACE_INET_NTOP.
8790         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
8791         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
8792         (Depends-on, configure.ac): Update condition.
8793         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
8794
8795 2011-09-16  Eric Blake  <eblake@redhat.com>
8796
8797         test-fsync: yet another enhancement
8798         * tests/test-fsync.c (main): Also test behavior on read-only text
8799         file.
8800
8801 2011-09-16  Bruno Haible  <bruno@clisp.org>
8802
8803         Enhance fsync, fdatasync tests.
8804         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
8805         * tests/test-fdatasync.c (main): Likewise.
8806
8807 2011-09-16  Bruno Haible  <bruno@clisp.org>
8808
8809         Support for MSVC compiler: Ensure mode_t gets defined.
8810         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
8811         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8812         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
8813         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
8814         * tests/test-fcntl-h.c: Check that mode_t is defined.
8815         * tests/test-sys_stat.c: Likewise.
8816         * tests/test-sys_types.c: Likewise.
8817         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
8818         * doc/posix-headers/sys_stat.texi: Likewise.
8819         * doc/posix-headers/sys_types.texi: Likewise.
8820
8821 2011-09-16  Bruno Haible  <bruno@clisp.org>
8822
8823         sys_stat: Support for MSVC.
8824         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
8825         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
8826         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
8827         MSVC.
8828
8829 2011-09-16  Bruno Haible  <bruno@clisp.org>
8830
8831         Support for MSVC compiler: Ensure off_t gets defined.
8832         * lib/unistd.in.h: Include <sys/types.h>.
8833         * tests/test-fcntl-h.c: Check that off_t is defined.
8834         * tests/test-sys_stat.c: Likewise.
8835         * tests/test-sys_types.c: Likewise.
8836
8837 2011-09-16  Eric Blake  <eblake@redhat.com>
8838
8839         fdatasync: port to Solaris
8840         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
8841         * modules/fdatasync (Link): Document it.
8842         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
8843
8844         fdatasync: port to MacOS X 10.7
8845         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
8846         declared.
8847         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
8848         * modules/unistd (Makefile.am): Substitute it.
8849         * lib/unistd.in.h (fdatasync): Declare on MacOS.
8850         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
8851
8852         fdatasync: minor improvements
8853         * modules/fdatasync (Depends-on): Add condition for fsync.
8854         * lib/fdatasync.c (fdatasync): Add comment.
8855         * tests/test-unistd-c++.cc: Test fdatasync.
8856
8857         unistd: update refs to newer POSIX
8858         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
8859         Suggested by Bruno Haible.
8860
8861         fdatasync: new module
8862         * modules/fsync (Description): Document difference to fdatasync.
8863         * modules/fdatasync: New module.
8864         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
8865         * lib/fdatasync.c (fdatasync): Likewise.
8866         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
8867         defaults.
8868         * modules/unistd (Makefile.am): Set witnesses.
8869         * lib/unistd.in.h (fdatasync): Declare.
8870         * MODULES.html.sh: Document it.
8871         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
8872         * modules/fdatasync-tests: New test.
8873         * tests/test-fdatasync.c: Likewise.
8874
8875 2011-09-16  Eric Blake  <eblake@redhat.com>
8876
8877         test-fsync: enhance tests
8878         * modules/fsync-tests (Depends-on): Add errno, for mingw.
8879         * tests/test-fsync.c (main): Enhance test.
8880
8881 2011-09-15  Bruno Haible  <bruno@clisp.org>
8882
8883         Support for MSVC compiler: Ensure ssize_t gets defined.
8884         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
8885         * doc/posix-headers/stdio.texi: Likewise.
8886         * modules/stdio (Depends-on): Add ssize_t.
8887         * modules/sys_socket (Depends-on): Likewise.
8888         * modules/sys_types (Depends-on): Likewise.
8889         * modules/sys_uio (Depends-on): Likewise.
8890         * modules/unistd (Depends-on): Likewise.
8891         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
8892         * tests/test-sys_types.c: Check that ssize_t is defined.
8893
8894 2011-09-14  Bruno Haible  <bruno@clisp.org>
8895
8896         Avoid using #, the m4 comment starter character, near brackets.
8897         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
8898         delimiter character in sed expressions.
8899         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
8900         Suggested by Eric Blake.
8901
8902         Properly quote AC_CHECK_DECLS' 4th argument.
8903         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
8904         argument.
8905         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
8906         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
8907         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
8908         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
8909         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
8910         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
8911         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
8912         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
8913         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
8914         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
8915         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
8916         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
8917         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
8918         * m4/isinf.m4 (gl_ISINF): Likewise.
8919         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
8920         * m4/readutmp.m4 (gl_READUTMP): Likewise.
8921         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
8922         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
8923         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
8924         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
8925         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
8926         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
8927         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
8928         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
8929         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
8930         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8931         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
8932         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
8933         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8934         Reported by Eric Blake.
8935
8936         Properly quote AC_CHECK_DECL's 4th argument.
8937         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
8938         argument.
8939         * m4/argp.m4 (gl_ARGP): Likewise.
8940         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
8941         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
8942         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
8943         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
8944         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
8945         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
8946         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
8947         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
8948         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
8949         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
8950         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
8951         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
8952         Reported by Eric Blake.
8953
8954 2011-09-14  Eric Blake  <eblake@redhat.com>
8955
8956         opendir: avoid compile warning
8957         * lib/opendir.c (includes): Always include errno.h.
8958         Reported by Tatsuro MATSUOKA.
8959
8960 2011-09-14  Jim Meyering  <meyering@redhat.com>
8961
8962         maint.mk: sc_tight_scope: propagate failure from sub-make
8963         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
8964         Reported by Martin von Gagern.
8965
8966 2011-09-13  Bruno Haible  <bruno@clisp.org>
8967
8968         tempname: Support for MSVC.
8969         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
8970         MSVC.
8971         * modules/tempname (Depends-on): Add fcntl-h.
8972
8973 2011-09-13  Bruno Haible  <bruno@clisp.org>
8974
8975         sys_time: Support for MSVC.
8976         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
8977         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
8978         include <winsock2.h>.
8979         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
8980         function declarations that collide with POSIX.
8981         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
8982         (Makefile.am): Substitute HAVE_WINSOCK2_H.
8983
8984 2011-09-13  Bruno Haible  <bruno@clisp.org>
8985
8986         stat: Support for MSVC.
8987         * lib/stat.c: Include pathmax.h.
8988         * modules/stat (Depends-on): Add pathmax.
8989
8990         pathmax: Support for native Windows.
8991         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
8992
8993 2011-09-12  Bruno Haible  <bruno@clisp.org>
8994
8995         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
8996         * lib/dirent.in.h (struct dirent): New type.
8997         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
8998         DT_WHT): New macros.
8999         (DIR): New type.
9000         (opendir, closedir): Declare only if the module 'opendir' is enabled.
9001         (readdir, rewinddir): New declarations.
9002         * lib/dirent-private.h: New file.
9003         * lib/opendir.c: New file.
9004         * lib/readdir.c: New file.
9005         * lib/rewinddir.c: New file.
9006         * lib/closedir.c: New file.
9007         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
9008         * m4/opendir.m4: New file.
9009         * m4/readdir.m4: New file.
9010         * m4/rewinddir.m4: New file.
9011         * m4/closedir.m4: New file.
9012         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
9013         REPLACE_CLOSEDIR here.
9014         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
9015         readdir, rewinddir are declared.
9016         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
9017         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
9018         HAVE_REWINDDIR, HAVE_CLOSEDIR.
9019         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
9020         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
9021         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
9022         * modules/opendir: New file.
9023         * modules/readdir: New file.
9024         * modules/rewinddir: New file.
9025         * modules/closedir: New file.
9026         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
9027         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
9028         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
9029         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
9030         * NEWS: Mention the 'fchdir' change.
9031
9032 2011-09-11  Bruno Haible  <bruno@clisp.org>
9033
9034         asm-underscore.m4: Support for MSVC.
9035         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
9036         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
9037
9038 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
9039
9040         Doc about crypt functions.
9041         * doc/posix-functions/crypt.texi: Expand range of glibc versions
9042         needing for _GNU_SOURCE to get crypt.
9043         * doc/posix-functions/encrypt.texi: Likewise.
9044         * doc/posix-functions/setkey.texi: Likewise.
9045
9046 2011-09-11  Bruno Haible  <bruno@clisp.org>
9047
9048         doc: Update regarding MSVC 9.
9049         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
9050         tested".
9051         * doc/posix-functions/*.texi: Update with info about MSVC 9.
9052         * doc/posix-headers/*.texi: Likewise.
9053         * doc/pastposix-functions/*.texi: Likewise.
9054         * doc/glibc-functions/*.texi: Likewise.
9055         * doc/glibc-headers/*.texi: Likewise.
9056
9057 2011-09-11  Bruno Haible  <bruno@clisp.org>
9058
9059         unistd et al.: Don't assume <unistd.h> exists.
9060         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
9061         does not exist.
9062         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
9063         exist. But include <stdlib.h>.
9064         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
9065         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
9066         symlink() does not exist.
9067         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
9068         include <io.h> instead.
9069         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
9070         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
9071         include <direct.h> instead.
9072         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
9073         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9074         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
9075         <io.h> instead.
9076         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
9077         correctly if the system does not have hard links.
9078         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
9079         <direct.h> instead.
9080         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
9081         it when looking for function declarations.
9082         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
9083         <direct.h> and <io.h> instead.
9084         * doc/posix-headers/unistd.texi: More details about MSVC problem.
9085
9086 2011-09-11  Bruno Haible  <bruno@clisp.org>
9087
9088         strcase: Support for MSVC.
9089         * modules/strcase (Status, Notice): Remove obsoletion mark.
9090         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
9091         * doc/posix-functions/strncasecmp.texi: Likewise.
9092
9093         strings: Don't assume <strings.h> exists.
9094         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
9095         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
9096         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
9097         * doc/posix-headers/strings.texi: Mention the MSVC problem.
9098
9099 2011-09-11  Bruno Haible  <bruno@clisp.org>
9100
9101         dirent: Don't assume <dirent.h> exists.
9102         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
9103         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
9104         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
9105         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
9106
9107 2011-09-11  Bruno Haible  <bruno@clisp.org>
9108
9109         Fix wint_t on MSVC.
9110         * lib/wchar.in.h (wint_t): On MSVC, override it.
9111         * lib/wctype.in.h (wint_t): Likewise.
9112         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
9113         MSVC.
9114         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
9115         * doc/posix-headers/wctype.texi: Likewise.
9116
9117 2011-09-11  Bruno Haible  <bruno@clisp.org>
9118
9119         sys_types: Fix typo.
9120         * lib/sys_types.in.h: Fix typo in comment.
9121         Reported by Paul Eggert.
9122
9123         Support for MSVC compiler: Ensure size_t gets defined.
9124         * modules/strings (Depends-on): Add 'sys_types'.
9125         * modules/sys_uio (Depends-on): Likewise.
9126         * lib/sys_uio.in.h: Update comment.
9127
9128         C++ tests for module 'sys_types'.
9129         * modules/sys_types-c++-tests: New file.
9130         * tests/test-sys_types-c++.cc: New file.
9131
9132         Tests for module 'sys_types'.
9133         * modules/sys_types-tests: New file.
9134         * tests/test-sys_types.c: New file.
9135
9136         New module 'sys_types'.
9137         * lib/sys_types.in.h: New file.
9138         * m4/sys_types_h.m4: New file.
9139         * modules/sys_types: New file.
9140         * doc/posix-headers/sys_types.texi: Mention the new module and the
9141         size_t problem on MSVC 9.
9142
9143 2011-09-11  Bruno Haible  <bruno@clisp.org>
9144
9145         Support for MSVC compiler: Avoid division by a literal 0.
9146         * lib/math.in.h (NAN): Define through a function call also on MSVC.
9147         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
9148         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
9149         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
9150         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
9151         * tests/infinity.h: New file.
9152         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
9153         on MSVC.
9154         * tests/test-ceilf1.c: Include infinity.h.
9155         (main): Use Infinityf.
9156         * tests/test-ceil1.c: Include infinity.h.
9157         (main): Use Infinityd.
9158         * tests/test-ceill.c: Include infinity.h.
9159         (main): Use Infinityl.
9160         * tests/test-dprintf-posix.c: Include infinity.h.
9161         (test_function): Use Infinityd.
9162         * tests/test-floorf1.c: Include infinity.h.
9163         (main): Use Infinityf.
9164         * tests/test-floor1.c: Include infinity.h.
9165         (main): Use Infinityd.
9166         * tests/test-floorl.c: Include infinity.h.
9167         (main): Use Infinityl.
9168         * tests/test-fprintf-posix.c: Include infinity.h.
9169         (test_function): Use Infinityd.
9170         * tests/test-frexp.c: Include infinity.h.
9171         (main): Use Infinityd.
9172         * tests/test-frexpl.c: Include infinity.h.
9173         (main): Use Infinityl.
9174         * tests/test-isfinite.c: Include infinity.h.
9175         (test_isfinitef): Use Infinityf.
9176         (test_isfinited): Use Infinityd.
9177         (test_isfinitel): Use Infinityl.
9178         * tests/test-isinf.c: Include infinity.h.
9179         (test_isinff): Use Infinityf.
9180         (test_isinfd): Use Infinityd.
9181         (test_isinfl): Use Infinityl.
9182         * tests/test-isnan.c: Include infinity.h.
9183         (test_float): Use Infinityf.
9184         (test_double): Use Infinityd.
9185         (test_long_double): Use Infinityl.
9186         * tests/test-isnanf.h: Include infinity.h.
9187         (main): Use Infinityf.
9188         * tests/test-isnand.h: Include infinity.h.
9189         (main): Use Infinityd.
9190         * tests/test-isnanl.h: Include infinity.h.
9191         (main): Use Infinityl.
9192         * tests/test-ldexpl.c: Include infinity.h.
9193         (main): Use Infinityl.
9194         * tests/test-printf-posix.h: Include infinity.h.
9195         (test_function): Use Infinityd.
9196         * tests/test-roundf1.c: Include infinity.h.
9197         (main): Use Infinityf.
9198         * tests/test-round1.c: Include infinity.h.
9199         (main): Use Infinityd.
9200         * tests/test-roundl.c: Include infinity.h.
9201         (main): Use Infinityl.
9202         * tests/test-signbit.c: Include infinity.h.
9203         (test_signbitf): Use Infinityf.
9204         (test_signbitd): Use Infinityd.
9205         (test_signbitl): Use Infinityl.
9206         * tests/test-snprintf-posix.h: Include infinity.h.
9207         (test_function): Use Infinityd, Infinityl.
9208         * tests/test-sprintf-posix.h: Include infinity.h.
9209         (test_function): Use Infinityd, Infinityl.
9210         * tests/test-truncf1.c: Include infinity.h.
9211         (main): Use Infinityf.
9212         * tests/test-trunc1.c: Include infinity.h.
9213         (main): Use Infinityd.
9214         * tests/test-truncl.c: Include infinity.h.
9215         (main): Use Infinityl.
9216         * tests/test-vasnprintf-posix.c: Include infinity.h.
9217         (test_function): Use Infinityd, Infinityl.
9218         * tests/test-vasprintf-posix.c: Include infinity.h.
9219         (test_function): Use Infinityd, Infinityl.
9220         * modules/ceilf-tests (Files): Add tests/infinity.h.
9221         * modules/ceil-tests (Files): Likewise.
9222         * modules/ceill-tests (Files): Likewise.
9223         * modules/dprintf-posix-tests (Files): Likewise.
9224         * modules/floorf-tests (Files): Likewise.
9225         * modules/floor-tests (Files): Likewise.
9226         * modules/floorl-tests (Files): Likewise.
9227         * modules/fprintf-posix-tests (Files): Likewise.
9228         * modules/frexp-tests (Files): Likewise.
9229         * modules/frexp-nolibm-tests (Files): Likewise.
9230         * modules/frexpl-tests (Files): Likewise.
9231         * modules/frexpl-nolibm-tests (Files): Likewise.
9232         * modules/isfinite-tests (Files): Likewise.
9233         * modules/isinf-tests (Files): Likewise.
9234         * modules/isnan-tests (Files): Likewise.
9235         * modules/isnanf-tests (Files): Likewise.
9236         * modules/isnanf-nolibm-tests (Files): Likewise.
9237         * modules/isnand-tests (Files): Likewise.
9238         * modules/isnand-nolibm-tests (Files): Likewise.
9239         * modules/isnanl-tests (Files): Likewise.
9240         * modules/isnanl-nolibm-tests (Files): Likewise.
9241         * modules/ldexpl-tests (Files): Likewise.
9242         * modules/printf-posix-tests (Files): Likewise.
9243         * modules/roundf-tests (Files): Likewise.
9244         * modules/round-tests (Files): Likewise.
9245         * modules/roundl-tests (Files): Likewise.
9246         * modules/signbit-tests (Files): Likewise.
9247         * modules/snprintf-posix-tests (Files): Likewise.
9248         * modules/sprintf-posix-tests (Files): Likewise.
9249         * modules/truncf-tests (Files): Likewise.
9250         * modules/trunc-tests (Files): Likewise.
9251         * modules/truncl-tests (Files): Likewise.
9252         * modules/vasnprintf-posix-tests (Files): Likewise.
9253         * modules/vasprintf-posix-tests (Files): Likewise.
9254         * modules/vdprintf-posix-tests (Files): Likewise.
9255         * modules/vfprintf-posix-tests (Files): Likewise.
9256         * modules/vprintf-posix-tests (Files): Likewise.
9257         * modules/vsnprintf-posix-tests (Files): Likewise.
9258         * modules/vsprintf-posix-tests (Files): Likewise.
9259         * modules/xprintf-posix-tests (Files): Likewise.
9260
9261 2011-09-11  Bruno Haible  <bruno@clisp.org>
9262
9263         Ensure pid_t gets defined.
9264         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
9265         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
9266         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
9267         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
9268         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
9269         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
9270         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
9271         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
9272         * tests/test-fcntl-h.c: Check that pid_t is defined.
9273         * tests/test-sched.c: Likewise.
9274         * tests/test-termios.c: Likewise.
9275         * tests/test-time.c: Likewise.
9276         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
9277         * doc/posix-headers/signal.texi: Likewise.
9278         * doc/posix-headers/sys_types.texi: Likewise.
9279         * doc/posix-headers/time.texi: Likewise.
9280
9281 2011-09-11  Bruno Haible  <bruno@clisp.org>
9282
9283         acl: Fix compilation on Solaris 10 (older version).
9284         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
9285         of ACE_EVERYONE.
9286         * lib/set-mode-acl.c (qset_acl): Likewise.
9287         Reported by Christian Jullien <eligis@orange.fr>.
9288
9289 2011-09-10  Bruno Haible  <bruno@clisp.org>
9290
9291         iconv, unsetenv: Add support for MSVC compiler.
9292         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
9293         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
9294
9295 2011-09-10  Bruno Haible  <bruno@clisp.org>
9296
9297         *printf: Add support for MSVC compiler.
9298         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
9299         handles the exception caused by the %n directive. When cross-compiling,
9300         guess no on native Windows.
9301         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
9302         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
9303         emulate it through vsnprintf.
9304         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
9305         * doc/posix-functions/dprintf.texi: Update documentation regarding
9306         MSVC 9.
9307         * doc/posix-functions/fprintf.texi: Likewise.
9308         * doc/posix-functions/printf.texi: Likewise.
9309         * doc/posix-functions/snprintf.texi: Likewise.
9310         * doc/posix-functions/sprintf.texi: Likewise.
9311         * doc/posix-functions/swprintf.texi: Likewise.
9312         * doc/posix-functions/vdprintf.texi: Likewise.
9313         * doc/posix-functions/vfprintf.texi: Likewise.
9314         * doc/posix-functions/vprintf.texi: Likewise.
9315         * doc/posix-functions/vsnprintf.texi: Likewise.
9316         * doc/posix-functions/vsprintf.texi: Likewise.
9317         * doc/glibc-functions/asprintf.texi: Likewise.
9318         * doc/glibc-functions/obstack_printf.texi: Likewise.
9319         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
9320         * doc/glibc-functions/vasprintf.texi: Likewise.
9321
9322 2011-09-10  Bruno Haible  <bruno@clisp.org>
9323
9324         nocrash: Add support for native Windows.
9325         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
9326
9327 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
9328             Bruno Haible  <bruno@clisp.org>
9329
9330         absolute-header, include-next: Add support for MSVC compiler.
9331         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
9332         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
9333         directory separator in #line directives.
9334         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
9335         recognize also backslash as directory separator in #line directives.
9336
9337 2011-09-08  Jim Meyering  <meyering@redhat.com>
9338
9339         maint.mk: mark the post-release commit log with "maint: " prefix
9340         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
9341         one-line commit-log summary.
9342
9343 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
9344             Bruno Haible  <bruno@clisp.org>
9345
9346         Doc about crypt functions.
9347         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
9348         systems.
9349         * doc/posix-functions/encrypt.texi: Likewise.
9350         * doc/posix-functions/setkey.texi: Likewise.
9351
9352 2011-09-08  Simon Josefsson  <simon@josefsson.org>
9353
9354         * lib/gc.h: Fix copyright header.
9355
9356 2011-09-07  Bruno Haible  <bruno@clisp.org>
9357
9358         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
9359         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
9360         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
9361
9362 2011-09-07  Bruno Haible  <bruno@clisp.org>
9363
9364         openat: Work around compilation error with OSF/1 5.1 DTK cc.
9365         * lib/fopen.c: Use different syntax for include of <stdio.h>.
9366         * lib/freopen.c: Likewise.
9367         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
9368         * lib/lstat.c: Likewise.
9369         * lib/stat.c: Likewise.
9370         * lib/open.c: Use different syntax for include of <fcntl.h>.
9371         * lib/openat.c: Include fcntl.h again, explicitly.
9372
9373 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
9374
9375         parse-datetime: document the newly accepted format
9376         * doc/parse-datetime.texi (Combined date and time of day items):
9377         New section.
9378
9379 2011-09-06  Bruno Haible  <bruno@clisp.org>
9380
9381         acl: Fix a test failure on newer Solaris 10 with ZFS.
9382         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
9383         ENOSYS as no ACL.
9384         Reported by Jim Meyering.
9385
9386 2011-09-06  Bruno Haible  <bruno@clisp.org>
9387
9388         acl: Update for AIX >= 5.3 with NFS.
9389         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
9390         ENOSYS as no ACL.
9391
9392         acl: Fix a test failure on AIX >= 5.3 with NFS.
9393         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
9394         as no ACL.
9395
9396 2011-09-06  Bruno Haible  <bruno@clisp.org>
9397
9398         acl: Fix a test failure on IRIX 6.5 with NFS.
9399         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
9400         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
9401         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
9402         * lib/copy-acl.c (qcopy_acl): Likewise.
9403
9404 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
9405
9406         openat: port to AIX 7.1 with large files
9407         AIX 7.1 does a "#define openat open64at" if large files are in use,
9408         so we can't simply #undef openat.  Use the orig_openat trick (similar
9409         to orig_open in lib/open.c) to work around the problem.  Problem
9410         reported by Kevin Brott for GNU tar, in the thread containing
9411         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
9412         * lib/openat.c (__need_system_fcntl_h): Define first.
9413         Include <fcntl.h> and <sys/types.h> before undefining.
9414         (orig_openat) [HAVE_OPENAT]: New inline function.
9415         (openat) [HAVE_OPENAT]: Do not undef.
9416         (rpl_openat): Use orig_openat, not openat.
9417
9418 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
9419             Bruno Haible  <bruno@clisp.org>
9420
9421         acl: Avoid errors on NonStop Kernel.
9422         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
9423         ENOTSUP errors.
9424
9425 2011-09-05  Bruno Haible  <bruno@clisp.org>
9426
9427         acl: Clean up Solaris code.
9428         * lib/acl-internal.h: Remove no-op #if.
9429         * lib/file-has-acl.c: Likewise.
9430         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
9431         * lib/copy-acl.c (qcopy_acl): Likewise.
9432
9433 2011-09-05  Bruno Haible  <bruno@clisp.org>
9434
9435         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
9436         binaries built on the original Solaris 10.
9437         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
9438         trivial.
9439
9440 2011-09-05  Bruno Haible  <bruno@clisp.org>
9441
9442         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
9443         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
9444         10.
9445         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
9446         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
9447         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
9448         instead of acl_get, facl_get, acl_set, facl_set.
9449
9450 2011-09-05  Bruno Haible  <bruno@clisp.org>
9451
9452         copy-file: Try unit tests on more file systems.
9453         * tests/test-copy-file-1.sh: New file.
9454         * tests/test-copy-file-2.sh: New file.
9455         * modules/copy-file-tests (Files): Add them.
9456         (Makefile.am): Add them to TESTS.
9457
9458         acl: Try unit tests on more file systems.
9459         * tests/test-file-has-acl-1.sh: New file.
9460         * tests/test-file-has-acl-2.sh: New file.
9461         * tests/test-set-mode-acl-1.sh: New file.
9462         * tests/test-set-mode-acl-2.sh: New file.
9463         * tests/test-copy-acl-1.sh: New file.
9464         * tests/test-copy-acl-2.sh: New file.
9465         * modules/acl-tests (Files): Add them.
9466         (Makefile.am): Add them to TESTS.
9467
9468 2011-09-04  Bruno Haible  <bruno@clisp.org>
9469
9470         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
9471         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
9472         10.
9473         (OLD_ALLOW, OLD_DENY): New macros.
9474         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
9475         ACE_ACCESS_ALLOWED_ACE_TYPE.
9476         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
9477         ACE_ACCESS_DENIED_ACE_TYPE.
9478         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
9479         (NEW_ACE_EXECUTE): Fix value.
9480         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
9481         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
9482         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
9483         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
9484         NEW_ACE_SYNCHRONIZE): New macros.
9485         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
9486         instead of acl_fromtext, acl_set, facl_set.
9487         Fixes a coreutils/tests/cp/perm failure.
9488
9489 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
9490
9491         openat: test for fstatat (..., 0) bug
9492         Further testing with tar suggests that fstatat (..., 0)
9493         does not work in general, on AIX 7.1; see
9494         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
9495         So, give up entirely on AIX 7.1's fstatat, and fall back on our
9496         replacement fstatat (which is what older AIX releases were using
9497         anyway).
9498         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
9499         use is now changed to orig_fstatat.  This was probably the right
9500         thing to do anyway.
9501         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
9502         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
9503         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
9504         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
9505         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
9506         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
9507         if the bug is found.
9508
9509         openat: test for fstatat (AT_FDCWD, ..., 0) bug
9510         This tests for another fstatat bug on AIX 7.1:
9511         fstatat (AT_FDCWD, ..., 0) does not work.  See
9512         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
9513         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
9514         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
9515         (rpl_fstatat): Adjust so that it works around either (or both)
9516         bugs if present.
9517         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
9518
9519 2011-09-03  Karl Berry  <karl@gnu.org>
9520
9521         * doc/regex.texi (Character Class Operators): Avoid literal ":"
9522         in index entries.
9523
9524 2011-09-02  Bruno Haible  <bruno@clisp.org>
9525
9526         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
9527         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
9528         values of AR, ARFLAGS, RANLIB.
9529         Reported by John W. Eaton <jwe@gnu.org> for Octave.
9530
9531 2011-09-02  Bruno Haible  <bruno@clisp.org>
9532
9533         Find 'ar' program that fits with --host argument.
9534         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
9535
9536 2011-09-02  Bruno Haible  <bruno@clisp.org>
9537
9538         tests: init.sh: Support any non-GNU diff.
9539         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
9540         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
9541         Solaris 8.
9542
9543 2011-09-02  Bruno Haible  <bruno@clisp.org>
9544
9545         tests: init.sh: work also with any non-GNU diff that supports -u
9546         * tests/init.sh: Relax check for diff -u support.
9547         Rather than checking for GNU diff via --version, simply check
9548         for support for -u itself.  Useful at least on OpenBSD 4.9,
9549         AIX 7.1, IRIX 6.5, and Solaris 10.
9550
9551 2011-09-01  Bruno Haible  <bruno@clisp.org>
9552
9553         strtoimax, strtoumax: Document problem on HP-UX 11.
9554         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
9555         * doc/posix-functions/strtoumax.texi: Likewise.
9556
9557 2011-09-01  Bruno Haible  <bruno@clisp.org>
9558
9559         strtoumax: Avoid link error on OSF/1 with DTK cc.
9560         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
9561         defined as a function.
9562         * modules/strtoumax (Depends-on, configure.ac): Test only whether
9563         strtoumax is defined, not whether it is declared.
9564
9565 2011-09-01  Bruno Haible  <bruno@clisp.org>
9566
9567         strtoimax: Avoid link error on OSF/1 with DTK cc.
9568         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
9569         defined as a function.
9570         * modules/strtoimax (Depends-on, configure.ac): Test only whether
9571         strtoimax is defined, not whether it is declared.
9572
9573 2011-09-01  Bruno Haible  <bruno@clisp.org>
9574
9575         imaxdiv: Avoid link error on OSF/1 with DTK cc.
9576         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
9577         as a function.
9578         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
9579         whether it is declared.
9580
9581 2011-09-01  Bruno Haible  <bruno@clisp.org>
9582
9583         imaxabs: Avoid link error on OSF/1 with DTK cc.
9584         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
9585         as a function.
9586         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
9587         whether it is declared.
9588
9589 2011-09-01  Bruno Haible  <bruno@clisp.org>
9590
9591         Tests for module 'strtoumax'.
9592         * modules/strtoumax-tests: New file.
9593         * tests/test-strtoumax.c: New file.
9594
9595         Tests for module 'strtoimax'.
9596         * modules/strtoimax-tests: New file.
9597         * tests/test-strtoimax.c: New file.
9598
9599         Tests for module 'imaxdiv'.
9600         * modules/imaxdiv-tests: New file.
9601         * tests/test-imaxdiv.c: New file.
9602
9603         Tests for module 'imaxabs'.
9604         * modules/imaxabs-tests: New file.
9605         * tests/test-imaxabs.c: New file.
9606
9607 2011-09-01  Bruno Haible  <bruno@clisp.org>
9608
9609         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
9610         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
9611         pthread_create.
9612
9613 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
9614
9615         openat: work around AIX 7.1 fstatat issue
9616         This should fix the problem that was not properly fixed
9617         in the previous change, dated 2011-08-30.
9618         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
9619         __need_system_stat_h defined.
9620         (orig_fstatat) [HAVE_FSTATAT]: New function.
9621         (rpl_fstatat): Go back to the old way of doing things,
9622         except call orig_fstatat instead of fstatat.
9623         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
9624         Remove unnecessary check whether fstatat fills in st_size etc.
9625
9626 2011-09-01  Bruno Haible  <bruno@clisp.org>
9627
9628         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
9629         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
9630         just include the system's header.
9631
9632 2011-08-31  Jim Meyering  <meyering@redhat.com>
9633
9634         tests: avoid spurious assertion failure in test-float.c on ppc64
9635         * tests/test-float.c (test_long_double): Comment out an assertion,
9636         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
9637         with gcc-4.4.4.
9638
9639         maint: indent with spaces, not TABs
9640         I need to get in the habit of running gnulib's "make check".
9641         Both of these would have been caught.
9642         * m4/largefile.m4: Indent with spaces, not TABs.
9643         * lib/parse-datetime.y (iso_8601_time): Likewise.
9644         Spotted by Pádraig Brady.
9645
9646         test-parse-datetime.c: accommodate a relatively strict gcc warning
9647         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
9648         to avoid a warning from gcc's -Werror=missing-declarations.
9649         Insert a few spaces-before-funcall-parenthesis.
9650
9651 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
9652
9653         parse-datetime: accept ISO 8601 date and time rep with "T" separator
9654         The parser now accepts ISO 8601 date-time strings with "T" as the
9655         separator.  It has long parsed dates like "2004-02-29 16:21:42"
9656         with a space between the date and time strings.  Now it also parses
9657         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
9658         variants like "2004-02-29T16:21:42.333-07:00"
9659         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
9660         of day representation using the 'T' separator character.
9661         * doc/parse-datetime.texi (General date syntax): replace use of
9662         deprecated --iso-8601 option with --rfc-3339 in example of date
9663         command output formats that can be parsed.
9664         * tests/test-parse-datetime.c (tm_diff): New function, taken from
9665         lib/parse-datetime.y.
9666         (gmt_offset): New function.
9667         (main): Add additional test cases to validate ISO8601 extended
9668         date and time of day parsing.
9669
9670 2011-08-31  Bruno Haible  <bruno@clisp.org>
9671
9672         freopen: Documentation.
9673         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
9674         name.
9675         Reported by Claudio Bley <claudio.bley@gmail.com>.
9676
9677 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
9678
9679         freopen: Don't crash if the filename argument is NULL.
9680         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
9681         NULL.
9682
9683 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
9684
9685         openat: work around AIX 7.1 fstatat bug
9686         Problem reported by Kevin Brott for GNU tar, in the thread containing
9687         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
9688         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
9689         FSTATAT_ST_SIZE_ETC_BROKEN.
9690         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
9691         rpl_fstatat.
9692         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
9693         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
9694         AC_CHECK_FUNCS_ONCE for fstatat.
9695         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
9696         fchmodat, mkdirat, openat and unlinkat.
9697
9698 2011-08-30  Bruno Haible  <bruno@clisp.org>
9699
9700         Avoid endless recursions if config.h includes some header files.
9701         * lib/fopen.c (__need_FILE): Define already before including config.h.
9702         * lib/freopen.c (__need_FILE): Likewise.
9703         * lib/open.c (__need_system_fcntl_h): Likewise.
9704         * lib/stat.c (__need_system_sys_stat_h): Likewise.
9705         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
9706         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
9707
9708 2011-08-25  Karl Berry  <karl@gnu.org>
9709
9710         * config/srclist.txt (ylwrap): new try.
9711         * build-aux/ylwrap: new file.
9712
9713 2011-08-23  Bruno Haible  <bruno@clisp.org>
9714
9715         tmpdir: Use a good default directory on native Windows.
9716         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
9717         (P_tmpdir): Default to _P_tmpdir on native Windows.
9718         (path_search): On native Windows, try the value returned by GetTempPath
9719         before trying P_tmpdir.
9720         * modules/tmpdir (Depends-on): Add pathmax.
9721         Suggested by John Darrington <john@darrington.wattle.id.au>.
9722
9723 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
9724
9725         doc: fix typo in README-release
9726         * top/README-release: Capitalize first word of a sentence.
9727
9728 2011-08-19  Jim Meyering  <meyering@redhat.com>
9729
9730         fts: do not exhaust memory when processing million-entry directories
9731         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
9732         directory would require about 256*N bytes of memory.  Thus, it was
9733         easy to construct a directory too large to be processed by any of
9734         those tools.  With this change, fts' maximum memory utilization is
9735         now limited to around 30MB.
9736         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
9737         (fts_read): When we've processed the final entry (i.e., when
9738         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
9739         using the parent entry to read any remaining entries.  Dispatch
9740         depending on what fts_build returns:
9741         - NULL+stop, aka failure: stop
9742         - NULL otherwise: move up in the dir hierarchy
9743         - non-NULL: handle this new entry
9744         (fts_build): Declare and use new local, continue_readdir.
9745         Prepare to be called from fts_read, when the entries
9746         from a partially-read directory have just been exhausted.
9747         In that case, we'll skip the opendir and instead use the parent's
9748         fts_dirp and derive dir_fd from that.
9749         Finally, in the readdir loop, if we read max_entries entries,
9750         exit the loop ensuring *not* to call closedir.  This is required
9751         so that fts_dirp can be reused on a subsequent call.
9752         Prompted by Ben England's report of memory exhaustion in find
9753         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
9754
9755         maint: fts: move decl of `dp' down into while loop; split a long line
9756         * lib/fts.c (fts_build): No semantic change.
9757
9758         fts: add/use new struct member, fts_dirp
9759         We are about to use this to manage any directory with
9760         too many entries to read all of them into memory at once.
9761         To do that, we'll need to save the DIR* pointer in each
9762         affected FTSENT struct.
9763         * lib/fts_.h: Include <dirent.h>.
9764         (struct FTSENT) [fts_dirp]: New member.
9765         * lib/fts.c (closedir_and_clear): Define.
9766         Use it in place of closedir so that we are sure to
9767         clear the new fts_dirp member when done with it.
9768         (fts_alloc): Initialize the new member.
9769         (fts_lfree): Free, if needed.
9770
9771         maint: fts: give __opendir2 a new parameter and rename
9772         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
9773         than surreptitiously using sole caller's "dir_fd".
9774         (fts_opendir): Rename from __opendir2.
9775
9776         maint: fts.c: remove __opendir2's now-unused parameter, oflag
9777         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
9778
9779         maint: fts.c: correct off-by-one indentation
9780         * lib/fts.c (fts_build): Correct indentation, change style
9781         of a couple of block comments, and bracing style.
9782
9783         maint: fts.c: move __opendir2 #define "up" out of function body
9784         * lib/fts.c (__opendir2): Move "up".  No semantic change.
9785
9786         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
9787         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
9788         out for a long time and besides was useful only on BSD systems.
9789
9790 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
9791
9792         regex: port to Stratus OpenVOS
9793         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
9794         define to empty, rather than attempting nonportable optimizations.
9795         Problem reported by Paul Green in:
9796         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
9797         and fix suggested by Eric Blake in:
9798         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
9799
9800 2011-08-17  Eric Blake  <eblake@redhat.com>
9801
9802         getcwd: fix test failures on mingw
9803         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
9804         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
9805         test if long directory cannot be created, and allow mingw errno.
9806
9807         getcwd-lgpl: fix m4 to match relaxed test for BSD
9808         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
9809         (gl_FUNC_GETCWD_SIGNATURE): New macro.
9810         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
9811         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
9812         signature problem.
9813
9814         getcwd: fix compilation on mingw64
9815         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
9816         getcwd.
9817         Reported by Marc-André Lureau.
9818
9819         pipe2: silence compiler warning
9820         * lib/pipe2.c (pipe2): Hide label if it is not used.
9821
9822 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
9823
9824         relocatable-prog: fix link error
9825         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
9826         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
9827         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
9828         into modules/relocatable-lib without noticing that
9829         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
9830         also needs to build relocatable.c.
9831
9832 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
9833
9834         getaddrinfo: fix sh typo in gai_strerrorA decl checking
9835         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
9836         shell code: it contained a 'break' that was not in a loop.
9837         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
9838         via a shell-language loop; this may have been true in old Autoconf
9839         versions, but it's not true in Autoconf 2.68.  I found this bug
9840         when testing coreutils git on Solaris 8, whose shell complains
9841         about the syntax error.
9842
9843 2011-08-12  Simon Josefsson  <simon@josefsson.org>
9844
9845         * lib/base64.c: Fix comment to reference RFC 4648.
9846         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
9847         <gvtulder@gmail.com>.
9848
9849 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
9850
9851         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
9852
9853         po/Makefile.in.in: fix make -q problem
9854         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
9855         rule, since there's no file named 'check-macro-version' and its
9856         use as a file breaks make -q.
9857         (all): Don't depend on check-macro-version.
9858         (CHECK_MACRO_VERSION): New macro.
9859         (stamp-po): Use it.
9860
9861         configmake: fix make -q problem
9862         * modules/configmake (configmake.h): Update configmake.h's time stamp
9863         even if the file does not change.  Otherwise, 'make -q' fails.
9864         Problem reported by Simon Josefsson in
9865         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
9866
9867 2011-08-11  Jim Meyering  <meyering@redhat.com>
9868
9869         git-version-gen: correct the advice in a comment
9870         * build-aux/git-version-gen: Correct comment.
9871         Don't recommend to list .tarball-version in .gitignore.
9872
9873 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
9874
9875         base64: fix off-by-one buffer size bug
9876         Problem and (trivial) fix reported by Gijs van Tulder in
9877         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
9878         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
9879         * tests/test-base64.c (main): Catch the bug.
9880
9881 2011-08-10  Eric Blake  <eblake@redhat.com>
9882
9883         closein: correct comments
9884         * lib/closein.c (close_stdin): Improve comments.
9885
9886 2011-08-09  Bruno Haible  <bruno@clisp.org>
9887
9888         More tests for 'fseeko'.
9889         * tests/test-fseeko3.c: New file, from Eric Blake.
9890         * tests/test-fseeko3.sh: New file.
9891         * modules/fseeko-tests (Files): Add them.
9892         (TESTS): Add test-fseeko3.sh.
9893         (check_PROGRAMS): Add test-fseeko3.
9894
9895 2011-08-09  Eric Blake  <eblake@redhat.com>
9896
9897         fseeko: remove unneeded hack
9898         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
9899
9900         fseeko: fix bug on glibc
9901         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
9902         Reported by John W. Eaton.
9903
9904 2011-08-08  Bruno Haible  <bruno@clisp.org>
9905
9906         unictype/base: Fix interoperability with preinstalled libunistring.
9907         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
9908         Reported by Simon Josefsson.
9909
9910 2011-08-08  Bruno Haible  <bruno@clisp.org>
9911
9912         iswblank: Detect declaration correctly.
9913         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
9914         AC_CHECK_DECLS invocation.
9915
9916 2011-08-08  Bruno Haible  <bruno@clisp.org>
9917
9918         tcgetsid: Detect declaration correctly.
9919         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
9920         AC_CHECK_DECLS invocation.
9921         Reported by Simon Josefsson.
9922
9923 2011-08-08  Eric Blake  <eblake@redhat.com>
9924
9925         largefile: fix typo that regressed large file support
9926         * modules/largefile (configure.ac-early): Fix section name.
9927
9928 2011-08-06  Karl Berry  <karl@gnu.org>
9929
9930         * MODULES.html.sh (func_all_files): _Noreturn is no longer
9931         a separate module.
9932
9933 2011-08-05  Simon Josefsson  <simon@josefsson.org>
9934
9935         openat: Fix warnings and commens when building unlinkat.c on Hurd.
9936         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
9937         get prototype for free.
9938
9939 2011-08-04  Bruno Haible  <bruno@clisp.org>
9940
9941         Tests for module 'pathmax'.
9942         * modules/pathmax-tests: New file.
9943         * tests/test-pathmax.c: New file.
9944
9945         canonicalize-lgpl: Support larger filenames on the Hurd.
9946         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
9947         Reported by Paul Eggert.
9948
9949         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
9950         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
9951         * lib/chdir-long.h: Include pathmax.h.
9952         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
9953         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
9954         (PATH_MAX): Remove code that is done by pathmax.h.
9955         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
9956         * lib/tmpfile.c: Add a comment.
9957         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
9958         * modules/chdir-long (Depends-on): Add pathmax.
9959         * modules/getcwd (Depends-on): Add pathmax.
9960         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
9961         is not defined.
9962         * doc/posix-headers/limits.texi: Mention the pathmax module.
9963         * NEWS: Mention the change.
9964
9965 2011-08-02  Bruno Haible  <bruno@clisp.org>
9966
9967         pthread_sigmask: Actually use results of gl_THREADLIB.
9968         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
9969         gl_THREADLIB, not gl_[]THREADLIB.
9970         Reported by Eric Blake.
9971
9972 2011-08-02  Jim Meyering  <meyering@redhat.com>
9973
9974         maint.mk: relax the default _gl_TS_function_match regexp
9975         * top/maint.mk (_gl_TS_function_match): Don't require at least one
9976         space between function name and "(" in an "extern" declaration.
9977         That would fail to match a decl with no space there: extern void foo();
9978
9979 2011-07-31  Iain Nicol  <iain@thenicols.net>
9980
9981         git-version-gen: document that EXTRA_DIST must include .version
9982         * build-aux/git-version-gen: In the how-to-use comment, document
9983         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
9984         will fail when run from an unpacked distribution tarball.
9985
9986 2011-08-01  Bruno Haible  <bruno@clisp.org>
9987
9988         wctype-h: Fix last change.
9989         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
9990         REPLACE_TOWLOWER to 0.
9991         Reported by Sam Steingold <sds@gnu.org>.
9992
9993 2011-07-31  Bruno Haible  <bruno@clisp.org>
9994
9995         frexpl: Update autoconf test.
9996         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
9997         according to changes of 2011-06-20.
9998
9999 2011-07-31  Bruno Haible  <bruno@clisp.org>
10000
10001         sys_utsname: Add support for Minix.
10002         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
10003         <sys/utsname.h>.
10004         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
10005         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
10006
10007 2011-07-31  Bruno Haible  <bruno@clisp.org>
10008
10009         strings: Add support for Minix.
10010         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
10011         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
10012         * doc/posix-headers/strings.texi: Document the Minix problem.
10013
10014 2011-07-31  Bruno Haible  <bruno@clisp.org>
10015
10016         wctype-h: Add support for Minix.
10017         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
10018         REPLACE_TOWLOWER.
10019         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
10020         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
10021         REPLACE_ISWCNTRL.
10022
10023 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
10024
10025         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
10026         This is a performance improvement for 64-bit hosts: it causes the
10027         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
10028
10029 2011-07-31  Bruno Haible  <bruno@clisp.org>
10030
10031         stdioext: Add support for Minix.
10032         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
10033         * lib/fpurge.c (fpurge): Likewise.
10034         * lib/freadahead.c (freadahead): Likewise.
10035         * lib/freadable.c (freadable): Likewise.
10036         * lib/freading.c (freading): Likewise.
10037         * lib/freadptr.c (freadptr): Likewise.
10038         * lib/freadseek.c (freadptrinc): Likewise.
10039         * lib/fseeko.c (rpl_fseeko): Likewise.
10040         * lib/fseterr.c (fseterr): Likewise.
10041         * lib/fwritable.c (fwritable): Likewise.
10042         * lib/fwriting.c (fwriting): Likewise.
10043         * lib/fflush.c (clear_ungetc_buffer): Update comment.
10044         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
10045
10046 2011-07-31  Bruno Haible  <bruno@clisp.org>
10047
10048         errno: Port to Minix.
10049         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
10050         ECONNABORTED are defined.
10051         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
10052         GNULIB_defined_ECONNABORTED): New macros.
10053         * lib/strerror-override.h (strerror_override): Test also
10054         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
10055         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
10056         ECONNABORTED.
10057         * doc/posix-headers/errno.texi: Mention the Minix problem.
10058
10059 2011-07-31  Bruno Haible  <bruno@clisp.org>
10060
10061         Work around declaration collisions on Minix.
10062         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
10063         defined, set REPLACE_MBSINIT.
10064         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
10065         defined, set REPLACE_MBRTOWC.
10066         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
10067         set REPLACE_MBRLEN.
10068         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
10069         defined, set REPLACE_MBSRTOWCS.
10070         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
10071         defined, set REPLACE_WCRTOMB.
10072         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
10073         defined, set REPLACE_WCSRTOMBS.
10074
10075 2011-07-31  Bruno Haible  <bruno@clisp.org>
10076
10077         Add support for Minix with ACK compiler.
10078         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
10079         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
10080         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
10081
10082 2011-07-31  Bruno Haible  <bruno@clisp.org>
10083
10084         Documentation about Minix.
10085         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
10086         * doc/glibc-headers/*.texi: Likewise.
10087         * doc/posix-functions/*.texi: Likewise.
10088         * doc/glibc-functions/*.texi: Likewise.
10089
10090 2011-07-31  Bruno Haible  <bruno@clisp.org>
10091
10092         snippet/warn-on-use: Fix indentation.
10093         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
10094
10095 2011-07-25  Jim Meyering  <meyering@redhat.com>
10096
10097         tests: test-update-copyright.sh: remove unnecessary "rm" commands
10098         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
10099         commands.
10100
10101 2011-07-27  Jim Meyering  <meyering@redhat.com>
10102
10103         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
10104         * top/maint.mk (gl_extract_significant_defines_): Now that
10105         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
10106         gnulib/lib/signal.in.h, and now that we recommend to
10107         define-if-undefined those two symbols in application code,
10108         we must filter them out of the "significant" list.
10109         This avoids a "make syntax-check" failure in coreutils.
10110
10111 2011-07-26  Eric Blake  <eblake@redhat.com>
10112
10113         warnings: add comments about previous patch
10114         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
10115         * m4/include_next.m4: Likewise.
10116         * m4/warn-on-use.m4: Likewise.
10117         * m4/warnings.m4: Likewise, and simplify use.
10118         Suggested by Stefano Lattarini.
10119
10120         include-next, warnings: support older autoconf
10121         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
10122         AS_VAR_PUSHDEF in a way that works with older autoconf.
10123         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
10124         Reported by Daniel P. Berrange.
10125
10126 2011-07-25  Bruno Haible  <bruno@clisp.org>
10127
10128         fseek, ftell: Fix doc.
10129         * doc/posix-functions/fseek.texi: Reword statement about
10130         AC_SYS_LARGEFILE.
10131         * doc/posix-functions/ftell.texi: Likewise.
10132
10133 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
10134             Bruno Haible  <bruno@clisp.org>
10135
10136         Add dependencies to the 'largefile' module.
10137         * modules/fopen (Depends-on): Add 'largefile'.
10138         * modules/freopen (Depends-on): Likewise.
10139         * modules/fseeko (Depends-on): Likewise.
10140         * modules/ftello (Depends-on): Likewise.
10141         * modules/glob (Depends-on): Likewise.
10142         * modules/lseek (Depends-on): Likewise.
10143         * modules/lstat (Depends-on): Likewise.
10144         * modules/mkostemp (Depends-on): Likewise.
10145         * modules/mkostemps (Depends-on): Likewise.
10146         * modules/mkstemp (Depends-on): Likewise.
10147         * modules/mkstemps (Depends-on): Likewise.
10148         * modules/open (Depends-on): Likewise.
10149         * modules/openat (Depends-on): Likewise.
10150         * modules/pread (Depends-on): Likewise.
10151         * modules/pwrite (Depends-on): Likewise.
10152         * modules/scandir (Depends-on): Likewise.
10153         * modules/stat (Depends-on): Likewise.
10154         * modules/tmpfile (Depends-on): Likewise.
10155         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
10156         since the containing module now depends on the largefile module.
10157         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
10158         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
10159         off_t is fixed by gnulib.
10160         * doc/posix-functions/freopen.texi: Likewise.
10161         * doc/posix-functions/fseeko.texi: Likewise.
10162         * doc/posix-functions/fstatat.texi: Likewise.
10163         * doc/posix-functions/ftello.texi: Likewise.
10164         * doc/posix-functions/glob.texi: Likewise.
10165         * doc/posix-functions/lseek.texi: Likewise.
10166         * doc/posix-functions/lstat.texi: Likewise.
10167         * doc/posix-functions/mkstemp.texi: Likewise.
10168         * doc/posix-functions/open.texi: Likewise.
10169         * doc/posix-functions/openat.texi: Likewise.
10170         * doc/posix-functions/pread.texi: Likewise.
10171         * doc/posix-functions/pwrite.texi: Likewise.
10172         * doc/posix-functions/scandir.texi: Likewise.
10173         * doc/posix-functions/stat.texi: Likewise.
10174         * doc/posix-functions/tmpfile.texi: Likewise.
10175         * doc/glibc-functions/mkostemp.texi: Likewise.
10176         * doc/glibc-functions/mkostemps.texi: Likewise.
10177         * doc/glibc-functions/mkstemps.texi: Likewise.
10178
10179 2011-07-25  Bruno Haible  <bruno@clisp.org>
10180
10181         fcntl: Move AC_LIBOBJ invocation to module description.
10182         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
10183         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
10184
10185         fcntl: Remove call-in from fchdir.m4.
10186         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
10187         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
10188
10189         dup3: Remove potential call-in from fchdir.m4.
10190         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
10191         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
10192
10193         dup2: Move AC_LIBOBJ invocation to module description.
10194         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
10195         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
10196         Don't invoke AC_LIBOBJ.
10197         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
10198
10199         dup2: Remove call-in from fchdir.m4.
10200         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
10201         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
10202
10203         fclose: Move AC_LIBOBJ invocation to module description.
10204         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
10205         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
10206         to 1.
10207         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
10208
10209         fclose: Remove call-in from close.m4.
10210         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
10211         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
10212
10213         close: Move AC_LIBOBJ invocation to module description.
10214         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
10215         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
10216         1.
10217         * modules/close (configure.ac): Invoke AC_LIBOBJ.
10218
10219         close: Remove call-in from fchdir.m4.
10220         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
10221         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
10222
10223         open: Move AC_LIBOBJ invocation to module description.
10224         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
10225         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
10226         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
10227
10228         open: Remove call-in from fchdir.m4.
10229         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
10230         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
10231
10232         fchdir: Start to remove gl_REPLACE_* idiom.
10233         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
10234         (gl_FUNC_FCHDIR): Invoke it.
10235
10236 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
10237
10238         * lib/ftell.c (ftell): Comment out cast.
10239
10240         close: use gl_REPLACE_FCLOSE only if defined
10241         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
10242         is defined.  The close module doesn't depend on the fclose module
10243         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
10244         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
10245         I reproduced the problem with "./gnulib-tool --test close sys_socket".
10246
10247 2011-07-24  Jim Meyering  <meyering@redhat.com>
10248
10249         test-select.h: avoid warning when using gcc's -Wmissing-declarations
10250         * tests/test-select.h (test_function): Declare as "static".
10251
10252 2011-07-24  Bruno Haible  <bruno@clisp.org>
10253
10254         doc: Mention the effects of AC_SYS_LARGEFILE.
10255         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
10256         on this function.
10257         * doc/posix-functions/aio_error.texi: Likewise.
10258         * doc/posix-functions/aio_fsync.texi: Likewise.
10259         * doc/posix-functions/aio_read.texi: Likewise.
10260         * doc/posix-functions/aio_return.texi: Likewise.
10261         * doc/posix-functions/aio_suspend.texi: Likewise.
10262         * doc/posix-functions/aio_write.texi: Likewise.
10263         * doc/posix-functions/fgetpos.texi: Likewise.
10264         * doc/posix-functions/fopen.texi: Likewise.
10265         * doc/posix-functions/freopen.texi: Likewise.
10266         * doc/posix-functions/fsetpos.texi: Likewise.
10267         * doc/posix-functions/fstatvfs.texi: Likewise.
10268         * doc/posix-functions/ftruncate.texi: Likewise.
10269         * doc/posix-functions/ftw.texi: Likewise.
10270         * doc/posix-functions/getrlimit.texi: Likewise.
10271         * doc/posix-functions/glob.texi: Likewise.
10272         * doc/posix-functions/lio_listio.texi: Likewise.
10273         * doc/posix-functions/lockf.texi: Likewise.
10274         * doc/posix-functions/mkstemp.texi: Likewise.
10275         * doc/posix-functions/mmap.texi: Likewise.
10276         * doc/posix-functions/nftw.texi: Likewise.
10277         * doc/posix-functions/openat.texi: Likewise.
10278         * doc/posix-functions/opendir.texi: Likewise.
10279         * doc/posix-functions/posix_fadvise.texi: Likewise.
10280         * doc/posix-functions/posix_fallocate.texi: Likewise.
10281         * doc/posix-functions/pread.texi: Likewise.
10282         * doc/posix-functions/pwrite.texi: Likewise.
10283         * doc/posix-functions/readdir.texi: Likewise.
10284         * doc/posix-functions/readdir_r.texi: Likewise.
10285         * doc/posix-functions/rewinddir.texi: Likewise.
10286         * doc/posix-functions/scandir.texi: Likewise.
10287         * doc/posix-functions/seekdir.texi: Likewise.
10288         * doc/posix-functions/setrlimit.texi: Likewise.
10289         * doc/posix-functions/statvfs.texi: Likewise.
10290         * doc/posix-functions/telldir.texi: Likewise.
10291         * doc/posix-functions/tmpfile.texi: Likewise.
10292         * doc/posix-functions/truncate.texi: Likewise.
10293         * doc/glibc-functions/fallocate.texi: Likewise.
10294         * doc/glibc-functions/fstatfs.texi: Likewise.
10295         * doc/glibc-functions/fts_children.texi: Likewise.
10296         * doc/glibc-functions/fts_read.texi: Likewise.
10297         * doc/glibc-functions/getdirentries.texi: Likewise.
10298         * doc/glibc-functions/mkostemp.texi: Likewise.
10299         * doc/glibc-functions/mkostemps.texi: Likewise.
10300         * doc/glibc-functions/mkstemps.texi: Likewise.
10301         * doc/glibc-functions/preadv.texi: Likewise.
10302         * doc/glibc-functions/pwritev.texi: Likewise.
10303         * doc/glibc-functions/sendfile.texi: Likewise.
10304         * doc/glibc-functions/statfs.texi: Likewise.
10305
10306 2011-07-24  Bruno Haible  <bruno@clisp.org>
10307
10308         doc: Fix typo.
10309         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
10310
10311 2011-07-24  Bruno Haible  <bruno@clisp.org>
10312
10313         doc: Mention fsusage.
10314         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
10315
10316 2011-07-24  Bruno Haible  <bruno@clisp.org>
10317
10318         doc: Mention new glibc headers and functions.
10319         * doc/glibc-headers/gshadow.texi: New file.
10320         * doc/glibc-functions/endsgent.texi: New file.
10321         * doc/glibc-functions/fgetsgent.texi: New file.
10322         * doc/glibc-functions/fgetsgent_r.texi: New file.
10323         * doc/glibc-functions/getsgent.texi: New file.
10324         * doc/glibc-functions/getsgent_r.texi: New file.
10325         * doc/glibc-functions/getsgnam.texi: New file.
10326         * doc/glibc-functions/getsgnam_r.texi: New file.
10327         * doc/glibc-functions/putsgent.texi: New file.
10328         * doc/glibc-functions/setsgent.texi: New file.
10329         * doc/glibc-functions/sgetsgent.texi: New file.
10330         * doc/glibc-functions/sgetsgent_r.texi: New file.
10331         * doc/glibc-functions/malloc_info.texi: New file.
10332         * doc/glibc-functions/preadv.texi: New file.
10333         * doc/glibc-functions/pwritev.texi: New file.
10334         * doc/glibc-functions/register_printf_modifier.texi: New file.
10335         * doc/glibc-functions/register_printf_specifier.texi: New file.
10336         * doc/glibc-functions/register_printf_type.texi: New file.
10337         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
10338         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
10339         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
10340         * doc/glibc-functions/pthread_getname_np.texi: New file.
10341         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
10342         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
10343         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
10344         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
10345         * doc/glibc-functions/pthread_setname_np.texi: New file.
10346         * doc/glibc-functions/pthread_sigqueue.texi: New file.
10347         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
10348         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
10349         * doc/glibc-functions/qsort_r.texi: New file.
10350         * doc/glibc-functions/quick_exit.texi: New file.
10351         * doc/glibc-functions/syncfs.texi: New file.
10352         * doc/gnulib.texi: Include them.
10353         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
10354         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
10355         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
10356         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
10357         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
10358         * doc/glibc-functions/execvpe.texi: Likewise.
10359
10360 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
10361
10362         ftell: don't include <unistd.h>
10363         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
10364         guaranteed to define off_t, and the ftell module depends on the
10365         stdio module.
10366
10367         ftell: do not assume wraparound signed arithmetic
10368         * lib/ftell.c: Include <limits.h>.
10369         (ftell): Don't assume wraparound signed arithmetic.
10370
10371 2011-07-24  Bruno Haible  <bruno@clisp.org>
10372
10373         close: No longer depend on module 'fclose'.
10374         * modules/close (Depends-on): Remove fclose.
10375         * NEWS: Mention the change.
10376         Suggested by Sam Steingold <sds@gnu.org>.
10377
10378 2011-07-24  Bruno Haible  <bruno@clisp.org>
10379
10380         fsusage: Enable large volume support on AIX >= 5.2.
10381         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
10382         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
10383         instead of STAT_STATVFS.
10384         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
10385
10386         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
10387         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
10388         f_blocks field only on MacOS X.
10389
10390         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
10391         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
10392         * modules/fsusage (Depends-on): Add largefile.
10393
10394 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
10395
10396         * README: Modernize discussion of signed integers.
10397         Assuming overflow wraparound is no longer safe.
10398         Mention ones' complement and signed magnitude.
10399
10400 2011-07-22  Bruno Haible  <bruno@clisp.org>
10401
10402         select tests, pselect tests: Refactor.
10403         * tests/test-select.h: New file, extracted from tests/test-select.c.
10404         (select_fn): New type.
10405         (test, do_select, do_select_nowait, do_select_wait, test_tty,
10406         test_connect_first, test_accept_first, test_pair, test_socket_pair,
10407         test_pipe): Add my_select argument.
10408         (test_function): Renamed from main. Add my_select argument.
10409         * tests/test-select.c: Move most code to tests/test-select.h. Include
10410         test-select.h.
10411         * modules/select-tests (Files): Add tests/test-select.h.
10412         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
10413         (my_select, main): New functions.
10414         * modules/pselect-tests (Files): Add tests/test-select.h,
10415         tests/macros.h, tests/signature.h.
10416         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
10417         (configure.ac): Check for <sys/wait.h>.
10418
10419 2011-07-22  Bruno Haible  <bruno@clisp.org>
10420
10421         sys_select tests: Check the signature of FD_*.
10422         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
10423         signature tests from here...
10424         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
10425         here.
10426         * modules/sys_select-tests (Files): Add tests/signature.h.
10427
10428 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
10429
10430         largefile: new module, replacing large-inode
10431         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
10432         * MODULES.html.sh: Add largefile, remove large-inode.
10433         * modules/largefile, m4/largefile.m4: New files.
10434         * modules/large-inode, m4/large-inode.m4: Remove.
10435
10436         fsusage: port to MacOS X 10.7 with 4 TiB file systems
10437         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
10438         implementations that use only 32 bits to count blocks.
10439         On typical hosts with 1024-byte blocks, this fails with file
10440         systems as small as 4 TiB.  Problem reported by Herb Wartens
10441         <http://debbugs.gnu.org/9140> and this should also fix a similar
10442         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
10443
10444         large-inode: New module
10445         * MODULES.html.sh: Add it.
10446         * modules/large-inode, m4/large-inode.m4: New files.
10447
10448         extensions: Enable extensions on MacOS X 10.5 and later.
10449         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
10450
10451 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
10452
10453         file-has-acl: use acl_extended_file_nofollow if available
10454         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
10455         (acl_extended_file): New macro.
10456         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
10457         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
10458
10459 2011-07-21  Bruno Haible  <bruno@clisp.org>
10460
10461         Declare system functions in a way that works with C++.
10462         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
10463         declare fdopendir as extern "C".
10464         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
10465         declare frexpl as extern "C".
10466         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
10467         declare gai_strerror as extern "C".
10468         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
10469         programs, declare gai_strerror as extern "C".
10470         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
10471         declare getlogin_r as extern "C".
10472         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
10473         as extern "C".
10474         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
10475         declare ldexpl as extern "C".
10476         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
10477         as extern "C".
10478         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
10479         program, declare getmntinfo as extern "C".
10480         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
10481         stpncpy as extern "C".
10482         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
10483         program, declare __xpg_strerror_r as extern "C".
10484         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
10485         strndup as extern "C".
10486         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
10487         declare memset and bzero as extern "C".
10488         Reported by Sam Steingold <sds@gnu.org>.
10489
10490 2011-07-12  Jim Meyering  <meyering@redhat.com>
10491
10492         maint.mk: prohibit inclusion of "verify.h" without use
10493         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
10494
10495 2011-07-19  Pádraig Brady  <P@draigBrady.com>
10496
10497         timer-time: A new module to check for timer_settime()
10498         * m4/timer_time.m4: Check for the posix function.
10499         * modules/timer-time: Add the new module.
10500         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
10501         Mention it.
10502
10503 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
10504             Bruno Haible  <bruno@clisp.org>
10505
10506         pthread_sigmask: assume POSIX threads if --avoid=threadlib
10507         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
10508         not defined, assume POSIX threads and look for pthread_sigmask in
10509         $LIBS, without changing $CPPFLAGS.
10510
10511 2011-07-19  Bruno Haible  <bruno@clisp.org>
10512
10513         strstr: Update cross-compilation guess.
10514         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
10515         CPUs, guess no, in view of glibc
10516         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
10517         Suggested by Eric Blake. Reported by Reuben Thomas.
10518
10519 2011-07-19  Pádraig Brady  <P@draigBrady.com>
10520
10521         getopt-gnu: suppress core dumps from detection code
10522         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
10523         to suppress core dumps that may well occur on glibc systems.
10524         * modules/getopt-gnu: Depend on nocrash.
10525
10526 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
10527
10528         pthread_sigmask: ensure usleep is declared
10529         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
10530         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
10531
10532 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
10533
10534         doc: Document NonStop portability issues.
10535         * doc/posix-functions/sigaction.texi (sigaction):
10536         * doc/posix-headers/signal.texi (signal.h):
10537         Document NonStop.  See Joachim Schmitz in
10538         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
10539
10540 2011-07-15  Bruno Haible  <bruno@clisp.org>
10541
10542         ffsl, ffsll: Avoid unportable behaviour.
10543         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
10544
10545 2011-07-15  Bruno Haible  <bruno@clisp.org>
10546
10547         ffs: More tests.
10548         * tests/test-ffs.c (NBITS): New macro.
10549         (main): Add more tests.
10550         * tests/test-ffsl.c (NBITS): New macro.
10551         (main): Add more tests.
10552         * tests/test-ffsll.c (NBITS): New macro.
10553         (main): Add more tests.
10554
10555 2011-07-15  Eric Blake  <eblake@redhat.com>
10556
10557         ffsl, ffsll: new modules
10558         * modules/ffsl: New file.
10559         * modules/ffsll: Likewise.
10560         * m4/ffsl.m4: Likewise.
10561         * m4/ffsll.m4: Likewise.
10562         * lib/ffsl.c: Likewise.
10563         * lib/ffsl.h: Likewise.
10564         * lib/ffsll.c: Likewise.
10565         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
10566         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
10567         * modules/string (Makefile.am): Substitute witnesses.
10568         * lib/strings.in.h (ffsl, ffsll): Declare.
10569         * modules/ffsl-tests: New test file.
10570         * modules/ffsll-tests: Likewise.
10571         * tests/test-ffsl.c: Likewise.
10572         * tests/test-ffsll.c: Likewise.
10573         * MODULES.html.sh (Integer arithmetic functions): Mention it.
10574         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
10575         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
10576
10577         ffs: fix m4 prerequisite
10578         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
10579
10580         ffs: avoid undefined behavior
10581         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
10582         * tests/test-ffs.c (naive, main): Avoid signed shifts.
10583         Reported by Bruno Haible.
10584
10585 2011-07-12  Bruno Haible  <bruno@clisp.org>
10586
10587         pthread_sigmask: Rely on module 'threadlib'.
10588         * modules/pthread_sigmask (Depends-on): Add threadlib.
10589         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
10590         is defined.
10591
10592 2011-07-12  Bruno Haible  <bruno@clisp.org>
10593
10594         regex: Depend on module 'strcase'.
10595         * modules/regex (Depends-on): Add strcase, for strcasecmp().
10596
10597 2011-07-12  Jim Meyering  <meyering@redhat.com>
10598
10599         warn-on-use: fix typo in file name
10600         * modules/snippet/warn-on-use (Files): Correct file name:
10601         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
10602
10603 2011-07-12  Bruno Haible  <bruno@clisp.org>
10604
10605         strings: Document module.
10606         * doc/posix-headers/strings.texi: Mention module 'strings'.
10607
10608 2011-07-12  Bruno Haible  <bruno@clisp.org>
10609
10610         Rename module '_Noreturn' to 'snippet/_Noreturn'.
10611         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
10612         (Files, Makefile.am): Update.
10613         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
10614         * modules/stdlib (Depends-on): Update.
10615
10616 2011-07-12  Bruno Haible  <bruno@clisp.org>
10617
10618         * NEWS: Mention the changes.
10619
10620         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
10621         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
10622         (Files, Makefile.am): Update.
10623         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
10624         * modules/arpa_inet (Depends-on): Update.
10625         * modules/ctype (Depends-on): Update.
10626         * modules/dirent (Depends-on): Update.
10627         * modules/fcntl-h (Depends-on): Update.
10628         * modules/glob (Depends-on): Update.
10629         * modules/iconv-h (Depends-on): Update.
10630         * modules/inttypes-incomplete (Depends-on): Update.
10631         * modules/langinfo (Depends-on): Update.
10632         * modules/locale (Depends-on): Update.
10633         * modules/math (Depends-on): Update.
10634         * modules/netdb (Depends-on): Update.
10635         * modules/poll-h (Depends-on): Update.
10636         * modules/pty (Depends-on): Update.
10637         * modules/search (Depends-on): Update.
10638         * modules/signal (Depends-on): Update.
10639         * modules/spawn (Depends-on): Update.
10640         * modules/stdio (Depends-on): Update.
10641         * modules/stdlib (Depends-on): Update.
10642         * modules/string (Depends-on): Update.
10643         * modules/strings (Depends-on): Update.
10644         * modules/sys_file (Depends-on): Update.
10645         * modules/sys_ioctl (Depends-on): Update.
10646         * modules/sys_select (Depends-on): Update.
10647         * modules/sys_socket (Depends-on): Update.
10648         * modules/sys_stat (Depends-on): Update.
10649         * modules/sys_time (Depends-on): Update.
10650         * modules/sys_times (Depends-on): Update.
10651         * modules/sys_utsname (Depends-on): Update.
10652         * modules/sys_wait (Depends-on): Update.
10653         * modules/termios (Depends-on): Update.
10654         * modules/time (Depends-on): Update.
10655         * modules/unistd (Depends-on): Update.
10656         * modules/wchar (Depends-on): Update.
10657         * modules/wctype-h (Depends-on): Update.
10658         * MODULES.html.sh (Support for building libraries and executables):
10659         Update.
10660
10661         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
10662         * modules/snippet/unused-parameter: Renamed from
10663         modules/unused-parameter.
10664         (Files, Makefile.am): Update.
10665         * build-aux/snippet/unused-parameter.h: Renamed from
10666         build-aux/unused-parameter.h.
10667         * modules/selinux-h (Depends-on): Update.
10668         * modules/unistr/base (Depends-on): Update.
10669         * MODULES.html.sh (Core language properties): Update.
10670
10671         Rename module 'link-warning' to 'snippet/link-warning'.
10672         * modules/snippet/link-warning: Renamed from modules/link-warning.
10673         (Files, Makefile.am): Update.
10674         * build-aux/snippet/link-warning.h: Renamed from
10675         build-aux/link-warning.h.
10676         * MODULES.html.sh (Support for building libraries and executables):
10677         Update.
10678
10679         Rename module 'c++defs' to 'snippet/c++defs'.
10680         * modules/snippet/c++defs: Renamed from modules/c++defs.
10681         (Files, Makefile.am): Update.
10682         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
10683         * modules/arpa_inet (Depends-on): Update.
10684         * modules/ctype (Depends-on): Update.
10685         * modules/dirent (Depends-on): Update.
10686         * modules/fcntl-h (Depends-on): Update.
10687         * modules/glob (Depends-on): Update.
10688         * modules/iconv-h (Depends-on): Update.
10689         * modules/langinfo (Depends-on): Update.
10690         * modules/locale (Depends-on): Update.
10691         * modules/math (Depends-on): Update.
10692         * modules/netdb (Depends-on): Update.
10693         * modules/poll-h (Depends-on): Update.
10694         * modules/pty (Depends-on): Update.
10695         * modules/search (Depends-on): Update.
10696         * modules/signal (Depends-on): Update.
10697         * modules/spawn (Depends-on): Update.
10698         * modules/stdio (Depends-on): Update.
10699         * modules/stdlib (Depends-on): Update.
10700         * modules/string (Depends-on): Update.
10701         * modules/strings (Depends-on): Update.
10702         * modules/sys_ioctl (Depends-on): Update.
10703         * modules/sys_select (Depends-on): Update.
10704         * modules/sys_socket (Depends-on): Update.
10705         * modules/sys_stat (Depends-on): Update.
10706         * modules/sys_time (Depends-on): Update.
10707         * modules/sys_wait (Depends-on): Update.
10708         * modules/termios (Depends-on): Update.
10709         * modules/time (Depends-on): Update.
10710         * modules/unistd (Depends-on): Update.
10711         * modules/wchar (Depends-on): Update.
10712         * modules/wctype-h (Depends-on): Update.
10713
10714         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
10715         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
10716         (Files, Makefile.am): Update.
10717         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
10718         * modules/argv-iter (Depends-on): Update.
10719         * modules/arpa_inet (Depends-on): Update.
10720         * modules/dirent (Depends-on): Update.
10721         * modules/fcntl-h (Depends-on): Update.
10722         * modules/fnmatch (Depends-on): Update.
10723         * modules/getopt-posix (Depends-on): Update.
10724         * modules/glob (Depends-on): Update.
10725         * modules/iconv-h (Depends-on): Update.
10726         * modules/inttypes-incomplete (Depends-on): Update.
10727         * modules/locale (Depends-on): Update.
10728         * modules/math (Depends-on): Update.
10729         * modules/netdb (Depends-on): Update.
10730         * modules/search (Depends-on): Update.
10731         * modules/signal (Depends-on): Update.
10732         * modules/spawn (Depends-on): Update.
10733         * modules/stdio (Depends-on): Update.
10734         * modules/stdlib (Depends-on): Update.
10735         * modules/string (Depends-on): Update.
10736         * modules/strings (Depends-on): Update.
10737         * modules/sys_socket (Depends-on): Update.
10738         * modules/sys_stat (Depends-on): Update.
10739         * modules/sys_time (Depends-on): Update.
10740         * modules/sys_times (Depends-on): Update.
10741         * modules/sys_utsname (Depends-on): Update.
10742         * modules/time (Depends-on): Update.
10743         * modules/unistd (Depends-on): Update.
10744         * modules/wchar (Depends-on): Update.
10745         * MODULES.html.sh (Support for building libraries and executables):
10746         Update.
10747
10748 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
10749
10750         Improvements on _Noreturn and related modules.
10751
10752         modules/_Exit-tests: test _Noreturn too
10753         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
10754         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
10755         (main): Use them.
10756
10757         stdnoreturn, stdnoreturn-tests: remove modules
10758         They're not needed here and a bit premature for use elsewhere.  See
10759         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
10760         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
10761         * tests/test-stdnoreturn.c: Remove files.
10762         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
10763         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
10764         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
10765         and using noreturn.
10766         * modules/openat, modules/sigpipe-die, modules/xalloc:
10767         * modules/xmemdup0, modules/xstrtol:
10768         Remove dependency on stdnoreturn.
10769
10770         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
10771         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
10772         Reparenthesize to avoid GCC warning.
10773         Support Microsoft's syntax.
10774         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
10775
10776         _Noreturn-tests: remove module
10777         * modules/_Noreturn-tests: Remove.
10778         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
10779         * tests/test-_Noreturn.c: Remove.
10780         * tests/test-stdnoreturn.c: Merge from the old
10781         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
10782
10783 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
10784
10785         _Noreturn, stdnoreturn, and related modules.
10786
10787         * top/maint.mk: Adjust to new noreturn support.
10788         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
10789         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
10790
10791         xalloc: use stdnoreturn.h
10792         * lib/xalloc.h: Include <stdnoreturn.h>.
10793         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10794         * modules/xalloc (Depends-on): Add stdnoreturn.
10795
10796         xstrtol: use stdnoreturn.h
10797         * lib/xstrtol.h: Include <stdnoreturn.h>.
10798         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10799         * modules/xstrtol (Depends-on): Add stdnoreturn.
10800
10801         xmemdup0: use stdnoreturn.h
10802         * lib/xmemdup0.h: Include <stdnoreturn.h>.
10803         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10804         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
10805
10806         sigpipe-die: use stdnoreturn.h
10807         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
10808         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10809         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
10810
10811         openat: use stdnoreturn.h
10812         * lib/openat.h: Include <stdnoreturn.h>.
10813         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10814         * modules/openat (Depends-on): Add stdnoreturn.
10815
10816         * lib/openat-die.c (openat_save_fail): Modernize comment.
10817
10818         * lib/xalloc-die.c (xalloc_die): Modernize comment.
10819
10820         * lib/glthread/thread.h: Modernize comment.
10821
10822         obstack: use _Noreturn
10823         * lib/obstack.c (__attribute__): Remove macro.
10824         (print_and_abort): Use _Noreturn.
10825
10826         c-stack: use _Noreturn
10827         * lib/c-stack.c (die, overflow_handler, segv_handler):
10828         Use _Noreturn rather than __attribute__((noreturn)).
10829
10830         argmatch-tests, exclude_tests: use _Noreturn
10831         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
10832         Remove.
10833         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
10834
10835         stdlib: use _Noreturn
10836         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
10837         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
10838         * modules/stdlib (Depends-on): Add _Noreturn.
10839         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
10840
10841         stdnoreturn-tests: new module
10842         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
10843
10844         stdnoreturn: new module
10845         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
10846         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
10847
10848         _Noreturn-tests: new module
10849         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
10850
10851         _Noreturn: new module
10852         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
10853         New section, mentioning it.
10854         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
10855
10856         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
10857
10858 2011-07-11  Eric Blake  <eblake@redhat.com>
10859
10860         ffs: new module
10861         * modules/ffs: New file.
10862         * m4/ffs.m4: Likewise.
10863         * lib/ffs.c: Likewise.
10864         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
10865         * modules/strings (Makefile.am): Substitute witness.
10866         (Depends-on): Add c++defs.
10867         * lib/strings.in.h (ffs): Declare.
10868         * modules/ffs-tests: New test file.
10869         * tests/test-ffs.c: Test new module.
10870         * MODULES.html.sh (Integer arithmetic functions): Mention it.
10871         * doc/posix-functions/ffs.texi (ffs): Likewise.
10872
10873         regex: avoid compiler warning
10874         * lib/regex.c (includes): Include <strings.h>, for use of
10875         strcasecmp in regcomp.c.
10876         Reported by Joachim Schmitz.
10877
10878 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
10879
10880         stdint: respect system's intmax_t if INTMAX_MAX
10881         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
10882         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
10883         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
10884         long but int64_t is long long, and where we will clash with the
10885         system intmax_t if we override it.  See
10886         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
10887         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
10888         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
10889         similarly for UINTMAX_C.
10890
10891 2011-07-08  Bruno Haible  <bruno@clisp.org>
10892
10893         pthread_sigmask tests: Avoid a compiler warning.
10894         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
10895         non-zero.
10896
10897         sigprocmask tests: A better way to avoid a compiler warning.
10898         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
10899         (main): Complain if system() returns non-zero.
10900         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
10901
10902 2011-07-08  Bruno Haible  <bruno@clisp.org>
10903
10904         pthread_sigmask: Work around IRIX bug.
10905         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
10906         bug.
10907         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
10908         there may be unblocked pending signals.
10909         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
10910
10911 2011-07-08  Bruno Haible  <bruno@clisp.org>
10912
10913         pthread_sigmask: Work around Cygwin bug.
10914         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
10915         bug.
10916         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
10917         the system's pthread_sigmask function.
10918         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
10919
10920 2011-07-08  Bruno Haible  <bruno@clisp.org>
10921
10922         pthread_sigmask: Work around bug in single-threaded implementation.
10923         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
10924         FreeBSD, HP-UX, Solaris bug.
10925         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
10926         * lib/pthread_sigmask.c: Include <stddef.h>.
10927         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
10928         the system's pthread_sigmask function.
10929         * modules/pthread_sigmask (configure.ac): Invoke
10930         gl_PREREQ_PTHREAD_SIGMASK.
10931         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
10932         HP-UX, Solaris.
10933
10934 2011-07-08  Eric Blake  <eblake@redhat.com>
10935
10936         test-sigprocmask: avoid compiler warning
10937         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
10938         * tests/test-sigprocmask.c (main): Use it to silence warning.
10939         Reported by Jim Meyering.
10940
10941         test-snprintf: avoid compiler warning
10942         * tests/test-snprintf.c (main): Avoid shadowed declaration.
10943         * tests/test-vsnprintf.c (main): Likewise.
10944         Reported by Jim Meyering.
10945
10946 2011-07-08  Bruno Haible  <bruno@clisp.org>
10947
10948         Tests for module 'pthread_sigmask'.
10949         * modules/pthread_sigmask-tests: New file.
10950         * tests/test-pthread_sigmask1.c: New file, based on
10951         tests/test-sigprocmask.c.
10952         * tests/test-pthread_sigmask2.c: New file.
10953
10954 2011-07-08  Jim Meyering  <meyering@redhat.com>
10955
10956         test-getopt.h: avoid warning about an unused variable
10957         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
10958
10959 2011-07-07  Jim Meyering  <meyering@redhat.com>
10960
10961         maint: reduce list of files exempt from sc_prohibit_leading_TABs
10962         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
10963         now that it no longer contains leading TABs.
10964         Remove unused "url=FIXME" statement.
10965
10966 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
10967
10968         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
10969         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
10970         When gl_THREADLIB is not in use, assume that the POSIX sematics
10971         are desired.  This is better for Emacs, which uses POSIX semantics
10972         on GNUish and/or POSIXish platforms, and does not use threads at
10973         all otherwise.
10974
10975         pthread_sigmask: fix typo when testing for libraries
10976         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
10977         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
10978
10979 2011-07-08  Eric Blake  <eblake@redhat.com>
10980
10981         fts: introduce FTS_NOATIME
10982         * lib/fts_.h (FTS_NOATIME): New bit flag.
10983         (FTS_OPTIONMASK): Adjust.
10984         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
10985         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
10986
10987 2011-07-08  Bruno Haible  <bruno@clisp.org>
10988
10989         Tests for module 'thread'.
10990         * modules/thread-tests: New file.
10991         * tests/test-thread_self.c: New file.
10992         * tests/test-thread_create.cc: New file.
10993
10994 2011-07-08  Bruno Haible  <bruno@clisp.org>
10995
10996         thread: Avoid gcc warnings when using gl_thread_self().
10997         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
10998         'void *'.
10999         (gl_thread_self_pointer): Update.
11000
11001 2011-07-07  Bruno Haible  <bruno@clisp.org>
11002
11003         signal-c++-tests: Check declaration of pthread_sigmask.
11004         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
11005         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
11006         $(LIB_PTHREAD_SIGMASK).
11007
11008 2011-07-07  Bruno Haible  <bruno@clisp.org>
11009
11010         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
11011         * lib/signal.in.h (pthread_sigmask): Override if
11012         REPLACE_PTHREAD_SIGMASK is 1.
11013         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
11014         REPLACE_PTHREAD_SIGMASK.
11015         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
11016         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
11017         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
11018         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
11019         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
11020
11021 2011-07-07  Bruno Haible  <bruno@clisp.org>
11022
11023         pthread_sigmask: Ensure declaration in <signal.h>.
11024         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
11025         include <pthread.h>.
11026         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
11027         problem.
11028
11029 2011-07-07  Bruno Haible  <bruno@clisp.org>
11030
11031         pthread_sigmask: Document the module.
11032         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
11033
11034 2011-07-07  Bruno Haible  <bruno@clisp.org>
11035
11036         pthread_sigmask: Follow gnulib conventions.
11037         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
11038         gl_PTHREAD_SIGMASK.
11039         * modules/pthread_sigmask (configure.ac): Update.
11040
11041 2011-07-07  Bruno Haible  <bruno@clisp.org>
11042
11043         pthread_sigmask: Make declaration C++ safe.
11044         * lib/signal.in.h: In two special conditions, just do an #include_next.
11045         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
11046         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
11047         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
11048         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
11049         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
11050         not REPLACE_PTHREAD_MASK.
11051         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
11052         not REPLACE_PTHREAD_MASK.
11053         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
11054
11055 2011-07-07  Bruno Haible  <bruno@clisp.org>
11056
11057         pthread_sigmask: Fix return value.
11058         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
11059         * lib/pthread_sigmask.c: New file.
11060         * modules/pthread_sigmask (Files): Add it.
11061         (configure.ac): Invoke AC_LIBOBJ.
11062
11063 2011-07-07  Eric Blake  <eblake@redhat.com>
11064
11065         getopt: more portable argv creation
11066         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
11067         const, use char arrays rather than strings.
11068         Suggested by Paul Eggert.
11069
11070 2011-07-07  Bruno Haible  <bruno@clisp.org>
11071
11072         Tests for module 'sigprocmask'.
11073         * modules/sigprocmask-tests: New file.
11074         * tests/test-sigprocmask.c: New file.
11075
11076 2011-07-07  Bruno Haible  <bruno@clisp.org>
11077
11078         float tests: Tweak.
11079         * tests/test-float.c (main): Tweak skip message.
11080
11081 2011-07-07  Eric Blake  <eblake@redhat.com>
11082
11083         getopt: avoid compiler warning during configure
11084         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
11085         assigning string literals to non-const pointer.
11086
11087         getopt-gnu: avoid crash in glibc getopt
11088         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
11089         * tests/test-getopt.h (test_getopt): Enhance test.
11090         * tests/test-getopt_long.h (test_getopt_long): Likewise.
11091         * doc/posix-functions/getopt.texi (getopt): Document it.
11092         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
11093         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11094         Likewise.
11095
11096 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
11097
11098         getopt: handle W; without long options in getopt [BZ #12922]
11099         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
11100         but no long options are defined, just return 'W'.
11101
11102 2011-07-07  Bruno Haible  <bruno@clisp.org>
11103
11104         Avoid literal tabs.
11105         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
11106         variable containing a tab instead of a literal tab.
11107         Reported by Jim Meyering.
11108
11109 2011-07-07  Bruno Haible  <bruno@clisp.org>
11110
11111         Comments.
11112         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
11113
11114 2011-07-06  Bruno Haible  <bruno@clisp.org>
11115
11116         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
11117         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
11118         <winsock2.h>.
11119         (rpl_fd_isset, FD_ISSET): New definitions, copied from
11120         lib/sys_socket.in.h.
11121         (close, gethostname): Hide declarations from <winsock2.h>.
11122         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
11123         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
11124         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
11125         (select): Don't override if gnulib's <sys/select.h> was already
11126         included.
11127         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
11128         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
11129         setsockopt, shutdown, select): Tweak indentation.
11130
11131 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
11132
11133         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
11134         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
11135         in an application that does not use the sys_select module.
11136
11137 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
11138
11139         poll: do not return 0 on timeout=-1
11140         * lib/poll.c: Loop with yield if no events occured
11141
11142 2011-07-06  Eric Blake  <eblake@redhat.com>
11143
11144         pthread_sigmask: always replace when not using pthread
11145         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
11146         replacement when using some threading other than pthread.  Fix
11147         logic bug.
11148
11149 2011-07-06  Bruno Haible  <bruno@clisp.org>
11150
11151         Comments.
11152         * m4/printf.m4: Update comments about mingw.
11153
11154 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
11155
11156         sys_select: define sigset_t more portably
11157         * lib/sys_select.in.h: Always include <sys/types.h>, since
11158         we now need sigset_t and mingw defines it there.
11159         Include <signal.h> before split inclusion guard, to avoid
11160         mishaps on Solaris, whose <signal.h> eventually includes us.
11161         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
11162         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
11163         which come from ...
11164         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
11165         gl_CHECK_TYPE_SIGSET_T.
11166         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
11167         does the real work.
11168         * modules/sys_select (Depends-on): Add 'signal'.
11169
11170         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
11171         Suggested by Bruno Haible.
11172
11173         pselect: Use pthread_sigmask, not sigprocmask.
11174         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
11175         multithreaded apps better than sigprocmask does.
11176         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
11177         sigprocmask directly.
11178
11179 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
11180
11181         * lib/pselect.c (pselect): Use plain name, without "rpl_".
11182         Don't #undef,  since we don't need any underlying pselect.
11183         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
11184         (Depends-on): Add select.
11185         (Link): Add $(LIBSOCKET).
11186         These changes suggested by Bruno Haible.
11187
11188         pselect: document better
11189         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
11190         * doc/posix-functions/pselect.texi (pselect): Document new module.
11191
11192         pthread_sigmask: new module
11193         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
11194         * doc/posix-functions/pthread_sigmask.texi: Document new module.
11195         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
11196         This is done only as a macro; I don't know how well that'll
11197         work for C++.  Move <sys/types.h> include before the include_next,
11198         to avoid mishap on Solaris.
11199         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
11200         * modules/signal (Makefile.am): Substitute the check's results.
11201         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
11202
11203         test-pselect: new module
11204         * modules/pselect-tests, tests/test-pselect.c: New files.
11205         * tests/test-select.c, tests/test-sys_select-c++.cc:
11206         If TEST_PSELECT is defined, test pselect instead of testing select.
11207
11208         * tests/test-sys_select.c (sigset_t): Test for it, too.
11209         Suggested by Bruno Haible.
11210
11211 2011-07-05  Eric Blake  <eblake@redhat.com>
11212
11213         snprintf: guarantee %1$d, for libintl
11214         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
11215         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
11216         * doc/posix-functions/snprintf.texi (snprintf): Update.
11217         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
11218         * tests/test-snprintf.c (main): Enhance test.
11219         * tests/test-vsnprintf.c (main): Likewise.
11220
11221 2011-07-05  Jim Meyering  <meyering@redhat.com>
11222
11223         maint: exempt stdio-read.c and stdio-write.c from the cppi check
11224         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
11225         per Bruno's request, to accommodate this idiom (no space after "#")
11226         even when the function is inside an #if block:
11227         char *
11228         gets (char *s)
11229         #undef gets
11230         {
11231           ...
11232         }
11233
11234 2011-07-04  Jim Meyering  <meyering@redhat.com>
11235
11236         maint: indent with spaces, not TABs, and add a rule to check this
11237         * tests/test-userspec.c: Indent with spaces, not TABs.
11238         * tests/test-argp.c: Likewise.
11239         * tests/test-c-stack2.sh: Likewise.
11240         * tests/test-parse-duration.sh: Likewise
11241         * m4/strtod.m4: Likewise.
11242         * m4/alloca.m4: Likewise.
11243         * m4/pselect.m4: Likewise.
11244         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
11245
11246 2011-07-03  Jim Meyering  <meyering@redhat.com>
11247
11248         maint.mk: correct omissions in prohibit_argmatch_without_use check
11249         This rule would mistakenly report that argmatch.h is included without
11250         use even when both the argmatch and invalid_arg macro were used.
11251         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
11252         of argmatch and invalid_arg.
11253
11254 2011-07-03  Bruno Haible  <bruno@clisp.org>
11255
11256         Comments about EINTR.
11257         * lib/safe-read.h: Explain the purpose of this module.
11258         * lib/safe-write.h: Likewise.
11259         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
11260         module.
11261         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
11262         module.
11263         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11264
11265 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
11266
11267         xnanosleep: Rewrite to use new dtotimespec module.
11268         It has the conversion code that used to be in xnanosleep.
11269         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
11270         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
11271         (TIME_T_MAX): Remove.
11272         (xnanosleep): Rewrite in terms of dtotimespec.
11273         * modules/xnanosleep (Depends-on): Add dtotimespec.
11274         Remove intprops, stdbool.
11275
11276         timespec-add, timespec-sub: new modules
11277         * lib/timespec.h (timespec_add, timespec_sub): New decls.
11278         * lib/timespec-add.c, lib/timespec-sub.c:
11279         * modules/timespec-add, modules/timespec-sub: New files.
11280
11281         dtotimespec: new module
11282         * lib/timespec.h (dtotimespec): New decl.
11283         * lib/dtotimespec.c, modules/dtotimespec: New files.
11284
11285         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
11286
11287         pselect: new module
11288         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
11289         (pselect): New decls.
11290         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
11291         since the standard pselect decl uses 'restrict'.
11292         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
11293         HAVE_PSELECT, REPLACE_PSELECT.
11294         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
11295         HAVE_PSELECT, REPLACE_PSELECT.
11296         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
11297
11298         sys_select: don't depend on sys_socket
11299         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
11300         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
11301         This fix works on GNU and GNU-like platforms, but has not been tested
11302         on native Windows.
11303         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
11304         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
11305         gl_HEADER_SYS_SOCKET.
11306         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
11307         gl_PREREQ_SYS_H_WINSOCK2.
11308
11309 2011-06-29  Eric Blake  <eblake@redhat.com>
11310
11311         pipe2: fix C89 compile problem
11312         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
11313         Reported by Bruno Haible.
11314
11315         pipe, pipe2: don't corrupt fd on error
11316         * lib/pipe.c (pipe): Leave fd unchanged on error.
11317         * lib/pipe2.c (pipe2): Likewise.
11318         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
11319         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
11320
11321 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
11322
11323         mmap-anon: do not use regular expressions inadvertently
11324         * m4/mmap-anon.m4: Remove trailing period from strings sought
11325         in the output.
11326
11327 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
11328
11329         nanosleep: fix integer overflow problem
11330         * lib/nanosleep.c (my_usleep): Don't assume signed integer
11331         arithmetic wraps around on overflow.
11332
11333         nanosleep: simplify carrying
11334         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
11335         first call to the underyling nanosleep, not for the last one.
11336         This doesn't fix any bugs, but it simplifies the computation of
11337         the remaining delay.  Found while auditing integer overflow issues.
11338
11339         dup2: remove test for existence of fcntl
11340         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
11341         "#if HAVE_FCNTL", in the configure-time test program.
11342         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
11343         and therefore speeds up "configure" a bit.  Found while
11344         adding the dup2 module to Emacs.
11345
11346 2011-06-24  Eric Blake  <eblake@redhat.com>
11347
11348         maint.mk: enhance useless header checks
11349         * top/maint.mk (_sc_header_without_use): Check both include
11350         styles.
11351         (sc_prohibit_assert_without_use)
11352         (sc_prohibit_close_stream_without_use)
11353         (sc_prohibit_getopt_without_use)
11354         (sc_prohibit_quotearg_without_use)
11355         (sc_prohibit_quote_without_use)
11356         (sc_prohibit_long_options_without_use)
11357         (sc_prohibit_inttostr_without_use)
11358         (sc_prohibit_ignore_value_without_use)
11359         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
11360         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
11361         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
11362         (sc_prohibit_hash_pjw_without_use)
11363         (sc_prohibit_safe_read_without_use)
11364         (sc_prohibit_argmatch_without_use)
11365         (sc_prohibit_canonicalize_without_use)
11366         (sc_prohibit_root_dev_ino_without_use)
11367         (sc_prohibit_openat_without_use)
11368         (sc_prohibit_c_ctype_without_use)
11369         (sc_prohibit_signal_without_use)
11370         (sc_prohibit_stdio--_without_use)
11371         (sc_prohibit_stdio-safer_without_use)
11372         (sc_prohibit_strings_without_use)
11373         (sc_prohibit_intprops_without_use)
11374         (sc_prohibit_stddef_without_use)
11375         (sc_prohibit_xfreopen_without_use): Update clients.
11376
11377 2011-06-24  Jim Meyering  <meyering@redhat.com>
11378
11379         syntax-check: keep one maint.mk rule in sync with its header
11380         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
11381         of the bug Eric has just fixed, with today's commit 25e4c2ec.
11382         I prefer to avoid temporary files here, so use <(...), but that
11383         is not supported by /bin/sh, so...
11384         (SHELL): Define to /bin/bash.
11385
11386 2011-06-24  Eric Blake  <eblake@redhat.com>
11387
11388         maint.mk: update sc_prohibit_intprops_without_use
11389         * top/maint.mk (_intprops_names): Match recent changes.
11390
11391 2011-06-24  Bruno Haible  <bruno@clisp.org>
11392
11393         strerror-override: No-op tweak.
11394         * lib/strerror-override.h (strerror_override): Reorder conditions,
11395         for consistency with lib/strerror-override.c.
11396
11397 2011-06-23  Eric Blake  <eblake@redhat.com>
11398
11399         maint.mk: test further PATH_MAX issues
11400         * top/maint.mk (sc_prohibit_path_max_array): Rename...
11401         (sc_prohibit_path_max_allocation): ...and also test alloca.
11402         Suggested by Jim Meyering.
11403
11404 2011-06-22  Eric Blake  <eblake@redhat.com>
11405
11406         maint.mk: add syntax-check to avoid char[PATH_MAX]
11407         * top/maint.mk (sc_prohibit_path_max_array): New rule.
11408
11409         stat: be robust to PATH_MAX definition
11410         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
11411         * modules/stat (Depends-on): Add verify.
11412
11413         link: work around IRIX bug
11414         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
11415         * lib/link.c (rpl_link): Work around it.
11416         * tests/test-link.h (test_link): Enhance test.
11417         * doc/posix-functions/link.texi (link): Document the bug.
11418
11419         getopt: silence clang warning
11420         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
11421         dereference.
11422         Reported by Gustavo Martin Domato.
11423
11424 2011-06-22  Jim Meyering  <meyering@redhat.com>
11425
11426         bootstrap: do not insert a blank line into each .gitignore file
11427         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
11428
11429 2011-06-21  Eric Blake  <eblake@redhat.com>
11430
11431         perror: test for output mismatch
11432         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
11433         perror on IRIX.
11434
11435         strerror_r: fix OpenBSD behavior on out-of-range
11436         * lib/strerror_r.c (strerror_r): Always use maximal string.
11437         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
11438
11439         strerror_r: fix OpenBSD behavior on 0
11440         * lib/strerror-override.c (strerror_override): Also override 0
11441         when needed.
11442         * lib/strerror-override.h (strerror_override): Likewise.
11443         * lib/strerror.c (strerror): Simplify, now that 0 override is done
11444         earlier.
11445         * lib/strerror_r.c (strerror_r): Likewise.
11446         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
11447         behavior...
11448         (gl_FUNC_STRERROR_0): ...into new macro.
11449         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
11450         is overridden.
11451         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
11452         * modules/strerror-override (Files): Add strerror.m4.
11453         (configure.ac): Also provide override for 0 when needed.
11454         * doc/posix-functions/strerror.texi (strerror): Document this.
11455         * doc/posix-functions/perror.texi (perror): Likewise.
11456
11457         perror: adjust array size
11458         * modules/perror (Depends-on): Add strerror-override.
11459         * lib/perror.c (perror): Use it to avoid magic number.
11460
11461         strerror-override: reduce size
11462         * lib/strerror-override.c (strerror_override): Use fewer lines.
11463
11464 2011-06-20  Bruno Haible  <bruno@clisp.org>
11465
11466         pathmax: Ensure correct value for PATH_MAX on HP-UX.
11467         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
11468
11469 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
11470
11471         alloca: port to compilers that can optimize like GCC 4.6.0
11472         * lib/alloca.c (find_stack_direction): New signature, taken from
11473         Autoconf git.  This works with GCC 4.6.0.  This code should never
11474         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
11475         be used with other compilers that optimize as well as GCC 4.6.0 does.
11476         (alloca): Adjust to new signature.
11477         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
11478         New macro, which patches Autoconf in a similar way.
11479
11480         c-stack: stop worrying about stack direction
11481         * lib/c-stack.c (find_stack_direction): Remove.
11482         (segv_handler): Don't worry about stack direction growth, as it's
11483         too much of a pain to configure this correctly, given how compilers
11484         are optimizing-away our stack-growth detection code.  Instead, assume
11485         that any access to just before or just after the stack is OK.
11486         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
11487         Don't require AC_FUNC_ALLOCA; no longer needed.
11488
11489 2011-06-20  Eric Blake  <eblake@redhat.com>
11490
11491         test-stat: don't allocate PATH_MAX bytes
11492         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
11493         PATH_MAX-sized buffer.
11494         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
11495         * modules/stat-tests (Depends-on): Likewise.
11496         * tests/test-fstatat.c (includes): Drop pathmax.h.
11497         * tests/test-stat.c (includes): Likewise.
11498         Reported by Bruno Haible.
11499
11500 2011-06-20  Bruno Haible  <bruno@clisp.org>
11501
11502         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
11503         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
11504         * lib/float.c: New file.
11505         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
11506         REPLACE_FLOAT_LDBL.
11507         * modules/float (Files): Add lib/float.c.
11508         (configure.ac): Invoke AC_LIBOBJ.
11509         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
11510
11511 2011-06-20  Bruno Haible  <bruno@clisp.org>
11512
11513         Tests for module 'float'.
11514         * modules/float-tests: New file.
11515         * tests/test-float.c: New file.
11516
11517 2011-06-19  Bruno Haible  <bruno@clisp.org>
11518
11519         isinf: Coding style.
11520         * lib/isinf.c: Use GNU coding style.
11521
11522 2011-06-19  Bruno Haible  <bruno@clisp.org>
11523
11524         linkat test: Avoid test failure on AIX 7.1.
11525         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
11526         * tests/test-link.h (test_link): Likewise.
11527
11528 2011-06-19  Bruno Haible  <bruno@clisp.org>
11529
11530         pread test: Avoid test failure on OpenBSD 4.9.
11531         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
11532
11533 2011-06-19  Bruno Haible  <bruno@clisp.org>
11534
11535         sprintf-posix: Fix test failure on AIX 7.1.
11536         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
11537         * doc/posix-functions/dprintf.texi: Mention limited precision problem
11538         on AIX.
11539         * doc/posix-functions/fprintf.texi: Likewise.
11540         * doc/posix-functions/printf.texi: Likewise.
11541         * doc/posix-functions/snprintf.texi: Likewise.
11542         * doc/posix-functions/sprintf.texi: Likewise.
11543         * doc/posix-functions/vdprintf.texi: Likewise.
11544         * doc/posix-functions/vfprintf.texi: Likewise.
11545         * doc/posix-functions/vprintf.texi: Likewise.
11546         * doc/posix-functions/vsnprintf.texi: Likewise.
11547         * doc/posix-functions/vsprintf.texi: Likewise.
11548
11549 2011-06-19  Bruno Haible  <bruno@clisp.org>
11550
11551         roundl-ieee: Fix test failure on AIX 7.1.
11552         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
11553         * doc/posix-functions/roundl.texi: Mention problem with negative
11554         arguments.
11555
11556 2011-06-19  Bruno Haible  <bruno@clisp.org>
11557
11558         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
11559         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
11560         * doc/posix-functions/round.texi: Mention problem with negative
11561         arguments.
11562         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
11563
11564 2011-06-19  Bruno Haible  <bruno@clisp.org>
11565
11566         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
11567         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
11568         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
11569         * doc/posix-functions/roundf.texi: Mention problem with negative
11570         arguments.
11571         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
11572
11573 2011-06-19  Bruno Haible  <bruno@clisp.org>
11574
11575         ceilf-ieee: Work around bug on MacOS X 10.5.
11576         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
11577
11578         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
11579         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
11580         IEEE compliant, avoid compiler optimizations.
11581         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
11582         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
11583         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
11584         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
11585         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
11586         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
11587         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11588         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
11589         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
11590         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
11591
11592 2011-06-19  Bruno Haible  <bruno@clisp.org>
11593
11594         ceilf-ieee: Work around bug on AIX 7.1.
11595         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
11596         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
11597
11598 2011-06-19  Bruno Haible  <bruno@clisp.org>
11599
11600         ceil-ieee: Work around bug on AIX 7.1.
11601         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
11602         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
11603
11604 2011-06-18  Bruno Haible  <bruno@clisp.org>
11605
11606         fsync test: Avoid test failure on MacOS X and AIX.
11607         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
11608         EINVAL.
11609
11610 2011-06-18  Bruno Haible  <bruno@clisp.org>
11611
11612         openat, fdopendir tests: Fix link errors.
11613         * modules/openat-tests (Depends-on): Add progname.
11614         * modules/fdopendir-tests (Depends-on): Likewise.
11615         * tests/test-fchownat.c: Include progname.h.
11616         (main): Call set_program_name.
11617         * tests/test-fstatat.c: Include progname.h.
11618         (main): Call set_program_name.
11619         * tests/test-mkdirat.c: Include progname.h.
11620         (main): Call set_program_name.
11621         * tests/test-openat.c: Include progname.h.
11622         (main): Call set_program_name.
11623         * tests/test-unlinkat.c: Include progname.h.
11624         (main): Call set_program_name.
11625         * tests/test-fdopendir.c: Include progname.h.
11626         (main): Call set_program_name.
11627
11628 2011-06-18  Bruno Haible  <bruno@clisp.org>
11629
11630         Doc update.
11631         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
11632         HP-UX.
11633         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
11634
11635 2011-06-18  Bruno Haible  <bruno@clisp.org>
11636
11637         getcwd tests: Avoid compilation error on HP-UX 11.31.
11638         * modules/getcwd-tests (Depends-on): Add pathmax.
11639         * tests/test-getcwd.c: Include pathmax.h.
11640
11641 2011-06-18  Bruno Haible  <bruno@clisp.org>
11642
11643         isfinite, isinf: Fix link error on AIX 6 and 7.
11644         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
11645         needed, also test the macro with a 'float' argument.
11646         * m4/isinf.m4 (gl_ISINF): Likewise.
11647
11648 2011-06-18  Bruno Haible  <bruno@clisp.org>
11649
11650         getloadavg: Don't clobber LIBS. Regression from previous commit.
11651         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
11652         AC_CHECK_LIB from here...
11653         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
11654         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
11655         gl_func_getloadavg_done.
11656         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11657
11658 2011-06-18  Bruno Haible  <bruno@clisp.org>
11659
11660         clean-temp: Improve documentation.
11661         * lib/clean-temp.h: Explain better how to use this module.
11662         Reported by John Darrington <john@darrington.wattle.id.au>.
11663
11664 2011-06-17  Bruno Haible  <bruno@clisp.org>
11665
11666         pread, pwrite: Avoid cc warning on AIX.
11667         * lib/unistd.in.h (pread): Undefine before defining as a macro.
11668         (pwrite): Likewise.
11669
11670 2011-06-17  Bruno Haible  <bruno@clisp.org>
11671
11672         spawn-pipe tests: Fix link error.
11673         * tests/test-spawn-pipe-child.c: Undefine fprintf.
11674         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11675
11676 2011-06-17  Bruno Haible  <bruno@clisp.org>
11677
11678         Tests: Remove unnecessary dependency.
11679         * modules/canonicalize-tests (Depends-on): Remove progname.
11680         * modules/chown-tests (Depends-on): Likewise.
11681         * modules/dirname-tests (Depends-on): Likewise.
11682         * modules/fdopendir-tests (Depends-on): Likewise.
11683         * modules/fdutimensat-tests (Depends-on): Likewise.
11684         * modules/hash-tests (Depends-on): Likewise.
11685         * modules/lchown-tests (Depends-on): Likewise.
11686         * modules/linkat-tests (Depends-on): Likewise.
11687         * modules/renameat-tests (Depends-on): Likewise.
11688         * modules/spawn-pipe-tests (Depends-on): Likewise.
11689         * modules/utimensat-tests (Depends-on): Likewise.
11690
11691 2011-06-17  Bruno Haible  <bruno@clisp.org>
11692
11693         spawn-pipe tests: Fix link error.
11694         * tests/test-spawn-pipe-child.c: Undefine fflush.
11695
11696 2011-06-17  Bruno Haible  <bruno@clisp.org>
11697
11698         Fix tests link errors.
11699         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
11700         * modules/chown-tests (Makefile.am): Don't link test-chown with
11701         LIBINTL.
11702         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
11703         LIBINTL.
11704         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
11705         LIBINTL.
11706         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
11707         LIBINTL.
11708
11709 2011-06-16  Bruno Haible  <bruno@clisp.org>
11710
11711         crypto/gc-sha1: Fix recent regression.
11712         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
11713         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
11714
11715         crypto/gc-md5: Fix recent regression.
11716         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
11717
11718         crypto/gc-md4: Fix recent regression.
11719         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
11720         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
11721
11722         crypto/gc-arctwo: Fix recent regression.
11723         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
11724         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
11725
11726         crypto/gc-rijndael: Fix recent regression.
11727         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
11728         (configure.ac): Invoke AC_LIBOBJ here.
11729         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
11730         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11731
11732         crypto/gc-hmac-sha1: Fix recent regression.
11733         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
11734         (configure.ac): Invoke AC_LIBOBJ here.
11735         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
11736         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11737
11738         crypto/gc-hmac-md5: Fix recent regression.
11739         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
11740         (configure.ac): Invoke AC_LIBOBJ here.
11741         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
11742         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11743
11744         crypto/gc-des: Fix recent regression.
11745         * modules/crypto/gc-des (Files): Remove m4/des.m4.
11746         (configure.ac): Invoke AC_LIBOBJ here.
11747         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
11748         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11749
11750         crypto/gc-arcfour: Fix recent regression.
11751         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
11752         (configure.ac): Invoke AC_LIBOBJ here.
11753         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
11754         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11755
11756 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
11757
11758         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
11759         After the 2011-05-21 change, this macro requires
11760         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
11761         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
11762
11763 2011-06-16  Bruno Haible  <bruno@clisp.org>
11764
11765         fprintftime: Move AC_LIBOBJ invocations to module description.
11766         * m4/fprintftime.m4: Remove file.
11767         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
11768         (configure.ac): Remove gl_FPRINTFTIME call.
11769         (Makefile.am): Augment lib_SOURCES.
11770         Reported by Jim Meyering.
11771
11772 2011-06-16  Bruno Haible  <bruno@clisp.org>
11773
11774         tmpfile-safer: Finish 2011-05-23 commit.
11775         * m4/stdio-safer.m4: Really remove file.
11776         Reported by Jim Meyering.
11777
11778 2011-06-16  Bruno Haible  <bruno@clisp.org>
11779
11780         syntax-check: Fix typo.
11781         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
11782         printf-posix.m4.
11783         Reported by Jim Meyering.
11784
11785 2011-06-13  Jim Meyering  <meyering@redhat.com>
11786
11787         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
11788         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
11789
11790 2011-05-23  Bruno Haible  <bruno@clisp.org>
11791
11792         yesno: Move AC_LIBOBJ invocations to module description.
11793         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
11794         * modules/yesno (Makefile.am): Augment lib_SOURCES.
11795
11796 2011-05-23  Bruno Haible  <bruno@clisp.org>
11797
11798         xstrtol: Move AC_LIBOBJ invocations to module description.
11799         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
11800         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
11801
11802 2011-05-23  Bruno Haible  <bruno@clisp.org>
11803
11804         xstrtold: Move AC_LIBOBJ invocations to module description.
11805         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
11806         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
11807
11808 2011-05-23  Bruno Haible  <bruno@clisp.org>
11809
11810         xstrtod: Move AC_LIBOBJ invocations to module description.
11811         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
11812         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
11813
11814 2011-05-23  Bruno Haible  <bruno@clisp.org>
11815
11816         xnanosleep: Move AC_LIBOBJ invocations to module description.
11817         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
11818         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
11819
11820 2011-05-23  Bruno Haible  <bruno@clisp.org>
11821
11822         xgetcwd: Move AC_LIBOBJ invocations to module description.
11823         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
11824         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
11825
11826 2011-05-23  Bruno Haible  <bruno@clisp.org>
11827
11828         xalloc: Move AC_LIBOBJ invocations to module description.
11829         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
11830         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
11831
11832 2011-05-23  Bruno Haible  <bruno@clisp.org>
11833
11834         write-any-file: Move AC_LIBOBJ invocations to module description.
11835         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
11836         invocation.
11837         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
11838
11839 2011-05-23  Bruno Haible  <bruno@clisp.org>
11840
11841         utimens: Move AC_LIBOBJ invocations to module description.
11842         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
11843         * modules/utimens (Makefile.am): Augment lib_SOURCES.
11844
11845 2011-05-23  Bruno Haible  <bruno@clisp.org>
11846
11847         utimecmp: Move AC_LIBOBJ invocations to module description.
11848         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
11849         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
11850
11851 2011-05-23  Bruno Haible  <bruno@clisp.org>
11852
11853         userspec: Move AC_LIBOBJ invocations to module description.
11854         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
11855         * modules/userspec (Makefile.am): Augment lib_SOURCES.
11856
11857 2011-05-23  Bruno Haible  <bruno@clisp.org>
11858
11859         unlinkdir: Move AC_LIBOBJ invocations to module description.
11860         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
11861         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
11862
11863 2011-05-23  Bruno Haible  <bruno@clisp.org>
11864
11865         unistd-safer: Move AC_LIBOBJ invocations to module description.
11866         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
11867         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
11868
11869 2011-05-23  Bruno Haible  <bruno@clisp.org>
11870
11871         tempname: Move AC_LIBOBJ invocations to module description.
11872         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
11873         * modules/tempname (Makefile.am): Augment lib_SOURCES.
11874
11875 2011-05-23  Bruno Haible  <bruno@clisp.org>
11876
11877         strftime: Move AC_LIBOBJ invocations to module description.
11878         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
11879         * modules/strftime (Makefile.am): Augment lib_SOURCES.
11880
11881 2011-05-23  Bruno Haible  <bruno@clisp.org>
11882
11883         stdlib-safer: Move AC_LIBOBJ invocations to module description.
11884         * m4/stdlib-safer.m4: Remove file.
11885         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
11886         (configure.ac): Remove gl_STDLIB_SAFER call.
11887         (Makefile.am): Augment lib_SOURCES.
11888
11889 2011-05-23  Bruno Haible  <bruno@clisp.org>
11890
11891         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
11892         * m4/stdio-safer.m4: Remove file.
11893         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
11894         (configure.ac): Remove gl_TMPFILE_SAFER call.
11895         (Makefile.am): Augment lib_SOURCES.
11896
11897 2011-05-23  Bruno Haible  <bruno@clisp.org>
11898
11899         popen-safer: Move AC_LIBOBJ invocations to module description.
11900         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
11901         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
11902         (configure.ac): Remove gl_POPEN_SAFER call.
11903         (Makefile.am): Augment lib_SOURCES.
11904
11905 2011-05-23  Bruno Haible  <bruno@clisp.org>
11906
11907         freopen-safer: Move AC_LIBOBJ invocations to module description.
11908         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
11909         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
11910         (configure.ac): Remove gl_FREOPEN_SAFER call.
11911         (Makefile.am): Augment lib_SOURCES.
11912
11913 2011-05-23  Bruno Haible  <bruno@clisp.org>
11914
11915         fopen-safer: Move AC_LIBOBJ invocations to module description.
11916         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
11917         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
11918         (configure.ac): Remove gl_FOPEN_SAFER call.
11919         (Makefile.am): Augment lib_SOURCES.
11920
11921 2011-05-23  Bruno Haible  <bruno@clisp.org>
11922
11923         crypto/sha512: Move AC_LIBOBJ invocations to module description.
11924         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
11925         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
11926
11927 2011-05-23  Bruno Haible  <bruno@clisp.org>
11928
11929         crypto/sha256: Move AC_LIBOBJ invocations to module description.
11930         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
11931         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
11932
11933 2011-05-23  Bruno Haible  <bruno@clisp.org>
11934
11935         crypto/sha1: Move AC_LIBOBJ invocations to module description.
11936         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
11937         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
11938
11939 2011-05-23  Bruno Haible  <bruno@clisp.org>
11940
11941         settime: Move AC_LIBOBJ invocations to module description.
11942         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
11943         * modules/settime (Makefile.am): Augment lib_SOURCES.
11944
11945 2011-05-23  Bruno Haible  <bruno@clisp.org>
11946
11947         savedir: Move AC_LIBOBJ invocations to module description.
11948         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
11949         * modules/savedir (Makefile.am): Augment lib_SOURCES.
11950
11951 2011-05-23  Bruno Haible  <bruno@clisp.org>
11952
11953         save-cwd: Move AC_LIBOBJ invocations to module description.
11954         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
11955         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
11956
11957 2011-05-23  Bruno Haible  <bruno@clisp.org>
11958
11959         same: Move AC_LIBOBJ invocations to module description.
11960         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
11961         * modules/same (Makefile.am): Augment lib_SOURCES.
11962
11963 2011-05-23  Bruno Haible  <bruno@clisp.org>
11964
11965         safe-write: Move AC_LIBOBJ invocations to module description.
11966         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
11967         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
11968         instead of gl_SAFE_WRITE.
11969         (Makefile.am): Augment lib_SOURCES.
11970
11971 2011-05-23  Bruno Haible  <bruno@clisp.org>
11972
11973         safe-read: Move AC_LIBOBJ invocations to module description.
11974         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
11975         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
11976         of gl_SAFE_READ.
11977         (Makefile.am): Augment lib_SOURCES.
11978
11979 2011-05-23  Bruno Haible  <bruno@clisp.org>
11980
11981         safe-alloc: Move AC_LIBOBJ invocations to module description.
11982         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
11983         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
11984
11985 2011-05-23  Bruno Haible  <bruno@clisp.org>
11986
11987         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
11988         * m4/rijndael.m4: Remove file.
11989         * modules/crypto/rijndael (Files): Remove it.
11990         (configure.ac): Remove gl_RIJNDAEL call.
11991         (Makefile.am): Augment lib_SOURCES.
11992
11993 2011-05-23  Bruno Haible  <bruno@clisp.org>
11994
11995         readtokens: Move AC_LIBOBJ invocations to module description.
11996         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
11997         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
11998
11999 2011-05-23  Bruno Haible  <bruno@clisp.org>
12000
12001         read-file: Move AC_LIBOBJ invocations to module description.
12002         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
12003         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
12004         of gl_FUNC_READ_FILE.
12005         (Makefile.am): Augment lib_SOURCES.
12006
12007 2011-05-23  Bruno Haible  <bruno@clisp.org>
12008
12009         quotearg: Move AC_LIBOBJ invocations to module description.
12010         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
12011         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
12012
12013 2011-05-23  Bruno Haible  <bruno@clisp.org>
12014
12015         quote: Move AC_LIBOBJ invocations to module description.
12016         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
12017         * modules/quote (Makefile.am): Augment lib_SOURCES.
12018
12019 2011-05-23  Bruno Haible  <bruno@clisp.org>
12020
12021         posixver: Move AC_LIBOBJ invocations to module description.
12022         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
12023         * modules/posixver (Makefile.am): Augment lib_SOURCES.
12024
12025 2011-05-23  Bruno Haible  <bruno@clisp.org>
12026
12027         posixtm: Move AC_LIBOBJ invocations to module description.
12028         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
12029         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
12030
12031 2011-05-23  Bruno Haible  <bruno@clisp.org>
12032
12033         physmem: Move AC_LIBOBJ invocations to module description.
12034         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
12035         * modules/physmem (Makefile.am): Augment lib_SOURCES.
12036
12037 2011-05-23  Bruno Haible  <bruno@clisp.org>
12038
12039         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
12040         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
12041         invocation.
12042         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
12043
12044 2011-05-23  Bruno Haible  <bruno@clisp.org>
12045
12046         mpsort: Move AC_LIBOBJ invocations to module description.
12047         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
12048         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
12049
12050 2011-05-23  Bruno Haible  <bruno@clisp.org>
12051
12052         modechange: Move AC_LIBOBJ invocations to module description.
12053         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
12054         * modules/modechange (Makefile.am): Augment lib_SOURCES.
12055
12056 2011-05-23  Bruno Haible  <bruno@clisp.org>
12057
12058         mkdir-p: Move AC_LIBOBJ invocations to module description.
12059         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
12060         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
12061
12062 2011-05-23  Bruno Haible  <bruno@clisp.org>
12063
12064         mkancesdirs: Move AC_LIBOBJ invocations to module description.
12065         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
12066         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
12067
12068 2011-05-23  Bruno Haible  <bruno@clisp.org>
12069
12070         mgetgroups: Move AC_LIBOBJ invocations to module description.
12071         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
12072         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
12073
12074 2011-05-23  Bruno Haible  <bruno@clisp.org>
12075
12076         memxor: Move AC_LIBOBJ invocations to module description.
12077         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
12078         * modules/memxor (Makefile.am): Augment lib_SOURCES.
12079
12080 2011-05-23  Bruno Haible  <bruno@clisp.org>
12081
12082         memcoll: Move AC_LIBOBJ invocations to module description.
12083         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
12084         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
12085
12086 2011-05-23  Bruno Haible  <bruno@clisp.org>
12087
12088         memcasecmp: Move AC_LIBOBJ invocations to module description.
12089         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
12090         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
12091
12092 2011-05-23  Bruno Haible  <bruno@clisp.org>
12093
12094         crypto/md5: Move AC_LIBOBJ invocations to module description.
12095         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
12096         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
12097
12098 2011-05-23  Bruno Haible  <bruno@clisp.org>
12099
12100         crypto/md4: Move AC_LIBOBJ invocations to module description.
12101         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
12102         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
12103
12104 2011-05-23  Bruno Haible  <bruno@clisp.org>
12105
12106         crypto/md2: Move AC_LIBOBJ invocations to module description.
12107         * m4/md2.m4: Remove file.
12108         * modules/crypto/md2 (Files): Remove it.
12109         (configure.ac): Remove gl_MD2 call.
12110         (Makefile.am): Augment lib_SOURCES.
12111
12112 2011-05-23  Bruno Haible  <bruno@clisp.org>
12113
12114         long-options: Move AC_LIBOBJ invocations to module description.
12115         * m4/long-options.m4: Remove file.
12116         * modules/long-options (Files): Remove it.
12117         (configure.ac): Remove gl_LONG_OPTIONS call.
12118         (Makefile.am): Augment lib_SOURCES.
12119
12120 2011-05-23  Bruno Haible  <bruno@clisp.org>
12121
12122         i-ring: Move AC_LIBOBJ invocations to module description.
12123         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
12124         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
12125
12126 2011-05-23  Bruno Haible  <bruno@clisp.org>
12127
12128         idcache: Move AC_LIBOBJ invocations to module description.
12129         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
12130         * modules/idcache (Makefile.am): Augment lib_SOURCES.
12131
12132 2011-05-23  Bruno Haible  <bruno@clisp.org>
12133
12134         human: Move AC_LIBOBJ invocations to module description.
12135         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
12136         * modules/human (Makefile.am): Augment lib_SOURCES.
12137
12138 2011-05-23  Bruno Haible  <bruno@clisp.org>
12139
12140         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
12141         * m4/hmac-sha1.m4: Remove file.
12142         * modules/crypto/hmac-sha1 (Files): Remove it.
12143         (configure.ac): Remove gl_HMAC_SHA1 call.
12144         (Makefile.am): Augment lib_SOURCES.
12145
12146 2011-05-23  Bruno Haible  <bruno@clisp.org>
12147
12148         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
12149         * m4/hmac-md5.m4: Remove file.
12150         * modules/crypto/hmac-md5 (Files): Remove it.
12151         (configure.ac): Remove gl_HMAC_MD5 call.
12152         (Makefile.am): Augment lib_SOURCES.
12153
12154 2011-05-23  Bruno Haible  <bruno@clisp.org>
12155
12156         hash: Move AC_LIBOBJ invocations to module description.
12157         * m4/hash.m4: Remove file.
12158         * modules/hash (Files): Remove it.
12159         (configure.ac): Remove gl_HASH call.
12160         (Makefile.am): Augment lib_SOURCES.
12161
12162 2011-05-23  Bruno Haible  <bruno@clisp.org>
12163
12164         hard-locale: Move AC_LIBOBJ invocations to module description.
12165         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
12166         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
12167
12168 2011-05-23  Bruno Haible  <bruno@clisp.org>
12169
12170         getugroups: Move AC_LIBOBJ invocations to module description.
12171         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
12172         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
12173
12174 2011-05-23  Bruno Haible  <bruno@clisp.org>
12175
12176         gettime: Move AC_LIBOBJ invocations to module description.
12177         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
12178         * modules/gettime (Makefile.am): Augment lib_SOURCES.
12179
12180 2011-05-23  Bruno Haible  <bruno@clisp.org>
12181
12182         getndelim2: Move AC_LIBOBJ invocations to module description.
12183         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
12184         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
12185
12186 2011-05-23  Bruno Haible  <bruno@clisp.org>
12187
12188         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
12189         * m4/gc-pbkdf2-sha1.m4: Remove file.
12190         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
12191         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
12192         (Makefile.am): Augment lib_SOURCES.
12193
12194 2011-05-23  Bruno Haible  <bruno@clisp.org>
12195
12196         fts: Move AC_LIBOBJ invocations to module description.
12197         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
12198         * modules/fts (configure.ac): ... to here.
12199
12200 2011-05-23  Bruno Haible  <bruno@clisp.org>
12201
12202         file-type: Move AC_LIBOBJ invocations to module description.
12203         * m4/file-type.m4: Remove file.
12204         * modules/file-type (Files): Remove it.
12205         (configure.ac): Remove gl_FILE_TYPE call.
12206         (Makefile.am): Augment lib_SOURCES.
12207
12208 2011-05-23  Bruno Haible  <bruno@clisp.org>
12209
12210         filenamecat*: Respect rules for use of AC_LIBOBJ.
12211         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
12212         Remove AC_LIBOBJ invocation.
12213         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
12214         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
12215
12216 2011-05-23  Bruno Haible  <bruno@clisp.org>
12217
12218         filemode: Move AC_LIBOBJ invocations to module description.
12219         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
12220         * modules/filemode (Makefile.am): Augment lib_SOURCES.
12221
12222 2011-05-23  Bruno Haible  <bruno@clisp.org>
12223
12224         openat-safer: Move AC_LIBOBJ invocations to module description.
12225         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
12226         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
12227
12228 2011-05-23  Bruno Haible  <bruno@clisp.org>
12229
12230         fcntl-safer: Move AC_LIBOBJ invocations to module description.
12231         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
12232         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
12233
12234 2011-05-23  Bruno Haible  <bruno@clisp.org>
12235
12236         exclude: Move AC_LIBOBJ invocations to module description.
12237         * m4/exclude.m4: Remove file.
12238         * modules/exclude (Files): Remove it.
12239         (configure.ac): Remove gl_EXCLUDE call.
12240         (Makefile.am): Augment lib_SOURCES.
12241
12242 2011-05-23  Bruno Haible  <bruno@clisp.org>
12243
12244         dirname*: Respect rules for use of AC_LIBOBJ.
12245         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
12246         invocations.
12247         * modules/dirname (Makefile.am): Augment lib_SOURCES.
12248         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
12249
12250 2011-05-23  Bruno Haible  <bruno@clisp.org>
12251
12252         dirent-safer: Move AC_LIBOBJ invocations to module description.
12253         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
12254         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
12255
12256 2011-05-23  Bruno Haible  <bruno@clisp.org>
12257
12258         crypto/des: Move AC_LIBOBJ invocations to module description.
12259         * m4/des.m4: Remove file.
12260         * modules/crypto/des (Files): Remove it.
12261         (configure.ac): Remove gl_DES call.
12262         (Makefile.am): Augment lib_SOURCES.
12263
12264 2011-05-23  Bruno Haible  <bruno@clisp.org>
12265
12266         cycle-check: Move AC_LIBOBJ invocations to module description.
12267         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
12268         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
12269
12270 2011-05-23  Bruno Haible  <bruno@clisp.org>
12271
12272         c-strtold: Move AC_LIBOBJ invocations to module description.
12273         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
12274         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
12275
12276 2011-05-23  Bruno Haible  <bruno@clisp.org>
12277
12278         c-strtod: Move AC_LIBOBJ invocations to module description.
12279         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
12280         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
12281
12282 2011-05-23  Bruno Haible  <bruno@clisp.org>
12283
12284         crc: Move AC_LIBOBJ invocations to module description.
12285         * m4/crc.m4: Remove file.
12286         * modules/crc (Files): Remove it.
12287         (configure.ac): Remove gl_CRC call.
12288         (Makefile.am): Augment lib_SOURCES.
12289
12290 2011-05-23  Bruno Haible  <bruno@clisp.org>
12291
12292         close-stream: Move AC_LIBOBJ invocations to module description.
12293         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
12294         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
12295
12296 2011-05-23  Bruno Haible  <bruno@clisp.org>
12297
12298         closeout: Move AC_LIBOBJ invocations to module description.
12299         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
12300         * modules/closeout (Makefile.am): Augment lib_SOURCES.
12301
12302 2011-05-23  Bruno Haible  <bruno@clisp.org>
12303
12304         closein: Move AC_LIBOBJ invocations to module description.
12305         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
12306         * modules/closein (Makefile.am): Augment lib_SOURCES.
12307
12308 2011-05-23  Bruno Haible  <bruno@clisp.org>
12309
12310         cloexec: Move AC_LIBOBJ invocations to module description.
12311         * m4/cloexec.m4: Remove file.
12312         * modules/cloexec (Files): Remove it.
12313         (configure.ac): Remove gl_CLOEXEC call.
12314         (Makefile.am): Augment lib_SOURCES.
12315
12316 2011-05-23  Bruno Haible  <bruno@clisp.org>
12317
12318         check-version: Move AC_LIBOBJ invocations to module description.
12319         * m4/check-version.m4: Remove file.
12320         * modules/check-version (Files): Remove it.
12321         (configure.ac): Remove gl_CHECK_VERSION call.
12322         (Makefile.am): Augment lib_SOURCES.
12323
12324 2011-05-23  Bruno Haible  <bruno@clisp.org>
12325
12326         chdir-safer: Move AC_LIBOBJ invocations to module description.
12327         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
12328         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
12329
12330 2011-05-23  Bruno Haible  <bruno@clisp.org>
12331
12332         canonicalize: Move AC_LIBOBJ invocations to module description.
12333         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
12334         AC_LIBOBJ invocation.
12335         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
12336
12337 2011-05-23  Bruno Haible  <bruno@clisp.org>
12338
12339         canon-host: Move AC_LIBOBJ invocations to module description.
12340         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
12341         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
12342         instead of gl_CANON_HOST.
12343         (Makefile.am): Augment lib_SOURCES.
12344
12345 2011-05-23  Bruno Haible  <bruno@clisp.org>
12346
12347         backupfile: Move AC_LIBOBJ invocations to module description.
12348         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
12349         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
12350
12351 2011-05-23  Bruno Haible  <bruno@clisp.org>
12352
12353         argmatch: Move AC_LIBOBJ invocations to module description.
12354         * m4/argmatch.m4: Remove file.
12355         * modules/argmatch (Files): Remove it.
12356         (configure.ac): Remove gl_ARGMATCH call.
12357         (Makefile.am): Augment lib_SOURCES.
12358
12359 2011-05-23  Bruno Haible  <bruno@clisp.org>
12360
12361         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
12362         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
12363         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
12364
12365 2011-05-23  Bruno Haible  <bruno@clisp.org>
12366
12367         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
12368         * m4/arcfour.m4: Remove file.
12369         * modules/crypto/arcfour (Files): Remove it.
12370         (configure.ac): Remove gl_ARCFOUR call.
12371         (Makefile.am): Augment lib_SOURCES.
12372
12373 2011-05-22  Bruno Haible  <bruno@clisp.org>
12374
12375         write: Move AC_LIBOBJ invocations to module description.
12376         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
12377         * modules/write (configure.ac): ... to here.
12378
12379 2011-05-22  Bruno Haible  <bruno@clisp.org>
12380
12381         wmemset: Move AC_LIBOBJ invocations to module description.
12382         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
12383         here...
12384         * modules/wmemset (configure.ac): ... to here.
12385
12386 2011-05-22  Bruno Haible  <bruno@clisp.org>
12387
12388         wmemmove: Move AC_LIBOBJ invocations to module description.
12389         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
12390         here...
12391         * modules/wmemmove (configure.ac): ... to here.
12392
12393 2011-05-22  Bruno Haible  <bruno@clisp.org>
12394
12395         wmemcpy: Move AC_LIBOBJ invocations to module description.
12396         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
12397         here...
12398         * modules/wmemcpy (configure.ac): ... to here.
12399
12400 2011-05-22  Bruno Haible  <bruno@clisp.org>
12401
12402         wmemcmp: Move AC_LIBOBJ invocations to module description.
12403         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
12404         here...
12405         * modules/wmemcmp (configure.ac): ... to here.
12406
12407 2011-05-22  Bruno Haible  <bruno@clisp.org>
12408
12409         wmemchr: Move AC_LIBOBJ invocations to module description.
12410         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
12411         here...
12412         * modules/wmemchr (configure.ac): ... to here.
12413
12414 2011-05-22  Bruno Haible  <bruno@clisp.org>
12415
12416         wcswidth: Move AC_LIBOBJ invocations to module description.
12417         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
12418         here...
12419         * modules/wcswidth (configure.ac): ... to here.
12420
12421 2011-05-22  Bruno Haible  <bruno@clisp.org>
12422
12423         wcwidth: Respect rules for use of AC_LIBOBJ.
12424         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
12425         invocation from here...
12426         * modules/wcwidth (configure.ac): ... to here.
12427         (Depends-on): Update conditions.
12428
12429 2011-05-22  Bruno Haible  <bruno@clisp.org>
12430
12431         wctype: Move AC_LIBOBJ invocations to module description.
12432         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
12433         invocation from here...
12434         * modules/wctype (configure.ac): ... to here.
12435         (Depends-on): Update conditions.
12436
12437 2011-05-22  Bruno Haible  <bruno@clisp.org>
12438
12439         wctrans: Move AC_LIBOBJ invocations to module description.
12440         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
12441         invocation from here...
12442         * modules/wctrans (configure.ac): ... to here.
12443
12444 2011-05-22  Bruno Haible  <bruno@clisp.org>
12445
12446         wctomb: Move AC_LIBOBJ invocations to module description.
12447         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
12448         invocations from here...
12449         * modules/wctomb (configure.ac): ... to here.
12450
12451 2011-05-22  Bruno Haible  <bruno@clisp.org>
12452
12453         wctob: Move AC_LIBOBJ invocations to module description.
12454         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
12455         gl_PREREQ_WCTOB invocations from here...
12456         * modules/wctob (configure.ac): ... to here.
12457         (Depends-on): Update conditions.
12458
12459 2011-05-22  Bruno Haible  <bruno@clisp.org>
12460
12461         wcsxfrm: Move AC_LIBOBJ invocations to module description.
12462         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
12463         here...
12464         * modules/wcsxfrm (configure.ac): ... to here.
12465
12466 2011-05-22  Bruno Haible  <bruno@clisp.org>
12467
12468         wcstok: Move AC_LIBOBJ invocations to module description.
12469         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
12470         * modules/wcstok (configure.ac): ... to here.
12471
12472 2011-05-22  Bruno Haible  <bruno@clisp.org>
12473
12474         wcsstr: Move AC_LIBOBJ invocations to module description.
12475         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
12476         * modules/wcsstr (configure.ac): ... to here.
12477
12478 2011-05-22  Bruno Haible  <bruno@clisp.org>
12479
12480         wcsspn: Move AC_LIBOBJ invocations to module description.
12481         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
12482         * modules/wcsspn (configure.ac): ... to here.
12483
12484 2011-05-22  Bruno Haible  <bruno@clisp.org>
12485
12486         wcsrtombs: Move AC_LIBOBJ invocations to module description.
12487         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
12488         gl_PREREQ_WCSRTOMBS invocations from here...
12489         * modules/wcsrtombs (configure.ac): ... to here.
12490
12491 2011-05-22  Bruno Haible  <bruno@clisp.org>
12492
12493         wcsrchr: Move AC_LIBOBJ invocations to module description.
12494         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
12495         here...
12496         * modules/wcsrchr (configure.ac): ... to here.
12497
12498 2011-05-22  Bruno Haible  <bruno@clisp.org>
12499
12500         wcspbrk: Move AC_LIBOBJ invocations to module description.
12501         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
12502         here...
12503         * modules/wcspbrk (configure.ac): ... to here.
12504
12505 2011-05-22  Bruno Haible  <bruno@clisp.org>
12506
12507         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
12508         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
12509         gl_PREREQ_WCSNRTOMBS invocations from here...
12510         * modules/wcsnrtombs (configure.ac): ... to here.
12511
12512 2011-05-22  Bruno Haible  <bruno@clisp.org>
12513
12514         wcsnlen: Move AC_LIBOBJ invocations to module description.
12515         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
12516         here...
12517         * modules/wcsnlen (configure.ac): ... to here.
12518
12519 2011-05-22  Bruno Haible  <bruno@clisp.org>
12520
12521         wcsncpy: Move AC_LIBOBJ invocations to module description.
12522         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
12523         here...
12524         * modules/wcsncpy (configure.ac): ... to here.
12525
12526 2011-05-22  Bruno Haible  <bruno@clisp.org>
12527
12528         wcsncmp: Move AC_LIBOBJ invocations to module description.
12529         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
12530         here...
12531         * modules/wcsncmp (configure.ac): ... to here.
12532
12533 2011-05-22  Bruno Haible  <bruno@clisp.org>
12534
12535         wcsncat: Move AC_LIBOBJ invocations to module description.
12536         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
12537         here...
12538         * modules/wcsncat (configure.ac): ... to here.
12539
12540 2011-05-22  Bruno Haible  <bruno@clisp.org>
12541
12542         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
12543         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
12544         from here...
12545         * modules/wcsncasecmp (configure.ac): ... to here.
12546
12547 2011-05-22  Bruno Haible  <bruno@clisp.org>
12548
12549         wcslen: Move AC_LIBOBJ invocations to module description.
12550         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
12551         * modules/wcslen (configure.ac): ... to here.
12552
12553 2011-05-22  Bruno Haible  <bruno@clisp.org>
12554
12555         wcsdup: Move AC_LIBOBJ invocations to module description.
12556         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
12557         * modules/wcsdup (configure.ac): ... to here.
12558
12559 2011-05-22  Bruno Haible  <bruno@clisp.org>
12560
12561         wcscspn: Move AC_LIBOBJ invocations to module description.
12562         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
12563         here...
12564         * modules/wcscspn (configure.ac): ... to here.
12565
12566 2011-05-22  Bruno Haible  <bruno@clisp.org>
12567
12568         wcscpy: Move AC_LIBOBJ invocations to module description.
12569         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
12570         * modules/wcscpy (configure.ac): ... to here.
12571
12572 2011-05-22  Bruno Haible  <bruno@clisp.org>
12573
12574         wcscoll: Move AC_LIBOBJ invocations to module description.
12575         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
12576         here...
12577         * modules/wcscoll (configure.ac): ... to here.
12578
12579 2011-05-22  Bruno Haible  <bruno@clisp.org>
12580
12581         wcscmp: Move AC_LIBOBJ invocations to module description.
12582         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
12583         * modules/wcscmp (configure.ac): ... to here.
12584
12585 2011-05-22  Bruno Haible  <bruno@clisp.org>
12586
12587         wcschr: Move AC_LIBOBJ invocations to module description.
12588         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
12589         * modules/wcschr (configure.ac): ... to here.
12590
12591 2011-05-22  Bruno Haible  <bruno@clisp.org>
12592
12593         wcscat: Move AC_LIBOBJ invocations to module description.
12594         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
12595         * modules/wcscat (configure.ac): ... to here.
12596
12597 2011-05-22  Bruno Haible  <bruno@clisp.org>
12598
12599         wcscasecmp: Move AC_LIBOBJ invocations to module description.
12600         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
12601         here...
12602         * modules/wcscasecmp (configure.ac): ... to here.
12603
12604 2011-05-22  Bruno Haible  <bruno@clisp.org>
12605
12606         wcrtomb: Move AC_LIBOBJ invocations to module description.
12607         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
12608         invocations from here...
12609         * modules/wcrtomb (configure.ac): ... to here.
12610
12611 2011-05-22  Bruno Haible  <bruno@clisp.org>
12612
12613         wcpncpy: Move AC_LIBOBJ invocations to module description.
12614         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
12615         here...
12616         * modules/wcpncpy (configure.ac): ... to here.
12617
12618 2011-05-22  Bruno Haible  <bruno@clisp.org>
12619
12620         wcpcpy: Move AC_LIBOBJ invocations to module description.
12621         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
12622         * modules/wcpcpy (configure.ac): ... to here.
12623
12624 2011-05-22  Bruno Haible  <bruno@clisp.org>
12625
12626         waitpid: Move AC_LIBOBJ invocations to module description.
12627         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
12628         invocation from here...
12629         * modules/waitpid (configure.ac): ... to here.
12630
12631 2011-05-22  Bruno Haible  <bruno@clisp.org>
12632
12633         utimensat: Move AC_LIBOBJ invocations to module description.
12634         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
12635         here...
12636         * modules/utimensat (configure.ac): ... to here.
12637
12638 2011-05-22  Bruno Haible  <bruno@clisp.org>
12639
12640         usleep: Move AC_LIBOBJ invocations to module description.
12641         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
12642         here...
12643         * modules/usleep (configure.ac): ... to here.
12644
12645 2011-05-22  Bruno Haible  <bruno@clisp.org>
12646
12647         unlockpt: Move AC_LIBOBJ invocations to module description.
12648         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
12649         gl_PREREQ_UNLOCKPT invocations from here...
12650         * modules/unlockpt (configure.ac): ... to here.
12651
12652 2011-05-22  Bruno Haible  <bruno@clisp.org>
12653
12654         unlink: Respect rules for use of AC_LIBOBJ.
12655         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
12656         * modules/unlink (configure.ac): ... to here.
12657
12658 2011-05-22  Bruno Haible  <bruno@clisp.org>
12659
12660         uname: Move AC_LIBOBJ invocations to module description.
12661         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
12662         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
12663         here...
12664         * modules/uname (configure.ac): ... to here.
12665
12666 2011-05-22  Bruno Haible  <bruno@clisp.org>
12667
12668         ttyname_r: Move AC_LIBOBJ invocations to module description.
12669         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
12670         gl_PREREQ_TTYNAME_R invocations from here...
12671         * modules/ttyname_r (configure.ac): ... to here.
12672
12673 2011-05-22  Bruno Haible  <bruno@clisp.org>
12674
12675         tsearch: Move AC_LIBOBJ invocations to module description.
12676         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
12677         invocations from here...
12678         * modules/tsearch (configure.ac): ... to here.
12679
12680 2011-05-22  Bruno Haible  <bruno@clisp.org>
12681
12682         towctrans: Move AC_LIBOBJ invocations to module description.
12683         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
12684         AC_LIBOBJ invocation from here...
12685         * modules/towctrans (configure.ac): ... to here.
12686
12687 2011-05-22  Bruno Haible  <bruno@clisp.org>
12688
12689         tmpfile: Move AC_LIBOBJ invocations to module description.
12690         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
12691         invocations from here...
12692         * modules/tmpfile (configure.ac): ... to here.
12693
12694 2011-05-22  Bruno Haible  <bruno@clisp.org>
12695
12696         times: Move AC_LIBOBJ invocations to module description.
12697         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
12698         * modules/times (configure.ac): ... to here.
12699
12700 2011-05-22  Bruno Haible  <bruno@clisp.org>
12701
12702         time_r: Move AC_LIBOBJ invocations to module description.
12703         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
12704         invocations from here...
12705         * modules/time_r (configure.ac): ... to here.
12706
12707 2011-05-22  Bruno Haible  <bruno@clisp.org>
12708
12709         timegm: Move AC_LIBOBJ invocations to module description.
12710         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
12711         invocations from here...
12712         * modules/timegm (configure.ac): ... to here.
12713
12714 2011-05-22  Bruno Haible  <bruno@clisp.org>
12715
12716         tcgetsid: Move AC_LIBOBJ invocations to module description.
12717         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
12718         and gl_PREREQ_TCGETSID invocations from here...
12719         * modules/tcgetsid (configure.ac): ... to here.
12720         (Depends-on): Update conditions.
12721
12722 2011-05-22  Bruno Haible  <bruno@clisp.org>
12723
12724         symlinkat: Move AC_LIBOBJ invocations to module description.
12725         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
12726         here...
12727         * modules/symlinkat (configure.ac): ... to here.
12728
12729 2011-05-22  Bruno Haible  <bruno@clisp.org>
12730
12731         symlink: Move AC_LIBOBJ invocations to module description.
12732         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
12733         here...
12734         * modules/symlink (configure.ac): ... to here.
12735
12736 2011-05-22  Bruno Haible  <bruno@clisp.org>
12737
12738         strverscmp: Move AC_LIBOBJ invocations to module description.
12739         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
12740         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
12741         from here...
12742         * modules/strverscmp (configure.ac): ... to here.
12743
12744 2011-05-22  Bruno Haible  <bruno@clisp.org>
12745
12746         strtok_r: Move AC_LIBOBJ invocations to module description.
12747         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
12748         and gl_PREREQ_STRTOK_R invocations from here...
12749         * modules/strtok_r (configure.ac): ... to here.
12750         (Depends-on): Update conditions.
12751
12752 2011-05-22  Bruno Haible  <bruno@clisp.org>
12753
12754         strtoumax: Move AC_LIBOBJ invocations to module description.
12755         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
12756         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
12757         from here...
12758         * modules/strtoumax (configure.ac): ... to here.
12759
12760 2011-05-22  Bruno Haible  <bruno@clisp.org>
12761
12762         strtoimax: Move AC_LIBOBJ invocations to module description.
12763         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
12764         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
12765         from here...
12766         * modules/strtoimax (configure.ac): ... to here.
12767
12768 2011-05-22  Bruno Haible  <bruno@clisp.org>
12769
12770         strtoull: Move AC_LIBOBJ invocations to module description.
12771         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
12772         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
12773         from here...
12774         * modules/strtoull (configure.ac): ... to here.
12775
12776 2011-05-22  Bruno Haible  <bruno@clisp.org>
12777
12778         strtoll: Move AC_LIBOBJ invocations to module description.
12779         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
12780         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
12781         here...
12782         * modules/strtoll (configure.ac): ... to here.
12783
12784 2011-05-22  Bruno Haible  <bruno@clisp.org>
12785
12786         strtoul: Move AC_LIBOBJ invocations to module description.
12787         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
12788         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
12789         * modules/strtoul (configure.ac): ... to here.
12790
12791 2011-05-22  Bruno Haible  <bruno@clisp.org>
12792
12793         strtol: Move AC_LIBOBJ invocations to module description.
12794         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
12795         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
12796         * modules/strtol (configure.ac): ... to here.
12797
12798 2011-05-22  Bruno Haible  <bruno@clisp.org>
12799
12800         strtod: Move AC_LIBOBJ invocations to module description.
12801         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
12802         invocations from here...
12803         * modules/strtod (configure.ac): ... to here.
12804
12805 2011-05-22  Bruno Haible  <bruno@clisp.org>
12806
12807         strstr*: Move AC_LIBOBJ invocations to module description.
12808         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
12809         invocations from here...
12810         * modules/strstr-simple (configure.ac): ... to here.
12811         * modules/strstr (configure.ac): ... and here.
12812
12813 2011-05-22  Bruno Haible  <bruno@clisp.org>
12814
12815         strsignal: Move AC_LIBOBJ invocations to module description.
12816         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
12817         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
12818         * modules/strsignal (configure.ac): ... to here.
12819         (Depends-on): Update conditions.
12820
12821 2011-05-22  Bruno Haible  <bruno@clisp.org>
12822
12823         strsep: Move AC_LIBOBJ invocations to module description.
12824         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
12825         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
12826         here...
12827         * modules/strsep (configure.ac): ... to here.
12828
12829 2011-05-22  Bruno Haible  <bruno@clisp.org>
12830
12831         strptime: Move AC_LIBOBJ invocations to module description.
12832         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
12833         gl_PREREQ_STRPTIME invocations from here...
12834         * modules/strptime (configure.ac): ... to here.
12835
12836 2011-05-22  Bruno Haible  <bruno@clisp.org>
12837
12838         strpbrk: Move AC_LIBOBJ invocations to module description.
12839         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
12840         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
12841         here...
12842         * modules/strpbrk (configure.ac): ... to here.
12843
12844 2011-05-22  Bruno Haible  <bruno@clisp.org>
12845
12846         strnlen: Move AC_LIBOBJ invocations to module description.
12847         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
12848         invocations from here...
12849         * modules/strnlen (configure.ac): ... to here.
12850
12851 2011-05-22  Bruno Haible  <bruno@clisp.org>
12852
12853         strndup: Move AC_LIBOBJ invocations to module description.
12854         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
12855         invocations from here...
12856         * modules/strndup (configure.ac): ... to here.
12857         (Depends-on): Update conditions.
12858
12859 2011-05-22  Bruno Haible  <bruno@clisp.org>
12860
12861         strncat: Move AC_LIBOBJ invocations to module description.
12862         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
12863         invocations from here...
12864         * modules/strncat (configure.ac): ... to here.
12865
12866 2011-05-22  Bruno Haible  <bruno@clisp.org>
12867
12868         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
12869         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
12870         invocations from here...
12871         * modules/strdup (configure.ac): ... to here.
12872         * modules/strdup-posix (configure.ac): ... and here.
12873
12874 2011-05-22  Bruno Haible  <bruno@clisp.org>
12875
12876         strcspn: Move AC_LIBOBJ invocations to module description.
12877         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
12878         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
12879         here...
12880         * modules/strcspn (configure.ac): ... to here.
12881
12882 2011-05-22  Bruno Haible  <bruno@clisp.org>
12883
12884         strchrnul: Move AC_LIBOBJ invocations to module description.
12885         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
12886         gl_PREREQ_STRCHRNUL invocations from here...
12887         * modules/strchrnul (configure.ac): ... to here.
12888
12889 2011-05-22  Bruno Haible  <bruno@clisp.org>
12890
12891         strcasestr*: Move AC_LIBOBJ invocations to module description.
12892         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
12893         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
12894         * modules/strcasestr-simple (configure.ac): ... to here.
12895         * modules/strcasestr (configure.ac): ... and here.
12896
12897 2011-05-22  Bruno Haible  <bruno@clisp.org>
12898
12899         strcase: Move AC_LIBOBJ invocations to module description.
12900         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
12901         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
12902         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
12903         gl_PREREQ_STRNCASECMP invocations from here...
12904         * modules/strcase (configure.ac): ... to here.
12905
12906 2011-05-22  Bruno Haible  <bruno@clisp.org>
12907
12908         stpncpy: Move AC_LIBOBJ invocations to module description.
12909         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
12910         here...
12911         * modules/stpncpy (configure.ac): ... to here.
12912
12913 2011-05-22  Bruno Haible  <bruno@clisp.org>
12914
12915         stpcpy: Move AC_LIBOBJ invocations to module description.
12916         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
12917         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
12918         here...
12919         * modules/stpcpy (configure.ac): ... to here.
12920
12921 2011-05-21  Bruno Haible  <bruno@clisp.org>
12922
12923         stat: Move AC_LIBOBJ invocations to module description.
12924         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
12925         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
12926         here...
12927         * modules/stat (configure.ac): ... to here.
12928
12929 2011-05-21  Bruno Haible  <bruno@clisp.org>
12930
12931         sleep: Move AC_LIBOBJ invocations to module description.
12932         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
12933         * modules/sleep (configure.ac): ... to here.
12934
12935 2011-05-21  Bruno Haible  <bruno@clisp.org>
12936
12937         signbit: Move AC_LIBOBJ invocations to module description.
12938         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
12939         * modules/signbit (configure.ac): ... to here.
12940
12941 2011-05-21  Bruno Haible  <bruno@clisp.org>
12942
12943         sigprocmask: Move AC_LIBOBJ invocations to module description.
12944         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
12945         gl_PREREQ_SIGPROMASK invocations from here...
12946         * modules/sigprocmask (configure.ac): ... to here.
12947
12948 2011-05-21  Bruno Haible  <bruno@clisp.org>
12949
12950         sigaction: Move AC_LIBOBJ invocations to module description.
12951         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
12952         gl_PREREQ_SIGACTION invocations from here...
12953         * modules/sigaction (configure.ac): ... to here.
12954
12955 2011-05-21  Bruno Haible  <bruno@clisp.org>
12956
12957         sig2str: Move AC_LIBOBJ invocations to module description.
12958         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
12959         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
12960         here...
12961         * modules/sig2str (configure.ac): ... to here.
12962
12963 2011-05-21  Bruno Haible  <bruno@clisp.org>
12964
12965         setlocale: Move AC_LIBOBJ invocations to module description.
12966         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
12967         gl_PREREQ_SETLOCALE invocations from here...
12968         * modules/setlocale (configure.ac): ... to here.
12969
12970 2011-05-21  Bruno Haible  <bruno@clisp.org>
12971
12972         unsetenv: Move AC_LIBOBJ invocations to module description.
12973         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
12974         and gl_PREREQ_UNSETENV invocations from here...
12975         * modules/unsetenv (configure.ac): ... to here.
12976         (Depends-on): Update.
12977
12978 2011-05-21  Bruno Haible  <bruno@clisp.org>
12979
12980         setenv: Move AC_LIBOBJ invocations to module description.
12981         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
12982         here...
12983         * modules/setenv (configure.ac): ... to here.
12984
12985 2011-05-21  Bruno Haible  <bruno@clisp.org>
12986
12987         selinux-h: Move AC_LIBOBJ invocations to module description.
12988         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
12989         AC_LIBOBJ invocation from here...
12990         * modules/selinux-h (configure.ac): ... to here.
12991
12992 2011-05-21  Bruno Haible  <bruno@clisp.org>
12993
12994         select: Respect rules for use of AC_LIBOBJ.
12995         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
12996         here...
12997         * modules/select (configure.ac): ... to here.
12998
12999 2011-05-21  Bruno Haible  <bruno@clisp.org>
13000
13001         scandir: Move AC_LIBOBJ invocations to module description.
13002         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
13003         invocations from here...
13004         * modules/scandir (configure.ac): ... to here.
13005
13006 2011-05-21  Bruno Haible  <bruno@clisp.org>
13007
13008         rpmatch: Move AC_LIBOBJ invocations to module description.
13009         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
13010         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
13011         here...
13012         * modules/rpmatch (configure.ac): ... to here.
13013
13014 2011-05-21  Bruno Haible  <bruno@clisp.org>
13015
13016         rmdir: Respect rules for use of AC_LIBOBJ.
13017         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
13018         * modules/rmdir (configure.ac): ... to here.
13019
13020 2011-05-21  Bruno Haible  <bruno@clisp.org>
13021
13022         renameat: Move AC_LIBOBJ invocations to module description.
13023         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
13024         here...
13025         * modules/renameat (configure.ac): ... to here.
13026
13027 2011-05-21  Bruno Haible  <bruno@clisp.org>
13028
13029         rename: Respect rules for use of AC_LIBOBJ.
13030         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
13031         here...
13032         * modules/rename (configure.ac): ... to here.
13033
13034 2011-05-21  Bruno Haible  <bruno@clisp.org>
13035
13036         remove: Move AC_LIBOBJ invocations to module description.
13037         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
13038         here...
13039         * modules/remove (configure.ac): ... to here.
13040
13041 2011-05-21  Bruno Haible  <bruno@clisp.org>
13042
13043         relocatable-lib: Move AC_LIBOBJ invocations to module description.
13044         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
13045         macro.
13046         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
13047         * modules/relocatable-lib (configure.ac): ... to here.
13048         * modules/relocatable-prog-wrapper (configure.ac): Invoke
13049         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
13050
13051 2011-05-21  Bruno Haible  <bruno@clisp.org>
13052
13053         relocatable-prog: Move AC_LIBOBJ invocations to module description.
13054         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
13055         here...
13056         * modules/relocatable-prog (configure.ac): ... to here.
13057
13058 2011-05-21  Bruno Haible  <bruno@clisp.org>
13059
13060         regex: Move AC_LIBOBJ invocations to module description.
13061         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
13062         invocations from here...
13063         * modules/regex (configure.ac): ... to here.
13064
13065 2011-05-21  Bruno Haible  <bruno@clisp.org>
13066
13067         realloc-*: Move AC_LIBOBJ invocations to module description.
13068         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
13069         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
13070         AC_LIBOBJ invocations from here...
13071         * modules/realloc-gnu (configure.ac): ... to here.
13072         * modules/realloc-posix (configure.ac): ... and here.
13073
13074 2011-05-21  Bruno Haible  <bruno@clisp.org>
13075
13076         readutmp: Move AC_LIBOBJ invocations to module description.
13077         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
13078         * modules/readutmp (configure.ac): ... to here.
13079
13080 2011-05-21  Bruno Haible  <bruno@clisp.org>
13081
13082         readlinkat: Move AC_LIBOBJ invocations to module description.
13083         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
13084         here...
13085         * modules/readlinkat (configure.ac): ... to here.
13086
13087 2011-05-21  Bruno Haible  <bruno@clisp.org>
13088
13089         readlink: Move AC_LIBOBJ invocations to module description.
13090         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
13091         gl_PREREQ_READLINK invocations from here...
13092         * modules/readlink (configure.ac): ... to here.
13093
13094 2011-05-21  Bruno Haible  <bruno@clisp.org>
13095
13096         readline: Move AC_LIBOBJ invocations to module description.
13097         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
13098         gl_PREREQ_READLINE invocations from here...
13099         * modules/readline (configure.ac): ... to here.
13100
13101 2011-05-21  Bruno Haible  <bruno@clisp.org>
13102
13103         read: Move AC_LIBOBJ invocations to module description.
13104         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
13105         * modules/read (configure.ac): ... to here.
13106
13107 2011-05-21  Bruno Haible  <bruno@clisp.org>
13108
13109         rawmemchr: Move AC_LIBOBJ invocations to module description.
13110         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
13111         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
13112         from here...
13113         * modules/rawmemchr (configure.ac): ... to here.
13114
13115 2011-05-21  Bruno Haible  <bruno@clisp.org>
13116
13117         random_r: Move AC_LIBOBJ invocations to module description.
13118         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
13119         gl_PREREQ_RANDOM_R invocations from here...
13120         * modules/random_r (configure.ac): ... to here.
13121
13122 2011-05-21  Bruno Haible  <bruno@clisp.org>
13123
13124         pwrite: Move AC_LIBOBJ invocations to module description.
13125         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
13126         * modules/pwrite (configure.ac): ... to here.
13127
13128 2011-05-21  Bruno Haible  <bruno@clisp.org>
13129
13130         putenv: Move AC_LIBOBJ invocations to module description.
13131         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
13132         * modules/putenv (configure.ac): ... to here.
13133
13134 2011-05-21  Bruno Haible  <bruno@clisp.org>
13135
13136         login_tty: Move AC_LIBOBJ invocations to module description.
13137         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
13138         * modules/login_tty (configure.ac): ... to here.
13139
13140 2011-05-21  Bruno Haible  <bruno@clisp.org>
13141
13142         openpty: Move AC_LIBOBJ invocations to module description.
13143         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
13144         * modules/openpty (configure.ac): ... to here.
13145
13146 2011-05-21  Bruno Haible  <bruno@clisp.org>
13147
13148         forkpty: Move AC_LIBOBJ invocations to module description.
13149         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
13150         * modules/forkpty (configure.ac): ... to here.
13151
13152 2011-05-21  Bruno Haible  <bruno@clisp.org>
13153
13154         ptsname: Move AC_LIBOBJ invocations to module description.
13155         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
13156         invocations from here...
13157         * modules/ptsname (configure.ac): ... to here.
13158
13159 2011-05-21  Bruno Haible  <bruno@clisp.org>
13160
13161         pread: Move AC_LIBOBJ invocations to module description.
13162         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
13163         * modules/pread (configure.ac): ... to here.
13164
13165 2011-05-21  Bruno Haible  <bruno@clisp.org>
13166
13167         posix_spawn*: Move AC_LIBOBJ invocations to module description.
13168         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
13169         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
13170         * modules/posix_spawn (configure.ac): ... to here.
13171         * modules/posix_spawnp (configure.ac): ... and here.
13172
13173 2011-05-21  Bruno Haible  <bruno@clisp.org>
13174
13175         popen: Move AC_LIBOBJ invocations to module description.
13176         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
13177         invocations from here...
13178         * modules/popen (configure.ac): ... to here.
13179
13180 2011-05-21  Bruno Haible  <bruno@clisp.org>
13181
13182         poll: Move AC_LIBOBJ invocations to module description.
13183         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
13184         invocations from here...
13185         * modules/poll (configure.ac): ... to here.
13186
13187 2011-05-21  Bruno Haible  <bruno@clisp.org>
13188
13189         pipe-posix: Move AC_LIBOBJ invocations to module description.
13190         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
13191         * modules/pipe-posix (configure.ac): ... to here.
13192
13193 2011-05-21  Bruno Haible  <bruno@clisp.org>
13194
13195         openat: Respect rules for use of AC_LIBOBJ.
13196         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
13197         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
13198         * modules/openat (configure.ac): ... to here.
13199
13200 2011-05-21  Bruno Haible  <bruno@clisp.org>
13201
13202         obstack-printf*: Move AC_LIBOBJ invocations to module description.
13203         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
13204         invocation from here...
13205         * modules/obstack-printf (configure.ac): ... to here.
13206         * modules/obstack-printf-posix (configure.ac): ... and here.
13207
13208 2011-05-21  Bruno Haible  <bruno@clisp.org>
13209
13210         nl_langinfo: Move AC_LIBOBJ invocations to module description.
13211         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
13212         from here...
13213         * modules/nl_langinfo (configure.ac): ... to here.
13214
13215 2011-05-21  Bruno Haible  <bruno@clisp.org>
13216
13217         nanosleep: Move AC_LIBOBJ invocations to module description.
13218         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
13219         gl_PREREQ_NANOSLEEP invocations from here...
13220         * modules/nanosleep (configure.ac): ... to here.
13221
13222 2011-05-21  Bruno Haible  <bruno@clisp.org>
13223
13224         mountlist: Move AC_LIBOBJ invocations to module description.
13225         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
13226         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
13227         * modules/mountlist (configure.ac): ... to here.
13228
13229 2011-05-21  Bruno Haible  <bruno@clisp.org>
13230
13231         mktime: Respect rules for use of AC_LIBOBJ.
13232         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
13233         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
13234         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
13235         (gl_FUNC_MKTIME_INTERNAL): ... and here...
13236         * modules/mktime (configure.ac): ... to here.
13237         * modules/mktime-internal (configure.ac): ... and here.
13238         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
13239
13240 2011-05-21  Bruno Haible  <bruno@clisp.org>
13241
13242         mkstemps: Move AC_LIBOBJ invocations to module description.
13243         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
13244         here...
13245         * modules/mkstemps (configure.ac): ... to here.
13246
13247 2011-05-21  Bruno Haible  <bruno@clisp.org>
13248
13249         mkstemp: Move AC_LIBOBJ invocations to module description.
13250         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
13251         gl_PREREQ_MKSTEMP invocations from here...
13252         * modules/mkstemp (configure.ac): ... to here.
13253
13254 2011-05-21  Bruno Haible  <bruno@clisp.org>
13255
13256         mkostemps: Move AC_LIBOBJ invocations to module description.
13257         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
13258         here...
13259         * modules/mkostemps (configure.ac): ... to here.
13260
13261 2011-05-21  Bruno Haible  <bruno@clisp.org>
13262
13263         mkostemp: Move AC_LIBOBJ invocations to module description.
13264         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
13265         gl_PREREQ_MKOSTEMP invocations from here...
13266         * modules/mkostemp (configure.ac): ... to here.
13267
13268 2011-05-21  Bruno Haible  <bruno@clisp.org>
13269
13270         mknod: Move AC_LIBOBJ invocations to module description.
13271         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
13272         * modules/mknod (configure.ac): ... to here.
13273
13274 2011-05-21  Bruno Haible  <bruno@clisp.org>
13275
13276         mkfifoat: Move AC_LIBOBJ invocations to module description.
13277         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
13278         here...
13279         * modules/mkfifoat (configure.ac): ... to here.
13280
13281 2011-05-21  Bruno Haible  <bruno@clisp.org>
13282
13283         mkfifo: Respect rules for use of AC_LIBOBJ.
13284         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
13285         here...
13286         * modules/mkfifo (configure.ac): ... to here.
13287
13288 2011-05-21  Bruno Haible  <bruno@clisp.org>
13289
13290         mkdtemp: Move AC_LIBOBJ invocations to module description.
13291         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
13292         invocations from here...
13293         * modules/mkdtemp (configure.ac): ... to here.
13294
13295 2011-05-21  Bruno Haible  <bruno@clisp.org>
13296
13297         mkdir: Move AC_LIBOBJ invocations to module description.
13298         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
13299         * modules/mkdir (configure.ac): ... to here.
13300
13301 2011-05-21  Bruno Haible  <bruno@clisp.org>
13302
13303         memset: Move AC_LIBOBJ invocations to module description.
13304         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
13305         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
13306         here...
13307         * modules/memset (configure.ac): ... to here.
13308
13309 2011-05-21  Bruno Haible  <bruno@clisp.org>
13310
13311         memrchr: Move AC_LIBOBJ invocations to module description.
13312         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
13313         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
13314         here...
13315         * modules/memrchr (configure.ac): ... to here.
13316
13317 2011-05-21  Bruno Haible  <bruno@clisp.org>
13318
13319         mempcpy: Move AC_LIBOBJ invocations to module description.
13320         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
13321         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
13322         here...
13323         * modules/mempcpy (configure.ac): ... to here.
13324
13325 2011-05-21  Bruno Haible  <bruno@clisp.org>
13326
13327         memmove: Move AC_LIBOBJ invocations to module description.
13328         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
13329         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
13330         here...
13331         * modules/memmove (configure.ac): ... to here.
13332
13333 2011-05-21  Bruno Haible  <bruno@clisp.org>
13334
13335         memmem*: Move AC_LIBOBJ invocations to module description.
13336         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
13337         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
13338         here...
13339         (gl_FUNC_MEMMEM): ... and here...
13340         * modules/memmem-simple (configure.ac): ... to here.
13341         * modules/memmem (configure.ac): ... and here.
13342
13343 2011-05-21  Bruno Haible  <bruno@clisp.org>
13344
13345         memcpy: Move AC_LIBOBJ invocations to module description.
13346         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
13347         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
13348         here...
13349         * modules/memcpy (configure.ac): ... to here.
13350
13351 2011-05-21  Bruno Haible  <bruno@clisp.org>
13352
13353         memcmp: Simplify autoconf macro.
13354         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
13355         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
13356         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
13357
13358 2011-05-21  Bruno Haible  <bruno@clisp.org>
13359
13360         memcmp: Move AC_LIBOBJ invocations to module description.
13361         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
13362         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
13363         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
13364         * modules/memcmp (configure.ac): ... to here.
13365         (Depends-on): Update conditions.
13366
13367 2011-05-21  Bruno Haible  <bruno@clisp.org>
13368
13369         memchr: Respect rules for use of AC_LIBOBJ.
13370         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
13371         invocations from here...
13372         * modules/memchr (configure.ac): ... to here.
13373
13374 2011-05-21  Bruno Haible  <bruno@clisp.org>
13375
13376         mbtowc: Move AC_LIBOBJ invocations to module description.
13377         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
13378         invocations from here...
13379         * modules/mbtowc (configure.ac): ... to here.
13380
13381 2011-05-21  Bruno Haible  <bruno@clisp.org>
13382
13383         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
13384         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
13385         gl_PREREQ_MBSRTOWCS invocations from here...
13386         * modules/mbsrtowcs (configure.ac): ... to here.
13387
13388 2011-05-21  Bruno Haible  <bruno@clisp.org>
13389
13390         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
13391         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
13392         gl_PREREQ_MBSNRTOWCS invocations from here...
13393         * modules/mbsnrtowcs (configure.ac): ... to here.
13394
13395 2011-05-21  Bruno Haible  <bruno@clisp.org>
13396
13397         mbsinit: Move AC_LIBOBJ invocations to module description.
13398         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
13399         invocations from here...
13400         * modules/mbsinit (configure.ac): ... to here.
13401
13402 2011-05-21  Bruno Haible  <bruno@clisp.org>
13403
13404         mbrlen: Move AC_LIBOBJ invocations to module description.
13405         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
13406         invocations from here...
13407         * modules/mbrlen (configure.ac): ... to here.
13408
13409 2011-05-21  Bruno Haible  <bruno@clisp.org>
13410
13411         mbrtowc: Respect rules for use of AC_LIBOBJ.
13412         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
13413         invocations from here...
13414         * modules/mbrtowc (configure.ac): ... to here.
13415
13416 2011-05-21  Bruno Haible  <bruno@clisp.org>
13417
13418         malloc-*: Move AC_LIBOBJ invocations to module description.
13419         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
13420         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
13421         AC_LIBOBJ invocations from here...
13422         * modules/malloc-gnu (configure.ac): ... to here.
13423         * modules/malloc-posix (configure.ac): ... and here.
13424
13425 2011-05-21  Bruno Haible  <bruno@clisp.org>
13426
13427         lstat, openat: Respect rules for use of AC_LIBOBJ.
13428         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
13429         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
13430         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
13431         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
13432         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
13433         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
13434         here.
13435         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
13436
13437 2011-05-21  Bruno Haible  <bruno@clisp.org>
13438
13439         lseek: Move AC_LIBOBJ invocations to module description.
13440         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
13441         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
13442         * modules/lseek (configure.ac): ... to here.
13443
13444 2011-05-21  Bruno Haible  <bruno@clisp.org>
13445
13446         linkat: Move AC_LIBOBJ invocations to module description.
13447         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
13448         here...
13449         * modules/linkat (configure.ac): ... to here.
13450
13451 2011-05-21  Bruno Haible  <bruno@clisp.org>
13452
13453         link: Respect rules for use of AC_LIBOBJ.
13454         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
13455         * modules/link (configure.ac): ... to here.
13456
13457 2011-05-21  Bruno Haible  <bruno@clisp.org>
13458
13459         lchown: Move AC_LIBOBJ invocations to module description.
13460         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
13461         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
13462         * modules/lchown (configure.ac): ... to here.
13463
13464 2011-05-21  Bruno Haible  <bruno@clisp.org>
13465
13466         iswctype: Move AC_LIBOBJ invocations to module description.
13467         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
13468         here...
13469         * modules/iswctype (configure.ac): ... to here.
13470
13471 2011-05-21  Bruno Haible  <bruno@clisp.org>
13472
13473         iswblank: Move AC_LIBOBJ invocations to module description.
13474         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
13475         here...
13476         * modules/iswblank (configure.ac): ... to here.
13477
13478 2011-05-21  Bruno Haible  <bruno@clisp.org>
13479
13480         atanl: Move AC_LIBOBJ invocations to module description.
13481         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
13482         * modules/atanl (configure.ac): ... to here.
13483
13484 2011-05-21  Bruno Haible  <bruno@clisp.org>
13485
13486         acosl: Move AC_LIBOBJ invocations to module description.
13487         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
13488         * modules/acosl (configure.ac): ... to here.
13489
13490 2011-05-21  Bruno Haible  <bruno@clisp.org>
13491
13492         asinl: Respect rules for use of AC_LIBOBJ.
13493         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
13494         * modules/asinl (configure.ac): ... to here.
13495
13496 2011-05-21  Bruno Haible  <bruno@clisp.org>
13497
13498         tanl: Move AC_LIBOBJ invocations to module description.
13499         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
13500         * modules/tanl (configure.ac): ... to here.
13501
13502 2011-05-21  Bruno Haible  <bruno@clisp.org>
13503
13504         cosl: Move AC_LIBOBJ invocations to module description.
13505         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
13506         * modules/cosl (configure.ac): ... to here.
13507
13508 2011-05-21  Bruno Haible  <bruno@clisp.org>
13509
13510         sinl: Move AC_LIBOBJ invocations to module description.
13511         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
13512         * modules/sinl (configure.ac): ... to here.
13513
13514 2011-05-21  Bruno Haible  <bruno@clisp.org>
13515
13516         logl: Move AC_LIBOBJ invocations to module description.
13517         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
13518         * modules/logl (configure.ac): ... to here.
13519
13520 2011-05-21  Bruno Haible  <bruno@clisp.org>
13521
13522         expl: Move AC_LIBOBJ invocations to module description.
13523         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
13524         * modules/expl (configure.ac): ... to here.
13525
13526 2011-05-21  Bruno Haible  <bruno@clisp.org>
13527
13528         roundl: Move AC_LIBOBJ invocations to module description.
13529         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
13530         * modules/roundl (configure.ac): ... to here.
13531
13532 2011-05-21  Bruno Haible  <bruno@clisp.org>
13533
13534         round: Move AC_LIBOBJ invocations to module description.
13535         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
13536         * modules/round (configure.ac): ... to here.
13537
13538 2011-05-21  Bruno Haible  <bruno@clisp.org>
13539
13540         roundf: Move AC_LIBOBJ invocations to module description.
13541         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
13542         * modules/roundf (configure.ac): ... to here.
13543
13544 2011-05-21  Bruno Haible  <bruno@clisp.org>
13545
13546         truncl: Move AC_LIBOBJ invocations to module description.
13547         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
13548         * modules/truncl (configure.ac): ... to here.
13549
13550 2011-05-21  Bruno Haible  <bruno@clisp.org>
13551
13552         trunc: Move AC_LIBOBJ invocations to module description.
13553         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
13554         * modules/trunc (configure.ac): ... to here.
13555
13556 2011-05-21  Bruno Haible  <bruno@clisp.org>
13557
13558         truncf: Move AC_LIBOBJ invocations to module description.
13559         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
13560         * modules/truncf (configure.ac): ... to here.
13561
13562 2011-05-21  Bruno Haible  <bruno@clisp.org>
13563
13564         ceill: Move AC_LIBOBJ invocations to module description.
13565         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
13566         * modules/ceill (configure.ac): ... to here.
13567
13568 2011-05-21  Bruno Haible  <bruno@clisp.org>
13569
13570         ceil: Move AC_LIBOBJ invocations to module description.
13571         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
13572         * modules/ceil (configure.ac): ... to here.
13573
13574 2011-05-21  Bruno Haible  <bruno@clisp.org>
13575
13576         ceilf: Move AC_LIBOBJ invocations to module description.
13577         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
13578         * modules/ceilf (configure.ac): ... to here.
13579
13580 2011-05-21  Bruno Haible  <bruno@clisp.org>
13581
13582         floorl: Respect rules for use of AC_LIBOBJ.
13583         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
13584         * modules/floorl (configure.ac): ... to here.
13585
13586 2011-05-21  Bruno Haible  <bruno@clisp.org>
13587
13588         floor: Respect rules for use of AC_LIBOBJ.
13589         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
13590         * modules/floor (configure.ac): ... to here.
13591
13592 2011-05-21  Bruno Haible  <bruno@clisp.org>
13593
13594         floorf: Move AC_LIBOBJ invocations to module description.
13595         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
13596         * modules/floorf (configure.ac): ... to here.
13597
13598 2011-05-20  Bruno Haible  <bruno@clisp.org>
13599
13600         sqrtl: Respect rules for use of AC_LIBOBJ.
13601         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
13602         * modules/sqrtl (configure.ac): ... to here.
13603
13604 2011-05-20  Bruno Haible  <bruno@clisp.org>
13605
13606         ldexpl: Respect rules for use of AC_LIBOBJ.
13607         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
13608         * modules/ldexpl (configure.ac): ... to here.
13609
13610 2011-05-20  Bruno Haible  <bruno@clisp.org>
13611
13612         frexpl*: Respect rules for use of AC_LIBOBJ.
13613         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
13614         invocation from here...
13615         * modules/frexpl (configure.ac): ... to here.
13616         * modules/frexpl-nolibm (configure.ac): ... and here.
13617
13618 2011-05-20  Bruno Haible  <bruno@clisp.org>
13619
13620         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
13621         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
13622         invocation from here...
13623         * modules/frexp (configure.ac): ... to here.
13624         * modules/frexp-nolibm (configure.ac): ... and here.
13625
13626 2011-05-20  Bruno Haible  <bruno@clisp.org>
13627
13628         isnan: Respect rules for use of AC_LIBOBJ.
13629         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
13630         invocations here.
13631         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
13632         REPLACE_ISNAN.
13633         * modules/isnand (configure.ac): Likewise.
13634         * modules/isnanl (configure.ac): Likewise.
13635
13636 2011-05-20  Bruno Haible  <bruno@clisp.org>
13637
13638         isnanl*: Respect rules for use of AC_LIBOBJ.
13639         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
13640         invocation from here...
13641         * modules/isnanl (configure.ac): ... to here.
13642         * modules/isnanl-nolibm (configure.ac): ... and here.
13643
13644 2011-05-20  Bruno Haible  <bruno@clisp.org>
13645
13646         isnand*: Move AC_LIBOBJ invocations to module description.
13647         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
13648         invocation from here...
13649         * modules/isnand (configure.ac): ... to here.
13650         * modules/isnand-nolibm (configure.ac): ... and here.
13651
13652 2011-05-20  Bruno Haible  <bruno@clisp.org>
13653
13654         isnanf*: Move AC_LIBOBJ invocations to module description.
13655         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
13656         invocation from here...
13657         * modules/isnanf (configure.ac): ... to here.
13658         * modules/isnanf-nolibm (configure.ac): ... and here.
13659
13660 2011-05-20  Bruno Haible  <bruno@clisp.org>
13661
13662         isnan*: Separate the AC_LIBOBJ invocations.
13663         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
13664         AC_LIBOBJ invocation.
13665         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
13666         here.
13667         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
13668         AC_LIBOBJ invocation.
13669         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
13670         here.
13671         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
13672         AC_LIBOBJ invocation.
13673         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
13674         here.
13675         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
13676
13677 2011-05-08  Bruno Haible  <bruno@clisp.org>
13678
13679         isinf: Move AC_LIBOBJ invocations to module description.
13680         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
13681         * modules/isinf (configure.ac): ... to here.
13682
13683 2011-05-08  Bruno Haible  <bruno@clisp.org>
13684
13685         isfinite: Move AC_LIBOBJ invocations to module description.
13686         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
13687         * modules/isfinite (configure.ac): ... to here.
13688
13689 2011-05-08  Bruno Haible  <bruno@clisp.org>
13690
13691         isblank: Move AC_LIBOBJ invocations to module description.
13692         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
13693         here...
13694         * modules/isblank (configure.ac): ... to here.
13695
13696 2011-05-08  Bruno Haible  <bruno@clisp.org>
13697
13698         isapipe: Move AC_LIBOBJ invocations to module description.
13699         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
13700         gl_PREREQ_ISAPIPE invocations from here...
13701         * modules/isapipe (configure.ac): ... to here.
13702         (Depends-on): Update condition.
13703
13704 2011-05-08  Bruno Haible  <bruno@clisp.org>
13705
13706         ioctl: Move AC_LIBOBJ invocations to module description.
13707         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
13708         invocations from here...
13709         * modules/ioctl (configure.ac): ... to here.
13710         (Depends-on): Update condition.
13711
13712 2011-05-08  Bruno Haible  <bruno@clisp.org>
13713
13714         imaxdiv: Move AC_LIBOBJ invocations to module description.
13715         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
13716         invocations from here...
13717         * modules/imaxdiv (configure.ac): ... to here.
13718
13719 2011-05-08  Bruno Haible  <bruno@clisp.org>
13720
13721         imaxabs: Move AC_LIBOBJ invocations to module description.
13722         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
13723         invocations from here...
13724         * modules/imaxabs (configure.ac): ... to here.
13725
13726 2011-05-08  Bruno Haible  <bruno@clisp.org>
13727
13728         getaddrinfo: Move AC_LIBOBJ invocations to module description.
13729         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
13730         AC_LIBOBJ invocations from here...
13731         * modules/getaddrinfo (configure.ac): ... to here.
13732         (Depends-on): Add conditions.
13733
13734 2011-05-08  Bruno Haible  <bruno@clisp.org>
13735
13736         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
13737         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
13738         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
13739         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
13740         (gl_PREREQ_INET_PTON): ... from here.
13741         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
13742         gl_PREREQ_INET_PTON here.
13743         (Depends-on): Update condition.
13744
13745 2011-05-08  Bruno Haible  <bruno@clisp.org>
13746
13747         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
13748         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
13749         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
13750         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
13751         (gl_PREREQ_INET_NTOP): ... from here.
13752         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
13753         gl_PREREQ_INET_NTOP here.
13754         (Depends-on): Update condition.
13755
13756 2011-05-08  Bruno Haible  <bruno@clisp.org>
13757
13758         iconv_open: Move AC_LIBOBJ invocations to module description.
13759         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
13760         AC_LIBOBJ invocations from here...
13761         * modules/iconv_open (configure.ac): ... to here.
13762
13763 2011-05-08  Bruno Haible  <bruno@clisp.org>
13764
13765         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
13766         If module 'iconv_open' is among the main modules and module
13767         'iconv_open-utf' is among the tests dependencies, then
13768         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
13769         return the special iconv_t values. Therefore iconv() and iconv_close()
13770         must support these special iconv_t values, already in lib, not only in
13771         tests.
13772         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
13773         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
13774         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
13775         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
13776         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
13777         (Depends-on): Add the dependencies of iconv_open-utf.
13778         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
13779         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
13780         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
13781
13782 2011-05-08  Bruno Haible  <bruno@clisp.org>
13783
13784         group-member: Move AC_LIBOBJ invocations to module description.
13785         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
13786         gl_PREREQ_GROUP_MEMBER invocations from here...
13787         * modules/group-member (configure.ac): ... to here.
13788
13789 2011-05-08  Bruno Haible  <bruno@clisp.org>
13790
13791         grantpt: Move AC_LIBOBJ invocations to module description.
13792         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
13793         invocations from here...
13794         * modules/grantpt (configure.ac): ... to here.
13795
13796 2011-05-08  Bruno Haible  <bruno@clisp.org>
13797
13798         glob: Move AC_LIBOBJ invocations to module description.
13799         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
13800         from here...
13801         * modules/glob (configure.ac): ... to here.
13802
13803 2011-05-08  Bruno Haible  <bruno@clisp.org>
13804
13805         getusershell: Move AC_LIBOBJ invocations to module description.
13806         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
13807         Move AC_LIBOBJ invocation from here...
13808         * modules/getusershell (configure.ac): ... to here.
13809         (Depends-on): Update condition.
13810
13811 2011-05-08  Bruno Haible  <bruno@clisp.org>
13812
13813         gettimeofday: Move AC_LIBOBJ invocations to module description.
13814         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
13815         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
13816         gl_PREREQ_GETTIMEOFDAY invocations from here...
13817         * modules/gettimeofday (configure.ac): ... to here.
13818
13819 2011-05-08  Bruno Haible  <bruno@clisp.org>
13820
13821         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
13822         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
13823         just gl_FUNC_TZSET.
13824         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
13825         (gl_FUNC_TZSET_CLOBBER): Remove actions.
13826         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
13827         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
13828
13829 2011-05-08  Bruno Haible  <bruno@clisp.org>
13830
13831         getsubopt: Move AC_LIBOBJ invocations to module description.
13832         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
13833         gl_PREREQ_GETSUBOPT invocations from here...
13834         * modules/getsubopt (configure.ac): ... to here.
13835
13836 2011-05-08  Bruno Haible  <bruno@clisp.org>
13837
13838         getpass-gnu: Move AC_LIBOBJ invocations to module description.
13839         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
13840         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
13841         * modules/getpass-gnu (configure.ac): ... to here.
13842
13843 2011-05-08  Bruno Haible  <bruno@clisp.org>
13844
13845         getpass: Move AC_LIBOBJ invocations to module description.
13846         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
13847         gl_PREREQ_GETPASS invocations from here...
13848         * modules/getpass (configure.ac): ... to here.
13849
13850 2011-05-08  Bruno Haible  <bruno@clisp.org>
13851
13852         getpagesize: Move AC_LIBOBJ invocations to module description.
13853         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
13854         from here...
13855         * modules/getpagesize (configure.ac): ... to here.
13856
13857 2011-05-08  Bruno Haible  <bruno@clisp.org>
13858
13859         getopt: Move AC_LIBOBJ invocations to module description.
13860         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
13861         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
13862         invocations from here...
13863         * modules/getopt-gnu (configure.ac): ... to here.
13864         * modules/getopt-posix (configure.ac): ... and here.
13865         (Depends-on): Update condition.
13866
13867 2011-05-08  Bruno Haible  <bruno@clisp.org>
13868
13869         getopt, argp: Respect rules for use of AC_LIBOBJ.
13870         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
13871         (gl_REPLACE_GETOPT_ALWAYS): New macro.
13872         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
13873         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
13874
13875 2011-05-08  Bruno Haible  <bruno@clisp.org>
13876
13877         getlogin_r: Move AC_LIBOBJ invocations to module description.
13878         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
13879         gl_PREREQ_GETLOGIN_R invocations from here...
13880         * modules/getlogin_r (configure.ac): ... to here.
13881
13882 2011-05-08  Bruno Haible  <bruno@clisp.org>
13883
13884         getlogin: Move AC_LIBOBJ invocations to module description.
13885         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
13886         here...
13887         * modules/getlogin (configure.ac): ... to here.
13888
13889 2011-05-08  Bruno Haible  <bruno@clisp.org>
13890
13891         getloadavg: Move AC_LIBOBJ invocations to module description.
13892         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
13893         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
13894         * modules/getloadavg (configure.ac): ... to here.
13895
13896 2011-05-08  Bruno Haible  <bruno@clisp.org>
13897
13898         gethrxtime: Move AC_LIBOBJ invocations to module description.
13899         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
13900         LIB_GETHRXTIME from here...
13901         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
13902         invocations from here...
13903         * modules/gethrxtime (configure.ac): ... to here.
13904
13905 2011-05-08  Bruno Haible  <bruno@clisp.org>
13906
13907         gethostname: Move AC_LIBOBJ invocations to module description.
13908         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
13909         gl_PREREQ_GETHOSTNAME invocations from here...
13910         * modules/gethostname (configure.ac): ... to here.
13911
13912 2011-05-08  Bruno Haible  <bruno@clisp.org>
13913
13914         getgroups: Move AC_LIBOBJ invocations to module description.
13915         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
13916         here...
13917         * modules/getgroups (configure.ac): ... to here.
13918
13919 2011-05-08  Bruno Haible  <bruno@clisp.org>
13920
13921         getdtablesize: Move AC_LIBOBJ invocations to module description.
13922         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
13923         invocation from here...
13924         * modules/getdtablesize (configure.ac): ... to here.
13925
13926 2011-05-08  Bruno Haible  <bruno@clisp.org>
13927
13928         getdomainname: Move AC_LIBOBJ invocations to module description.
13929         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
13930         gl_PREREQ_GETDOMAINNAME invocations from here...
13931         * modules/getdomainname (configure.ac): ... to here.
13932
13933 2011-05-08  Bruno Haible  <bruno@clisp.org>
13934
13935         getline: Move AC_LIBOBJ invocations to module description.
13936         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
13937         invocations from here...
13938         * modules/getline (configure.ac): ... to here.
13939
13940 2011-05-08  Bruno Haible  <bruno@clisp.org>
13941
13942         getline: Simplify.
13943         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
13944         It's already handled through the module dependency.
13945
13946 2011-05-08  Bruno Haible  <bruno@clisp.org>
13947
13948         getdelim: Move AC_LIBOBJ invocations to module description.
13949         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
13950         and gl_PREREQ_GETDELIM invocations from here...
13951         * modules/getdelim (configure.ac): ... to here.
13952         (Depends-on): Fix condition.
13953
13954 2011-05-08  Bruno Haible  <bruno@clisp.org>
13955
13956         getcwd: Move AC_LIBOBJ invocations to module description.
13957         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
13958         invocations from here...
13959         * modules/getcwd (configure.ac): ... to here.
13960
13961 2011-05-08  Bruno Haible  <bruno@clisp.org>
13962
13963         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
13964         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
13965         here...
13966         * modules/getcwd-lgpl (configure.ac): ... to here.
13967
13968 2011-05-07  Bruno Haible  <bruno@clisp.org>
13969
13970         crypto/gc: Move AC_LIBOBJ invocations to module description.
13971         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
13972         * modules/crypto/gc (configure.ac): ... to here.
13973
13974 2011-05-07  Bruno Haible  <bruno@clisp.org>
13975
13976         fwriting: Move AC_LIBOBJ invocations to module description.
13977         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
13978         here...
13979         * modules/fwriting (configure.ac): ... to here.
13980
13981 2011-05-07  Bruno Haible  <bruno@clisp.org>
13982
13983         fwritable: Move AC_LIBOBJ invocations to module description.
13984         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
13985         here...
13986         * modules/fwritable (configure.ac): ... to here.
13987
13988 2011-05-07  Bruno Haible  <bruno@clisp.org>
13989
13990         futimens: Move AC_LIBOBJ invocations to module description.
13991         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
13992         here...
13993         * modules/futimens (configure.ac): ... to here.
13994
13995 2011-05-07  Bruno Haible  <bruno@clisp.org>
13996
13997         ftruncate: Move AC_LIBOBJ invocations to module description.
13998         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
13999         gl_PREREQ_FTRUNCATE invocations from here...
14000         * modules/ftruncate (configure.ac): ... to here.
14001
14002 2011-05-07  Bruno Haible  <bruno@clisp.org>
14003
14004         fsync: Move AC_LIBOBJ invocations to module description.
14005         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
14006         invocations from here...
14007         * modules/fsync (configure.ac): ... to here.
14008
14009 2011-05-07  Bruno Haible  <bruno@clisp.org>
14010
14011         fsusage: Move AC_LIBOBJ invocations to module description.
14012         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
14013         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
14014         * modules/fsusage (configure.ac): ... to here.
14015
14016 2011-05-07  Bruno Haible  <bruno@clisp.org>
14017
14018         freopen: Move AC_LIBOBJ invocations to module description.
14019         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
14020         invocations from here...
14021         * modules/freopen (configure.ac): ... to here.
14022
14023 2011-05-07  Bruno Haible  <bruno@clisp.org>
14024
14025         free: Move AC_LIBOBJ invocations to module description.
14026         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
14027         invocations from here...
14028         * modules/free (configure.ac): ... to here.
14029
14030 2011-05-07  Bruno Haible  <bruno@clisp.org>
14031
14032         freadable: Move AC_LIBOBJ invocations to module description.
14033         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
14034         here...
14035         * modules/freadable (configure.ac): ... to here.
14036
14037 2011-05-07  Bruno Haible  <bruno@clisp.org>
14038
14039         fpurge: Move AC_LIBOBJ invocations to module description.
14040         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
14041         invocations from here...
14042         * modules/fpurge (configure.ac): ... to here.
14043
14044 2011-05-07  Bruno Haible  <bruno@clisp.org>
14045
14046         fpending: Move AC_LIBOBJ invocations to module description.
14047         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
14048         gl_FUNC_FPENDING.
14049         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
14050         invocations from here...
14051         * modules/fpending (configure.ac): ... to here.
14052
14053 2011-05-07  Bruno Haible  <bruno@clisp.org>
14054
14055         fopen: Move AC_LIBOBJ invocations to module description.
14056         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
14057         invocations from here...
14058         * modules/fopen (configure.ac): ... to here.
14059
14060 2011-05-07  Bruno Haible  <bruno@clisp.org>
14061
14062         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
14063         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
14064         gl_FUNC_FNMATCH_POSIX.
14065         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
14066         invocations from here...
14067         * modules/fnmatch (configure.ac): ... to here.
14068         * modules/fnmatch-gnu (configure.ac): ... and here.
14069
14070 2011-05-07  Bruno Haible  <bruno@clisp.org>
14071
14072         flock: Move AC_LIBOBJ invocations to module description.
14073         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
14074         invocations from here...
14075         * modules/flock (configure.ac): ... to here.
14076
14077 2011-05-07  Bruno Haible  <bruno@clisp.org>
14078
14079         fileblocks: Move AC_LIBOBJ invocations to module description.
14080         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
14081         gl_PREREQ_FILEBLOCKS invocations from here...
14082         * modules/fileblocks (configure.ac): ... to here.
14083
14084 2011-05-06  Bruno Haible  <bruno@clisp.org>
14085
14086         fflush: Move AC_LIBOBJ invocations to module description.
14087         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
14088         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
14089         invocations from here...
14090         * modules/fflush (configure.ac): ... to here.
14091
14092 2011-05-06  Bruno Haible  <bruno@clisp.org>
14093
14094         fdopendir: Move AC_LIBOBJ invocations to module description.
14095         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
14096         here...
14097         * modules/fdopendir (configure.ac): ... to here.
14098         (Depends-on): Improve conditions.
14099
14100 2011-05-06  Bruno Haible  <bruno@clisp.org>
14101
14102         _Exit: Move AC_LIBOBJ invocations to module description.
14103         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
14104         invocations from here...
14105         * modules/_Exit (configure.ac): ... to here.
14106
14107 2011-05-21  Bruno Haible  <bruno@clisp.org>
14108
14109         euidaccess: Respect rules for use of AC_LIBOBJ.
14110         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
14111         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
14112         from here...
14113         * modules/euidaccess (configure.ac): ... to here.
14114
14115 2011-05-06  Bruno Haible  <bruno@clisp.org>
14116
14117         error: Move AC_LIBOBJ invocations to module description.
14118         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
14119         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
14120         invocations from here...
14121         * modules/error (configure.ac): ... to here.
14122
14123 2011-05-06  Bruno Haible  <bruno@clisp.org>
14124
14125         duplocale: Move AC_LIBOBJ invocations to module description.
14126         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
14127         gl_PREREQ_DUPLOCALE invocations from here...
14128         * modules/duplocale (configure.ac): ... to here.
14129
14130 2011-05-05  Bruno Haible  <bruno@clisp.org>
14131
14132         dirfd: Move AC_LIBOBJ invocations to module description.
14133         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
14134         gl_FUNC_DIRFD.
14135         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
14136         here...
14137         * modules/dirfd (configure.ac): ... to here.
14138         (Depends-on): Fix condition.
14139
14140 2011-05-05  Bruno Haible  <bruno@clisp.org>
14141
14142         chown: Respect rules for use of AC_LIBOBJ.
14143         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
14144         * modules/chown (configure.ac): ... to here.
14145
14146 2011-05-05  Bruno Haible  <bruno@clisp.org>
14147
14148         chdir-long: Move AC_LIBOBJ invocations to module description.
14149         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
14150         gl_PREREQ_CHDIR_LONG invocations from here...
14151         * modules/chdir-long (configure.ac): ... to here.
14152
14153 2011-05-05  Bruno Haible  <bruno@clisp.org>
14154
14155         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
14156         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
14157         from here...
14158         * modules/canonicalize-lgpl (configure.ac): ... to here.
14159
14160 2011-05-05  Bruno Haible  <bruno@clisp.org>
14161
14162         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
14163         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
14164         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
14165         REPLACE_CALLOC.
14166         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
14167         * modules/calloc-gnu (configure.ac): Likewise.
14168
14169 2011-05-05  Bruno Haible  <bruno@clisp.org>
14170
14171         btowc: Move AC_LIBOBJ invocations to module description.
14172         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
14173         invocations from here...
14174         * modules/btowc (configure.ac): ... to here.
14175
14176 2011-05-21  Bruno Haible  <bruno@clisp.org>
14177
14178         atexit: Move AC_LIBOBJ invocations to module description.
14179         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
14180         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
14181         here...
14182         * modules/atexit (configure.ac): ... to here.
14183
14184 2011-05-05  Bruno Haible  <bruno@clisp.org>
14185
14186         atoll: Move AC_LIBOBJ invocations to module description.
14187         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
14188         invocations from here...
14189         * modules/atoll (configure.ac): ... to here.
14190
14191 2011-05-05  Bruno Haible  <bruno@clisp.org>
14192
14193         argz: Move AC_LIBOBJ invocations to module description.
14194         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
14195         * modules/argz (configure.ac): ... to here.
14196
14197 2011-05-05  Bruno Haible  <bruno@clisp.org>
14198
14199         alphasort: Move AC_LIBOBJ invocations to module description.
14200         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
14201         gl_PREREQ_ALPHASORT invocations from here...
14202         * modules/alphasort (configure.ac): ... to here.
14203
14204 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
14205
14206         verify: new macro verify_expr; verify_true deprecated
14207         * NEWS: Mention this.
14208         * doc/verify.texi (Compile-time Assertions): Document this.
14209         * lib/verify.h (verify_true): Deprecate.
14210         (verify_expr): New macro.
14211         * tests/test-verify.c (function): Test verify_expr.
14212
14213 2011-06-14  Jim Meyering  <meyering@redhat.com>
14214
14215         init.sh: give more portable redirection-related advice in a comment
14216         * tests/init.sh (stderr_fileno_): Update the advice in comments.
14217         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
14218         for lots of discussion.  Stefano Lattarini suggested the solution
14219         of putting "9>&2" after the command.  Reported by Bruno Haible.
14220
14221 2011-06-13  Bruno Haible  <bruno@clisp.org>
14222
14223         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
14224         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
14225         'none'.
14226
14227 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
14228
14229         ftoastr: use strtof only if HAVE_STRTOF
14230         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
14231         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
14232         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
14233         * modules/ftoastr (configure.ac): Check for strtof.
14234
14235 2011-06-13  Bruno Haible  <bruno@clisp.org>
14236
14237         gnulib-tool: Addendum to 2011-06-08 commit.
14238         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
14239         and --witness-c-macro have been given, augment AM_CPPFLAGS.
14240
14241 2011-06-13  Bruno Haible  <bruno@clisp.org>
14242
14243         fseeko: Provide a non-inline replacement of fseek().
14244         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
14245         * modules/fseeko (Depends-on): Add fseek.
14246         * modules/fseek (License): Change to LGPLv2+.
14247
14248 2011-06-13  Bruno Haible  <bruno@clisp.org>
14249
14250         ftello: Provide a non-inline replacement of ftell().
14251         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
14252         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
14253         not have ftello() (such as on mingw).
14254         * modules/ftello (Depends-on): Add ftell.
14255         * modules/ftell (License): Change to LGPLv2+.
14256
14257 2011-05-07  Bruno Haible  <bruno@clisp.org>
14258
14259         ftell: Move AC_LIBOBJ invocations to module description.
14260         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
14261         * modules/ftell (configure.ac): ... to here.
14262
14263 2011-05-07  Bruno Haible  <bruno@clisp.org>
14264
14265         ftello: Respect rules for use of AC_LIBOBJ.
14266         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
14267         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
14268         here...
14269         * modules/ftello (configure.ac): ... to here.
14270
14271 2011-05-07  Bruno Haible  <bruno@clisp.org>
14272
14273         fseeko: Simplify.
14274         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
14275         (gl_FUNC_FSEEKO): Inline it here.
14276
14277 2011-05-07  Bruno Haible  <bruno@clisp.org>
14278
14279         fseek: Move AC_LIBOBJ invocations to module description.
14280         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
14281         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
14282         * modules/fseek (configure.ac): ... to here.
14283
14284 2011-05-07  Bruno Haible  <bruno@clisp.org>
14285
14286         fseek: Respect rules for use of AC_LIBOBJ.
14287         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
14288         here...
14289         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
14290
14291 2011-05-07  Bruno Haible  <bruno@clisp.org>
14292
14293         fseeko: Respect rules for use of AC_LIBOBJ.
14294         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
14295         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
14296         here...
14297         * modules/fseeko (configure.ac): ... to here.
14298
14299 2011-06-13  Bruno Haible  <bruno@clisp.org>
14300
14301         gnulib-tool: Allow comments in the 'Depends-on' section.
14302         * doc/gnulib.texi (Module description): Mention comment syntax in the
14303         Depends-on section.
14304         * gnulib-tool (func_get_dependencies): Filter out comment lines.
14305
14306 2011-06-13  Bruno Haible  <bruno@clisp.org>
14307
14308         file-set.h: guard __attibute__ use, now that it's not always defined
14309         * lib/file-set.h (record_file): Use __attribute__ only with compiler
14310         versions that support it.  This fixes a coreutils build failure with
14311         the vendor cc on HP-UX 11.31.
14312
14313 2011-06-12  Bruno Haible  <bruno@clisp.org>
14314
14315         acl: Add support for HP-UX >= 11.11 JFS ACLs.
14316         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
14317         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
14318         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
14319         (acl, aclsort): New declarations.
14320         (aclv_nontrivial): New declaration.
14321         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
14322         (file_has_acl): Read also the second kind of HP-UX ACLs.
14323         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
14324         kind of HP-UX ACLs if the first kind fails.
14325         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
14326         second kind of HP-UX ACLs.
14327         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
14328         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
14329         agree.
14330         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
14331         hpuxjfs.
14332         Handle hpuxjfs.
14333         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
14334         hpuxjfs.
14335         Handle hpuxjfs.
14336         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
14337         (func_test_same_acls): Use both lsacl and getacl.
14338         Handle hpuxjfs.
14339         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
14340         (func_test_same_acls): Use both lsacl and getacl.
14341         Handle hpuxjfs.
14342
14343 2011-06-12  Bruno Haible  <bruno@clisp.org>
14344
14345         acl: Complete the 2010-08-10 fix.
14346         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
14347         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
14348         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
14349         explicitly.
14350         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
14351         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
14352
14353 2011-06-12  Bruno Haible  <bruno@clisp.org>
14354
14355         spawn-pipe tests: Comments.
14356         * tests/test-spawn-pipe-child.c (main): Update comment.
14357         Reported by James Youngman <jay@gnu.org>.
14358
14359 2011-06-11  James Youngman  <jay@gnu.org>
14360
14361         New module 'stat-size'.
14362         * modules/stat-size: New module.  Provides macros for accessing
14363         file size information in instances of struct stat.  Depends on the
14364         fileblocks module because it calls st_blocks.
14365         * lib/stat-size.h: New file, adapted from coreutils' system.h.
14366         * doc/gnulib.texi: Include stat-size.texi.
14367         * doc/stat-size.texi: Documentation for this module.
14368         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
14369         * m4/fileblocks.m4: Mention that stat-size depends on the call to
14370         AC_STRUCT_ST_BLOCKS.
14371
14372 2011-06-09  Bruno Haible  <bruno@clisp.org>
14373
14374         thread: Support pthreads-win32.
14375         * lib/glthread/thread.h (gl_thread_self): Define differently on
14376         pthreads-win32.
14377         (gl_null_thread): New declaration.
14378         (gl_thread_self_pointer): New macro.
14379         * lib/glthread/thread.c (gl_null_thread): New constant.
14380         * tests/test-lock.c: Use gl_thread_self_pointer instead of
14381         gl_thread_self.
14382         * tests/test-tls.c: Likewise.
14383         Suggested by Paul Eggert. Reported by Eric Blake.
14384
14385 2011-06-09  Bruno Haible  <bruno@clisp.org>
14386
14387         thread: Fix confusion between NULL and 0.
14388         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
14389         Reported by Paul Eggert.
14390
14391 2011-06-09  Bruno Haible  <bruno@clisp.org>
14392
14393         spawn-pipe tests: Avoid test failure on HP-UX 11.
14394         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
14395         is closed.
14396
14397 2011-06-09  Bruno Haible  <bruno@clisp.org>
14398
14399         acl tests: Fix compilation error on HP-UX 11.
14400         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
14401
14402 2011-06-09  Bruno Haible  <bruno@clisp.org>
14403
14404         rmdir: Avoid test failure on HP-UX 10.20.
14405         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
14406         EEXIST.
14407
14408 2011-06-08  Eric Blake  <eblake@redhat.com>
14409
14410         perror: fix test on mingw
14411         * modules/perror-tests (Depends-on): Add dup2.
14412
14413         strerror_r-posix: fix on MacOS
14414         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
14415         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
14416         logic bug.
14417         * lib/strerror_r.c (strerror_r): Fix the bug.
14418         * lib/strerror.c (strerror): Likewise.
14419         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
14420         problem.
14421         * doc/posix-functions/strerror.texi (strerror): Likewise.
14422         * doc/posix-functions/perror.texi (perror): Likewise.
14423         * tests/test-strerror.c (main): Enhance test.
14424         * tests/test-strerror_r.c (main): Likewise.
14425
14426 2011-06-08  Bruno Haible  <bruno@clisp.org>
14427
14428         gnulib-tool: Better isolation between different gnulib-tool invocations.
14429         * gnulib-tool: New option --witness-c-macro.
14430         (witness_c_macro): New variable.
14431         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
14432         AM_CPPFLAGS define it as a C macro.
14433         (func_emit_tests_Makefile_am): Likewise.
14434         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
14435         read it from there.
14436         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
14437         m4_define, not AC_DEFUN.
14438         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
14439         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
14440         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
14441         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
14442         s|...|...|, to substitute the values of the GNULIB_* module indicator
14443         variables.
14444         * modules/dirent (Makefile.am): Likewise.
14445         * modules/fcntl-h (Makefile.am): Likewise.
14446         * modules/iconv-h (Makefile.am): Likewise.
14447         * modules/langinfo (Makefile.am): Likewise.
14448         * modules/locale (Makefile.am): Likewise.
14449         * modules/math (Makefile.am): Likewise.
14450         * modules/netdb (Makefile.am): Likewise.
14451         * modules/poll-h (Makefile.am): Likewise.
14452         * modules/pty (Makefile.am): Likewise.
14453         * modules/search (Makefile.am): Likewise.
14454         * modules/signal (Makefile.am): Likewise.
14455         * modules/spawn (Makefile.am): Likewise.
14456         * modules/stdio (Makefile.am): Likewise.
14457         * modules/stdlib (Makefile.am): Likewise.
14458         * modules/string (Makefile.am): Likewise.
14459         * modules/sys_ioctl (Makefile.am): Likewise.
14460         * modules/sys_select (Makefile.am): Likewise.
14461         * modules/sys_socket (Makefile.am): Likewise.
14462         * modules/sys_stat (Makefile.am): Likewise.
14463         * modules/sys_times (Makefile.am): Likewise.
14464         * modules/sys_utsname (Makefile.am): Likewise.
14465         * modules/sys_wait (Makefile.am): Likewise.
14466         * modules/termios (Makefile.am): Likewise.
14467         * modules/time (Makefile.am): Likewise.
14468         * modules/unistd (Makefile.am): Likewise.
14469         * modules/wchar (Makefile.am): Likewise.
14470
14471 2011-06-08  Eric Blake  <eblake@redhat.com>
14472
14473         strerror: simplify replacement
14474         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
14475         * modules/strerror (configure.ac): No prereqs needed here...
14476         * modules/strerror-override (configure.ac): ...but this needs it.
14477         (Files): Add file for needed prereq macro.
14478
14479 2011-06-08  Bruno Haible  <bruno@clisp.org>
14480
14481         strerror_r-posix: Tweaks.
14482         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
14483         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
14484         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
14485         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
14486         (gl_FUNC_STRERROR_R): ... to here.
14487         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
14488
14489 2011-06-07  Eric Blake  <eblake@redhat.com>
14490
14491         perror: document fixed bugs
14492         * doc/posix-functions/perror.texi (perror): Document recent
14493         patches.
14494
14495 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
14496
14497         stat-time: get_stat_birthtime failure is better-defined
14498         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
14499         return a timestamp whose tv_sec and tv_nsec values are both -1.
14500         Previously, the spec said only that the tv_nsec value was negative.
14501         This upward-compatible change simplifies GNU tar a bit.
14502
14503 2011-06-07  Eric Blake  <eblake@redhat.com>
14504
14505         strerror_r-posix: work around cygwin 1.7.9
14506         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
14507         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
14508         bug without replacing strerror_r.
14509         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
14510         strerror_r is buggy, but without requiring strerror_r compilation.
14511         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
14512
14513         test-perror: relax test to ignore cygwin bug
14514         * tests/test-perror2.c (main): Relax test on requiring detection
14515         of stream errors, and use unbuffered stream.
14516         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
14517         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
14518         * doc/posix-functions/fputc.texi (fputc): Likewise.
14519         * doc/posix-functions/fputs.texi (fputs): Likewise.
14520         * doc/posix-functions/fputws.texi (fputws): Likewise.
14521         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
14522         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
14523         * doc/posix-functions/getopt.texi (getopt): Likewise.
14524         * doc/posix-functions/perror.texi (perror): Likewise.
14525         * doc/posix-functions/printf.texi (printf): Likewise.
14526         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
14527         * doc/posix-functions/psignal.texi (psignal): Likewise.
14528         * doc/posix-functions/putc.texi (putc): Likewise.
14529         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
14530         Likewise.
14531         * doc/posix-functions/putchar.texi (putchar): Likewise.
14532         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
14533         Likewise.
14534         * doc/posix-functions/puts.texi (puts): Likewise.
14535         * doc/posix-functions/putwc.texi (putwc): Likewise.
14536         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
14537         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
14538         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
14539         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
14540         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
14541         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
14542         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
14543         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
14544
14545 2011-05-22  Bruno Haible  <bruno@clisp.org>
14546
14547         strerror: Move AC_LIBOBJ invocations to module description.
14548         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
14549         gl_PREREQ_STRERROR invocations from here...
14550         * modules/strerror (configure.ac): ... to here.
14551
14552 2011-05-21  Bruno Haible  <bruno@clisp.org>
14553
14554         perror: Use common idiom.
14555         * modules/perror (configure.ac): Reorder statements.
14556
14557 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
14558
14559         tests: fix usage message in 'mktempd_'
14560         * tests/init.sh (mktempd_): In the usage message, use literal
14561         'mktempd_', not '$ME' (which is even undefined), as the name of
14562         the subroutine.
14563
14564 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
14565
14566         tests init: new function 'fatal_', for hard errors
14567         Before this patch, the only way offered by tests/init.sh to
14568         properly signal a hard error was the `framework_failure_'
14569         function.  But the error message issued by that function,
14570         as its name would suggest, refers to a set-up failure in the
14571         testsuite, while hard errors can obviously also be due to
14572         other reasons.  The best way to fix this inconsistency is to
14573         introduce a new function with a more general error message.
14574         * tests/init.sh (fatal_): New function.
14575
14576 2011-06-06  Eric Blake  <eblake@redhat.com>
14577
14578         canonicalize-lgpl: use common idiom
14579         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
14580         over newer POSIX -Rf.
14581         Reported by Bruno Haible.
14582
14583         canonicalize-lgpl: work around AIX realpath bug
14584         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
14585         * doc/posix-functions/realpath.texi (realpath): Document it.
14586         Reported by Bruno Haible.
14587
14588         strerror: work around FreeBSD bug
14589         * lib/strerror.c (strerror): Special case 0.
14590         Reported by Bruno Haible.
14591
14592         strerror-override: avoid bloating errno module
14593         * modules/errno (Files, configure.ac): Move replacement strings...
14594         * modules/strerror-override: ...to new module.
14595         * modules/strerror (Depends-on): Add strerror-override.
14596         * modules/strerror_r-posix (Depends-on): Likewise.
14597         * MODULES.html.sh: Document new module.
14598         Reported by Bruno Haible.
14599
14600 2011-06-06  Bruno Haible  <bruno@clisp.org>
14601
14602         spawn-pipe tests: Rename program.
14603         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
14604         * tests/test-spawn-pipe-child.c: Update comment.
14605         * tests/test-spawn-pipe.sh: Update.
14606         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
14607
14608         spawn-pipe tests: Link the child program only against libc.
14609         * tests/test-spawn-pipe-child.c: New file, extracted from
14610         tests/test-spawn-pipe.c.
14611         (main): Expect only one argument.
14612         (is_open): New function, copied from tests/test-pipe.c.
14613         * tests/test-spawn-pipe.c: Don't include <errno.h>.
14614         (child_main): Remove function.
14615         (test_pipe): Pass only one argument to the child program.
14616         (main): Remove child process code. Expect the child program's name as
14617         first argument.
14618         * tests/test-spawn-pipe.sh: Pass the child program's name as first
14619         argument.
14620         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
14621         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
14622         test-spawn-pipe-child against no libraries.
14623
14624 2011-06-06  Bruno Haible  <bruno@clisp.org>
14625
14626         careadlinkat: Avoid mismatch between ssize_t and int.
14627         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
14628         * lib/careadlinkat.c (careadlinkatcwd): Define always.
14629
14630 2011-06-06  Jim Meyering  <meyering@redhat.com>
14631
14632         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
14633         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
14634         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
14635
14636 2011-06-05  Bruno Haible  <bruno@clisp.org>
14637
14638         ansi-c++-opt: Interoperability with libtool.
14639         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
14640         set the variable to "no", not to ":".
14641         * NEWS: Mention the change.
14642
14643 2011-06-05  Bruno Haible  <bruno@clisp.org>
14644
14645         acl: Fix test failure on AIX 7.
14646         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
14647         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
14648
14649 2011-06-05  Bruno Haible  <bruno@clisp.org>
14650
14651         pipe-filter-ii: Fix test failure on AIX and IRIX.
14652         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
14653         with EAGAIN, retry with a smaller buffer size.
14654
14655 2011-06-05  Bruno Haible  <bruno@clisp.org>
14656
14657         localename: Fix link dependencies.
14658         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
14659         * modules/localename-tests (Makefile.am): Link test-localename with
14660         $(LIBTHREAD).
14661
14662 2011-06-05  Bruno Haible  <bruno@clisp.org>
14663
14664         error: Avoid gcc warning.
14665         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
14666
14667 2011-06-05  Bruno Haible  <bruno@clisp.org>
14668
14669         unsetenv: Avoid gcc warning.
14670         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
14671
14672 2011-06-05  Bruno Haible  <bruno@clisp.org>
14673
14674         setenv: Avoid gcc warning.
14675         * lib/setenv.c (setenv): Provide declaration if system lacks it.
14676
14677 2011-06-05  Bruno Haible  <bruno@clisp.org>
14678
14679         sys_select: Ensure memset is declared also on AIX 7.
14680         * lib/sys_select.in.h: Include <string.h> also on AIX.
14681         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
14682         self-contained also on AIX 7.1.
14683
14684 2011-06-04  Jim Meyering  <meyering@redhat.com>
14685
14686         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
14687         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
14688         function name, "error".
14689         (_gl_translatable_diag_func_re): New configurable variable.
14690
14691 2011-06-04  Bruno Haible  <bruno@clisp.org>
14692
14693         getopt: Avoid gcc warning.
14694         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
14695
14696 2011-06-04  Bruno Haible  <bruno@clisp.org>
14697
14698         strerror_r: Fix comments.
14699         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
14700         commit.
14701
14702 2011-06-04  Bruno Haible  <bruno@clisp.org>
14703
14704         perror: Fix compilation error.
14705         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
14706         Undefine fprintf, not sprintf.
14707         * modules/perror (Depends-on): Remove intprops, verify.
14708
14709 2011-06-04  Bruno Haible  <bruno@clisp.org>
14710
14711         setlocale: Enable replacement on Cygwin 1.5.
14712         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
14713         Cygwin 1.5.x.
14714         * doc/posix-functions/setlocale.texi: Mention that the problem with the
14715         LC_CTYPE category also exists on Cygwin 1.5.x.
14716
14717 2011-06-04  Bruno Haible  <bruno@clisp.org>
14718
14719         strerror-override: Don't disable symbol renamings.
14720         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
14721         * lib/strerror-override.c: Include config.h.
14722         (strerror_override): Don't undefine.
14723
14724 2011-06-03  Bruno Haible  <bruno@clisp.org>
14725
14726         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
14727         * lib/localename.h: Update copyright header.
14728         * lib/localename.c: Likewise.
14729         * lib/relocatable.h: Likewise.
14730         * lib/relocatable.c: Likewise.
14731
14732 2011-06-02  Bruno Haible  <bruno@clisp.org>
14733
14734         doc: Fix a module name.
14735         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
14736
14737 2011-06-02  Bruno Haible  <bruno@clisp.org>
14738
14739         pipe2: Remove dependency on 'nonblocking' module.
14740         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
14741         O_NONBLOCK is defined by gnulib.
14742         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
14743         is zero.
14744         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
14745         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
14746         defined by gnulib.
14747         (get_nonblocking_flag): New function.
14748         (main): Test O_NONBLOCK flag only if it is nonzero.
14749         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
14750
14751 2011-06-03  Jim Meyering  <meyering@redhat.com>
14752
14753         maint: three new prohibit-header-without-use rules
14754         Prohibit use of cloexec.h, posixver.h, same.h without use.
14755         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
14756         (sc_prohibit_posixver_without_use): Likewise.
14757         (sc_prohibit_same_without_use): Likewise.
14758
14759 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14760
14761         allocator: 'die' routine is now given requested size
14762         * lib/allocator.h (struct allocator.die): New size arg.
14763         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
14764         If the actual problem is an ssize_t limitation, not a size_t or
14765         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
14766
14767 2011-06-01  Eric Blake  <eblake@redhat.com>
14768
14769         strerror: drop strerror_r dependency
14770         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
14771         * lib/strerror-override.c (strerror_override): ...to new file.
14772         * lib/strerror-override.h: Add prototype.
14773         * lib/strerror-impl.h: Delete.
14774         * lib/strerror.c (strerror): New implementation.
14775         * modules/errno (Files): Add new files.
14776         (configure.ac): Compile new file as appropriate.
14777         * modules/strerror (Files): Drop unused file.
14778         (Depends-on): Drop strerror_r-posix.
14779         * MODULES.html.sh: Document strerror_r-posix.
14780         Requested by Sam Steingold.
14781
14782         perror: call strerror_r directly
14783         * modules/perror (Files): Drop strerror-impl.h.
14784         * lib/perror.c (perror): Use our own stack buffer, rather than
14785         calling a wrapper that uses static storage.
14786         * doc/posix-functions/perror.texi (perror): Document a limitation
14787         of our replacement.
14788
14789         strerror_r: fix includes for FreeBSD
14790         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
14791         since we use abort on some platforms.
14792         Reported by Matthias Bolte.
14793
14794 2011-05-31  Bruno Haible  <bruno@clisp.org>
14795
14796         Fix link errors in tests: openat-die uses gettext-h.
14797         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
14798         against $(LIBINTL).
14799         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
14800         against $(LIBINTL).
14801         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
14802         $(LIBINTL).
14803         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
14804         against $(LIBINTL).
14805         * modules/linkat-tests (Makefile.am): Link test-linkat against
14806         $(LIBINTL).
14807         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
14808         $(LIBINTL).
14809         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
14810         against $(LIBINTL).
14811         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
14812         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
14813         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
14814         $(LIBINTL).
14815         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
14816         $(LIBINTL).
14817         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
14818         $(LIBINTL).
14819         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14820
14821 2011-05-31  Bruno Haible  <bruno@clisp.org>
14822
14823         Fix link errors in tests: wait-process uses gettext-h.
14824         * modules/nonblocking-pipe-tests (Makefile.am): Set
14825         test_nonblocking_pipe_main_LDADD.
14826         * modules/nonblocking-socket-tests (Makefile.am): Link
14827         test-nonblocking-socket-main against $(LIBINTL).
14828         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14829
14830 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
14831
14832         assert-h: work around 'verify' incompatibility
14833         * lib/verify.h: Use @...@ directives, not ifdef.
14834         * modules/assert-h (assert.h): Implement the directives.
14835         (assert.h): Substitute the symbol-prefix more consistently.
14836
14837 2011-05-29  Jim Meyering  <meyering@redhat.com>
14838
14839         trim: remove three superfluous assignments
14840         * lib/trim.c (trim2): Remove three superfluous assignments
14841         and correct brace positioning.
14842
14843 2011-05-29  Bruno Haible  <bruno@clisp.org>
14844
14845         wctype-h: Avoid namespace pollution on Solaris 2.6.
14846         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
14847         identifiers.
14848         * doc/posix-headers/wctype.texi: Mention the problem.
14849         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14850
14851 2011-05-28  Jim Meyering  <meyering@redhat.com>
14852
14853         parse-datetime.y: accommodate -Wstrict-overflow
14854         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
14855         placate -Wstrict-overflow.
14856
14857         trim: avoid a warning from -O2 -Wstrict-overflow
14858         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
14859
14860 2011-05-29  Bruno Haible  <bruno@clisp.org>
14861
14862         gnulib-tool: Fix bug in yesterday's commit.
14863         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
14864         twice.
14865
14866 2011-05-29  Bruno Haible  <bruno@clisp.org>
14867
14868         Allow multiple gnulib generated include files to be combined.
14869         * gnulib-tool (func_compute_include_guard_prefix): New function.
14870         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
14871         ${gl_include_guard_prefix} references.
14872         (func_import, func_create_testdir): Invoke
14873         func_compute_include_guard_prefix.
14874         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
14875         * lib/ctype.in.h: Likewise.
14876         * lib/dirent.in.h: Likewise.
14877         * lib/errno.in.h: Likewise.
14878         * lib/fcntl.in.h: Likewise.
14879         * lib/float.in.h: Likewise.
14880         * lib/getopt.in.h: Likewise.
14881         * lib/iconv.in.h: Likewise.
14882         * lib/langinfo.in.h: Likewise.
14883         * lib/locale.in.h: Likewise.
14884         * lib/math.in.h: Likewise.
14885         * lib/netdb.in.h: Likewise.
14886         * lib/netinet_in.in.h: Likewise.
14887         * lib/poll.in.h: Likewise.
14888         * lib/pthread.in.h: Likewise.
14889         * lib/pty.in.h: Likewise.
14890         * lib/sched.in.h: Likewise.
14891         * lib/se-selinux.in.h: Likewise.
14892         * lib/search.in.h: Likewise.
14893         * lib/signal.in.h: Likewise.
14894         * lib/spawn.in.h: Likewise.
14895         * lib/stdarg.in.h: Likewise.
14896         * lib/stddef.in.h: Likewise.
14897         * lib/stdint.in.h: Likewise.
14898         * lib/stdio.in.h: Likewise.
14899         * lib/stdlib.in.h: Likewise.
14900         * lib/string.in.h: Likewise.
14901         * lib/strings.in.h: Likewise.
14902         * lib/sys_file.in.h: Likewise.
14903         * lib/sys_ioctl.in.h: Likewise.
14904         * lib/sys_select.in.h: Likewise.
14905         * lib/sys_socket.in.h: Likewise.
14906         * lib/sys_stat.in.h: Likewise.
14907         * lib/sys_time.in.h: Likewise.
14908         * lib/sys_times.in.h: Likewise.
14909         * lib/sys_uio.in.h: Likewise.
14910         * lib/sys_utsname.in.h: Likewise.
14911         * lib/sys_wait.in.h: Likewise.
14912         * lib/sysexits.in.h: Likewise.
14913         * lib/termios.in.h: Likewise.
14914         * lib/time.in.h: Likewise.
14915         * lib/unistd.in.h: Likewise.
14916         * lib/wchar.in.h: Likewise.
14917         * lib/wctype.in.h: Likewise.
14918         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
14919         * modules/ctype (Makefile.am): Likewise.
14920         * modules/dirent (Makefile.am): Likewise.
14921         * modules/errno (Makefile.am): Likewise.
14922         * modules/fcntl-h (Makefile.am): Likewise.
14923         * modules/float (Makefile.am): Likewise.
14924         * modules/getopt-posix (Makefile.am): Likewise.
14925         * modules/iconv-h (Makefile.am): Likewise.
14926         * modules/langinfo (Makefile.am): Likewise.
14927         * modules/locale (Makefile.am): Likewise.
14928         * modules/math (Makefile.am): Likewise.
14929         * modules/netdb (Makefile.am): Likewise.
14930         * modules/netinet_in (Makefile.am): Likewise.
14931         * modules/poll-h (Makefile.am): Likewise.
14932         * modules/pthread (Makefile.am): Likewise.
14933         * modules/pty (Makefile.am): Likewise.
14934         * modules/sched (Makefile.am): Likewise.
14935         * modules/search (Makefile.am): Likewise.
14936         * modules/selinux-h (Makefile.am): Likewise.
14937         * modules/signal (Makefile.am): Likewise.
14938         * modules/spawn (Makefile.am): Likewise.
14939         * modules/stdarg (Makefile.am): Likewise.
14940         * modules/stddef (Makefile.am): Likewise.
14941         * modules/stdint (Makefile.am): Likewise.
14942         * modules/stdio (Makefile.am): Likewise.
14943         * modules/stdlib (Makefile.am): Likewise.
14944         * modules/string (Makefile.am): Likewise.
14945         * modules/strings (Makefile.am): Likewise.
14946         * modules/sys_file (Makefile.am): Likewise.
14947         * modules/sys_ioctl (Makefile.am): Likewise.
14948         * modules/sys_select (Makefile.am): Likewise.
14949         * modules/sys_socket (Makefile.am): Likewise.
14950         * modules/sys_stat (Makefile.am): Likewise.
14951         * modules/sys_time (Makefile.am): Likewise.
14952         * modules/sys_times (Makefile.am): Likewise.
14953         * modules/sys_uio (Makefile.am): Likewise.
14954         * modules/sys_utsname (Makefile.am): Likewise.
14955         * modules/sys_wait (Makefile.am): Likewise.
14956         * modules/sysexits (Makefile.am): Likewise.
14957         * modules/termios (Makefile.am): Likewise.
14958         * modules/time (Makefile.am): Likewise.
14959         * modules/unistd (Makefile.am): Likewise.
14960         * modules/wchar (Makefile.am): Likewise.
14961         * modules/wctype-h (Makefile.am): Likewise.
14962         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
14963
14964 2011-05-29  Bruno Haible  <bruno@clisp.org>
14965
14966         assert-h: Allow multiple gnulib generated replacements to coexist.
14967         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
14968
14969 2011-05-29  Bruno Haible  <bruno@clisp.org>
14970
14971         argp: Allow coexistence with strerror_r-posix module.
14972         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
14973         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
14974         by gnulib's <string.h> replacement), assume it has the POSIX signature,
14975         not the glibc signature.
14976
14977 2011-05-28  Bruno Haible  <bruno@clisp.org>
14978
14979         gnulib-tool: Alternative structure of testdirs, similar to --import.
14980         * gnulib-tool: New option --single-configure.
14981         (func_usage): Document it.
14982         (single_configure): New variable.
14983         (func_modules_transitive_closure_separately,
14984         func_modules_transitive_closure_separately,
14985         func_determine_use_libtests, func_modules_add_dummy_separately,
14986         func_modules_to_filelist_separately): New functions, extracted from
14987         func_import.
14988         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
14989         (func_import): Use the new functions.
14990         (func_create_testdir): Set final_modules. Handle $single_configure =
14991         true case.
14992
14993 2011-05-28  Bruno Haible  <bruno@clisp.org>
14994
14995         getloadavg: Remove an unreliable safety check.
14996         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
14997         getloadavg.c is in place.
14998         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
14999         Reported by Sam Steingold <sds@gnu.org>.
15000
15001 2011-05-28  Bruno Haible  <bruno@clisp.org>
15002
15003         doc: Cleanup yet another file produced by texinfo.tex.
15004         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
15005
15006 2011-05-28  Bruno Haible  <bruno@clisp.org>
15007
15008         Finish the conditional dependencies mechanism.
15009         * gnulib-tool: New option --no-conditional-dependencies.
15010         (func_usage): Document it. Don't mark --conditional-dependencies as
15011         experimental.
15012         (cond_dependencies): The possible values can now be true, false, empty.
15013         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
15014         (func_import): Store setting in gnulib-cache.m4 and read it from there.
15015         * doc/gnulib-tool.texi (Conditional dependencies): New section.
15016
15017 2011-05-28  Bruno Haible  <bruno@clisp.org>
15018
15019         doc: Use a recent texinfo.tex.
15020         * doc/Makefile (tex_opts): New variable.
15021         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
15022
15023 2011-05-28  Jim Meyering  <meyering@redhat.com>
15024
15025         intprops.h: adjust comment to match code change
15026         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
15027         only once, it *may* have side effects.  Also fix an unrelated typo.
15028         (_GL_INT_SIGNED): Likewise.
15029
15030 2011-05-26  Simon Josefsson  <simon@josefsson.org>
15031
15032         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
15033
15034 2011-05-26  Bruno Haible  <bruno@clisp.org>
15035
15036         mbsrchr: Avoid collision with system function on Interix.
15037         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
15038         Reported by Markus Duft <mduft@gentoo.org>.
15039
15040 2011-05-15  James Youngman  <jay@gnu.org>
15041
15042         getopt: for ambiguous options, enumerate the possibilities.
15043         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
15044         the ambiguous options when an ambiguous prefix is given. This was
15045         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
15046         glibc change was
15047         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
15048
15049 2011-05-25  Eric Blake  <eblake@redhat.com>
15050
15051         getcwd: work around mingw bug
15052         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
15053         * doc/posix-functions/getcwd.texi (getcwd): Document it.
15054         Reported by Matthias Bolte.
15055
15056 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
15057
15058         test-intprops: disable -Wtype-limits diagnostics
15059         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
15060         diagnostics.  Otherwise, the integer overflow macros generate many
15061         diagnostics.  Reported by Jim Meyering in
15062         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
15063
15064         intprops: shorten, to pacify gcc -Woverlength-strings
15065         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
15066         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
15067         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
15068         likely to run afoul of C compiler limits for string constant lengths.
15069         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
15070
15071 2011-05-24  Eric Blake  <eblake@redhat.com>
15072
15073         docs: document recently fixed glibc printf bug
15074         * doc/posix-functions/fprintf.texi (fprintf): Document it.
15075         * doc/posix-functions/printf.texi (printf): Likewise.
15076         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
15077         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
15078
15079         closein-tests: convert to init.sh
15080         * modules/closein-tests (Files): Add init.sh
15081         * tests/test-closein.sh Use it.
15082
15083         yesno-tests: convert to init.sh
15084         * modules/yesno-tests (Files): Add init.sh.
15085         * tests/test-yesno.sh: Use it.
15086
15087         atexit-tests: ensure reliable exit status
15088         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
15089         Reported by Bruno Haible.
15090
15091 2011-05-24  Bruno Haible  <bruno@clisp.org>
15092
15093         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
15094         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
15095         gl_PREREQ_STRERROR_R invocations from here...
15096         * modules/strerror_r-posix (configure.ac): ... to here.
15097
15098 2011-05-24  Eric Blake  <eblake@redhat.com>
15099
15100         strerror_r: fix missing header
15101         * lib/strerror_r.c: Avoid compiler warning about snprintf.
15102
15103         strerror_r: fix AIX test failures
15104         * lib/strerror_r.c (strerror_r): Convert silent truncation to
15105         ERANGE failure.
15106
15107         strerror_r: fix Solaris test failures
15108         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
15109         failures.
15110         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
15111
15112         strerror_r: enforce POSIX recommendations
15113         * lib/strerror_r.c (safe_copy): New helper method.
15114         (strerror_r): Guarantee a non-empty string.
15115         * tests/test-strerror_r.c (main): Enhance tests to incorporate
15116         recent POSIX rulings and to match our strerror guarantees.
15117         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
15118
15119 2011-05-24  Jim Meyering  <meyering@redhat.com>
15120
15121         test-perror2.c: avoid warning about unused variable
15122         * tests/test-perror2.c (main): Remove declaration of unused "fp".
15123
15124 2011-05-24  Eric Blake  <eblake@redhat.com>
15125
15126         perror: avoid spurious test failure on HP-UX
15127         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
15128
15129         tests: fix logic bug in init.sh
15130         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
15131         shell.
15132
15133 2011-05-24  Jim Meyering  <meyering@redhat.com>
15134
15135         utimensat: do not reference an out-of-scope buffer
15136         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
15137         declared in an inner scope, yet "times" would be dereferenced outside
15138         the scope in which "ts" was valid.
15139         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
15140         of ts[2] "out/up", so that the use of aliased "times" (via
15141         "times = ts;") does not end up referencing an out-of-scope "ts"
15142
15143         opendir-safer.c: don't clobber errno; don't close negative FD
15144         * lib/opendir-safer.c (opendir_safer):
15145         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
15146         file descriptor, and more importantly, don't clobber the
15147         offending errno value with EINVAL.  Before, upon failure
15148         of dup_safer, we would pass the negative file descriptor to
15149         fdopendir, which would clobber errno.
15150
15151 2011-05-23  Bruno Haible  <bruno@clisp.org>
15152
15153         idcache: Fix module description.
15154         * modules/idcache (Include): Set to "idcache.h".
15155
15156 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
15157
15158         gnulib-tool: fix portability problem with MacOS sed
15159         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
15160         before the "}".  Problem reported by Leo in
15161         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
15162         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
15163         sed_extract_condition1, sed_extract_condition2.
15164
15165 2011-05-23  Bruno Haible  <bruno@clisp.org>
15166
15167         hash: Simplify autoconf macro.
15168         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
15169
15170 2011-05-23  Bruno Haible  <bruno@clisp.org>
15171
15172         getugroups: Fix module description.
15173         * modules/getugroups (Include): Set to "getugroups.h".
15174
15175 2011-05-23  Bruno Haible  <bruno@clisp.org>
15176
15177         linkat: Simplify autoconf macro.
15178         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
15179
15180 2011-05-23  Bruno Haible  <bruno@clisp.org>
15181             Eric Blake  <eblake@redhat.com>
15182
15183         linkat, renameat: Update dependencies.
15184         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
15185         * modules/linkat (Depends-on): Likewise. Remove also readlink,
15186         symlinkat.
15187
15188 2011-05-23  Jim Meyering  <meyering@redhat.com>
15189
15190         maint.mk: more tight_scope improvements
15191         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
15192         (_gl_TS_headers): Define only in if-0'd block.
15193         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
15194         sometimes we must *not* use it.  Adjust uses accordingly.
15195         (sc_tight_scope): Use much simpler grep-based test to determine
15196         whether we skip this rule.
15197
15198         maint.mk: generalize/improve the tight-scope rule
15199         * top/maint.mk: Emit a warning when the test is skipped.
15200         (_gl_TS_dir): Add $(srcdir)/ prefix.
15201         (_gl_TS_function_match): Simplify, rather than trying
15202         to enumerate common types.  Otherwise, it would fail to match an
15203         "extern unsigned char const *" declaration in idutils.
15204         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
15205         a way to support use of that type of macro.
15206         (_gl_TS_var_match): Simplify regexp.
15207         (_gl_TS_obj_files): New configurable variable.
15208         (_gl_TS_headers): Likewise.
15209
15210 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
15211
15212         verify: fix bug when gnulib <assert.h> is also included
15213         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
15214         is defined, not if _GL_STATIC_ASSERT_H is not defined.
15215         Perhaps there's a better way, but this fixes the immediate problem.
15216         Problem reported by Bruno Haible in
15217         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
15218
15219 2011-05-22  Bruno Haible  <bruno@clisp.org>
15220
15221         xgetcwd: Simplify autoconf macro.
15222         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
15223
15224 2011-05-22  Bruno Haible  <bruno@clisp.org>
15225
15226         New module 'mktime-internal'.
15227         * modules/mktime-internal: New file.
15228         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
15229         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
15230         mktime_internal as a C macro if libc has __mktime_internal.
15231         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
15232         conditions.
15233         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
15234
15235 2011-05-22  Bruno Haible  <bruno@clisp.org>
15236
15237         timegm: Correct mktime replacement statements.
15238         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
15239         defining mktime as a C macro. This completes a 2009-07-28 commit.
15240
15241 2011-05-22  Bruno Haible  <bruno@clisp.org>
15242
15243         timegm: Simplify autoconf macro.
15244         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
15245
15246 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
15247
15248         clock-time: change to LGPLv2+.
15249         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
15250         BSD-like but we have no mark for that; this is good enough for now.
15251
15252 2011-05-21  Bruno Haible  <bruno@clisp.org>
15253
15254         strerror_r: Fix comments.
15255         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
15256
15257 2011-05-21  Bruno Haible  <bruno@clisp.org>
15258
15259         relocatable-prog-wrapper: Fix possible link error.
15260         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
15261         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
15262         (gl_FUNC_SETENV): ... to here.
15263         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
15264         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
15265
15266 2011-05-21  Bruno Haible  <bruno@clisp.org>
15267
15268         relocatable-prog-wrapper: Assume strerror() exists.
15269         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
15270         m4/strerror.m4.
15271         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
15272         * lib/relocwrapper.c: Remove mention of strerror module.
15273         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
15274         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
15275         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
15276         C macro.
15277
15278 2011-05-21  Bruno Haible  <bruno@clisp.org>
15279
15280         select: Simplify replacement idiom.
15281         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
15282         Win32 platforms.
15283         * lib/sys_select.in.h (select): Simplify accordingly.
15284         * modules/select (Depends-on): Likewise.
15285
15286 2011-05-21  Bruno Haible  <bruno@clisp.org>
15287
15288         mkdir-p: Simplify autoconf macro.
15289         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
15290         gl_FUNC_LCHOWN.
15291
15292 2011-05-21  Eric Blake  <eblake@redhat.com>
15293
15294         strerror_r: avoid clobbering strerror on cygwin
15295         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
15296         fall back instead to sys_errlist.
15297         * modules/strerror (configure.ac): Add witness.
15298         * tests/test-strerror_r.c (main): Enhance test.
15299         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
15300         * tests/test-perror2.c (main): Free memory before exit.
15301
15302 2011-05-21  Bruno Haible  <bruno@clisp.org>
15303
15304         mkdtemp: Use gnulib naming conventions.
15305         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
15306         * modules/mkdtemp (configure.ac): Update.
15307
15308 2011-05-20  Eric Blake  <eblake@redhat.com>
15309
15310         strerror_r: avoid corrupting errno on Solaris
15311         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
15312         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
15313
15314         strerror_r: avoid compiler warning
15315         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
15316
15317         strerror_r: simplify AIX code
15318         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
15319
15320         test-perror: avoid spurious failure on FreeBSD
15321         * modules/perror-tests (Depends-on): Add strerror, now that
15322         strerror_r no longer pulls it in.
15323
15324 2011-05-20  Bruno Haible  <bruno@clisp.org>
15325
15326         strerror_r-posix: Remove unused dependencies.
15327         * modules/strerror_r-posix (Depends-on): Remove strerror.
15328         Reported by Eric Blake.
15329
15330 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
15331
15332         intprops: remove assumption about A|B representation
15333         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
15334         is a valid integer if both A and B are.  Although this is true for
15335         all known practical hosts, the C standard doesn't guarantee it,
15336         and the code need not assume it.  Also, this change may work around
15337         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
15338         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
15339
15340 2011-05-20  Eric Blake  <eblake@redhat.com>
15341
15342         perror: work around FreeBSD bug
15343         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
15344         is broken.  Move AC_LIBOBJ...
15345         * modules/perror (configure.ac): Here.
15346         * doc/posix-functions/perror.texi (perror): Document this.
15347         * tests/test-perror2.c (main): Enhance test.
15348
15349         test-perror: check for strerror interactions
15350         * tests/macros.h (STREQ): Add macro.
15351         * modules/perror-tests (Files): Add second test.
15352         * tests/test-perror2.c (main): New file.
15353         * doc/posix-functions/perror.texi (perror): Document glibc bug.
15354
15355         test-perror: rewrite to use init script
15356         * modules/perror-tests (Files): Add init.sh.
15357         * tests/test-perror.sh: Use temporary directory.
15358
15359 2011-05-20  Jim Meyering  <meyering@redhat.com>
15360
15361         maint: replace misused "a" with "an"
15362         * doc/intprops.texi: "a integer"
15363         * doc/regex.texi: "a explanation"
15364         * lib/alignof.h: "a object"
15365         * lib/argmatch.h: "a explanation"
15366         * lib/argp-help.c: "a option" and "a OPTION_DOC"
15367         * lib/stdint.in.h: "a integer"
15368         * lib/userspec.c: "a owner"
15369         * doc/gnulib.texi: Fix "a idea", and reword.
15370
15371 2011-05-19  Jim Meyering  <meyering@redhat.com>
15372
15373         maint: correct misuse of "a" and "an"
15374         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
15375         * lib/argp-help.c: "an docum...": s/an/a/
15376         * lib/argp-parse.c: "An vector": s/An/A/
15377         * lib/execute.c: "an native": s/an/a/
15378         * lib/spawn-pipe.c: Likewise.
15379         * lib/gc.h: "an Gc_rc": s/an/a/
15380         * lib/unigbrk.in.h: "an grapheme": s/an/a/
15381         * lib/fts.c: "an stat.st_dev": s/an/a/
15382
15383 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
15384
15385         intprops-tests: work around HP-UX 11.23 cc bug with constants
15386         * tests/test-intprops.c (VERIFY): New macro.
15387         (main): Use it, instead of verify, to work around the compiler bug; see
15388         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
15389
15390         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
15391         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
15392         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
15393         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
15394         (_GL_REMAINDER_OVERFLOW): Use it.
15395
15396         intprops-tests: revert unsigned part of previous change
15397         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
15398         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
15399         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
15400         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
15401
15402 2011-05-19  Bruno Haible  <bruno@clisp.org>
15403
15404         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
15405         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
15406         strerror_r() returned without filling the buffer.
15407         Reported by Eric Blake.
15408
15409 2011-05-19  Eric Blake  <eblake@redhat.com>
15410
15411         strerror_r: guarantee unchanged errno
15412         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
15413         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
15414         failure.
15415         * tests/test-strerror_r.c (main): Enhance test.
15416
15417 2011-05-19  Bruno Haible  <bruno@clisp.org>
15418
15419         strerror_r: Reorder #if blocks.
15420         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
15421         for consistency with the previous commit.
15422
15423 2011-05-19  Bruno Haible  <bruno@clisp.org>
15424
15425         perror: Avoid clobbering the strerror buffer when possible.
15426         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
15427         * lib/strerror.c: Include it.
15428         * modules/strerror (Files): Add lib/strerror-impl.h.
15429         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
15430         (my_strerror): New function, defined through lib/strerror-impl.h.
15431         (perror): Use it instead of strerror.
15432         * modules/perror (Files): Add lib/strerror-impl.h.
15433         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
15434
15435 2011-05-19  Eric Blake  <eblake@redhat.com>
15436
15437         strerror_r: fix on newer cygwin
15438         * lib/strerror_r.c (strerror_r): Cygwin now has
15439         __xpg_strerror_r, use it.
15440
15441 2011-05-19  Bruno Haible  <bruno@clisp.org>
15442
15443         strerror_r: Avoid clobbering the strerror buffer when possible.
15444         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
15445         (sys_nerr, sys_errlist): New declarations.
15446         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
15447         HP-UX, native Win32, IRIX, and 32-bit Solaris.
15448         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
15449
15450 2011-05-19  Bruno Haible  <bruno@clisp.org>
15451
15452         strerror_r: Fix test failure on mingw.
15453         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
15454         EXTEND_STRERROR_R.
15455         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
15456         macros from errno.in.h instead.
15457
15458 2011-05-19  Eric Blake  <eblake@redhat.com>
15459
15460         strerror: relax test for Solaris
15461         * tests/test-strerror.c (main): Permit Solaris behavior.
15462         * tests/test-strerror_r.c (main): Likewise.
15463
15464         strerror: enforce POSIX ruling on strerror(0)
15465         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
15466         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
15467         * lib/strerror_r.c (rpl_strerror_r): Work around it.
15468         * doc/posix-functions/strerror.texi (strerror): Document it.
15469         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
15470         * tests/test-strerror.c (main): Strengthen test.
15471         * tests/test-strerror_r.c (main): Likewise.
15472
15473 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
15474
15475         intprop-tests: port to older and more-pedantic compilers
15476         * modules/intprops-tests (Files): Add tests/macros.h.
15477         * tests/test-intprops.c: Include macros.h.
15478         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
15479         it's no longer documented to expand to an integer constant expression.
15480         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
15481         argument is floating point, as it's no longer documented to expand
15482         to an integer constant expression in that case.
15483         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
15484         compiler bugs reported by Bruno Haible.  See
15485         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
15486         (U0, U1): New constants, to work around the same bugs.  Also,
15487         in tests, use e.g., "(unsigned int) 39" rather than "39u".
15488
15489         intprops: work around C compiler bugs
15490         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
15491         bug in Sun C 5.11 2010/08/13 and other compilers; see
15492         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
15493
15494         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
15495         * doc/intprops.texi (Integer Type Determination): Fix
15496         documentation for TYPE_IS_INTEGER: it returns an constant
15497         expression, not an integer constant expression.  Fix doc for
15498         TYPE_SIGNED: it returns an integer constant expression only if its
15499         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
15500         hardly worth documented that way....)
15501
15502 2011-05-18  Bruno Haible  <bruno@clisp.org>
15503
15504         strerror_r: Avoid clobbering the strerror buffer when possible.
15505         * lib/strerror_r.c (strerror_r): Merge the three implementations.
15506         Handle gnulib defined errno values here. When strerror() returns NULL
15507         or an empty string, return EINVAL.
15508         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
15509         gnulib defined errno values here.
15510         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
15511
15512 2011-05-18  Eric Blake  <eblake@redhat.com>
15513
15514         fnmatch: avoid compiler warning
15515         * lib/fnmatch_loop.c (FCT): Use correct type.
15516         Reported by Matthias Bolte.
15517
15518 2011-05-13  Jim Meyering  <meyering@redhat.com>
15519
15520         maint.mk: three new prohibit_<HDR>_without_use rules
15521         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
15522         (sc_prohibit_stdio-safer_without_use): Likewise.
15523         (sc_prohibit_xfreopen_without_use): Likewise.
15524
15525 2011-05-17  Jim Meyering  <meyering@redhat.com>
15526
15527         announce-gen: fail if the NEWS delta is empty
15528         If there's nothing noteworthy in NEWS, then either you forgot
15529         or you shouldn't be releasing.
15530         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
15531
15532 2011-05-17  Pádraig Brady <P@draigBrady.com>
15533
15534         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
15535         reserved symbols starting with double underscore from the check.
15536
15537 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
15538
15539         intprops: add doc
15540         * doc/intprops.texi: New file, documenting intprops.
15541         * doc/gnulib.texi (Particular Modules): Include it.
15542
15543         verify: add doc to gnulib manual and fix example
15544         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
15545         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
15546         (Compile-time Assertions): Fix example so it can't overflow.
15547
15548 2011-05-17  Jim Meyering  <meyering@redhat.com>
15549
15550         warnings.m4: don't usurp save_CPPFLAGS variable name
15551         * m4/warnings.m4: Prefix local temporary variable name with gl_.
15552
15553         doc: fix typo
15554         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
15555
15556 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
15557             Bruno Haible  <bruno@clisp.org>
15558
15559         doc: Tweak recent change.
15560         * README (Portability guidelines): Tweak new text.
15561         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
15562         Interix 6.1.
15563
15564 2011-05-16  Eric Blake  <eblake@redhat.com>
15565
15566         inttypes: avoid autoconf warning
15567         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
15568         * m4/stdint.m4 (gl_STDINT_H): Likewise.
15569
15570 2011-05-16  Sam Steingold <sds@gnu.org>
15571         and Eric Blake  <eblake@redhat.com>
15572
15573         vc-list-files: accept multiple directory operands
15574         * build-aux/vc-list-files: Iterate over all remaining operands.
15575
15576 2011-05-16  Bruno Haible  <bruno@clisp.org>
15577
15578         Fix confusion regarding deprecated modules.
15579         * modules/calloc (Status, Notice): Mark module as deprecated, not
15580         obsolete.
15581         * modules/fnmatch-posix (Status, Notice): Likewise.
15582         * modules/getdate (Status, Notice): Likewise.
15583         * modules/getopt (Status, Notice): Likewise.
15584         * modules/malloc (Status, Notice): Likewise.
15585         * modules/pipe (Status, Notice): Likewise.
15586         * modules/realloc (Status, Notice): Likewise.
15587         * modules/rename-dest-slash (Status, Notice): Likewise.
15588         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
15589         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
15590         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
15591         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
15592         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
15593
15594 2011-05-16  Bruno Haible  <bruno@clisp.org>
15595
15596         doc: List the target platforms.
15597         * doc/gnulib-intro.texi (Target Platforms): New section.
15598         * doc/gnulib.texi (Introduction): Update menu.
15599         * README (Portability guidelines): Refer to the new section. Update
15600         statement about oldest supported environment. Remove rationale why
15601         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
15602         unportable C89 function.
15603         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
15604         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
15605
15606 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
15607
15608         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
15609
15610 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
15611
15612         intprops-tests: new module
15613         * modules/intprops-tests, tests/test-intprops.c: New files.
15614
15615         intprops: add safe, portable integer overflow checking
15616         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
15617         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
15618         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
15619         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
15620         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
15621         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
15622         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
15623         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
15624         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
15625         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
15626         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
15627
15628 2011-05-12  James Youngman  <jay@gnu.org>
15629
15630         Add a test for glibc's Bugzilla bug #12378.
15631         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
15632         doesn't allow the literal matching of a lone "[" (which is
15633         required by POSIX).
15634         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
15635
15636 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
15637
15638         Sync glibc change fixing Bugzilla bug #12378.
15639         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
15640         beginning and fall back to matching as normal character if the
15641         string ends before the matching ']' is found.  This is what POSIX
15642         requires.
15643
15644 2011-05-13  Eric Blake  <eblake@redhat.com>
15645
15646         getcwd-lgpl: relax test for FreeBSD
15647         * doc/posix-functions/getcwd.texi (getcwd): Document portability
15648         issue.
15649         * tests/test-getcwd-lgpl.c (main): Relax test.
15650         Reported by Matthias Bolte.
15651
15652 2011-05-11  Eric Blake  <eblake@redhat.com>
15653
15654         test-fflush: silence compiler warning
15655         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
15656
15657 2011-05-11  Bruno Haible  <bruno@clisp.org>
15658
15659         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
15660         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
15661         * modules/canonicalize (Depends-on): Add 'nocrash'.
15662         * modules/canonicalize-lgpl (Depends-on): Likewise.
15663         * doc/posix-functions/realpath.texi: Update platforms list.
15664         Reported by Ryan Schmidt <ryandesign@macports.org>.
15665
15666 2011-05-11  Bruno Haible  <bruno@clisp.org>
15667
15668         group-member: Declare function in <unistd.h>.
15669         * lib/unistd.in.h (group_member): New declaration.
15670         * lib/group-member.h: Remove file.
15671         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
15672         * tests/test-unistd-c++.cc: Check signature of group_member.
15673         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
15674         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
15675         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
15676         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
15677         HAVE_GROUP_MEMBER.
15678         * modules/group-member (Files): Remove lib/group-member.h.
15679         (Depends-on): Add unistd. Specify conditions.
15680         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
15681         (Include): Change to <unistd.h>.
15682         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
15683         HAVE_GROUP_MEMBER.
15684         * NEWS: Mention the change.
15685         * lib/euidaccess.c: Don't include group-member.h.
15686
15687 2011-05-11  Bruno Haible  <bruno@clisp.org>
15688
15689         group-member: Document module.
15690         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
15691         module.
15692
15693 2011-05-11  Bruno Haible  <bruno@clisp.org>
15694
15695         fclose: Fix mistake earlier today.
15696         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
15697
15698 2011-05-11  Eric Blake  <eblake@redhat.com>
15699
15700         fclose: preserve fflush errors
15701         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
15702         Reported by Jim Meyering.
15703
15704         bootstrap: support a prereq of 'rpcgen -' on RHEL5
15705         * build-aux/bootstrap (check_versions): When no specific version
15706         is required, merely check that the app produces an exit status
15707         that indicates its existence.
15708
15709         maint.mk: drop redundant check
15710         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
15711         the same but better.
15712
15713 2011-05-11  Bruno Haible  <bruno@clisp.org>
15714
15715         fclose: Fix possible link error.
15716         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
15717         unregister_shadow_fd. Improve comments.
15718         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
15719         Eric Blake.
15720
15721 2011-05-11  Jim Meyering  <meyering@redhat.com>
15722
15723         maint.mk: improve "can not" detection and generalize rule name
15724         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
15725         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
15726         Use the same technique as in sc_prohibit_doubled_word, so that
15727         we recognize "can not" also when the words are separated by a newline.
15728         Suggested by Eric Blake.
15729         (perl_filename_lineno_text_): Define.  Factored out of...
15730         (prohibit_doubled_word_): ...here.  Use the new definition.
15731         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
15732         (prohibit_undesirable_word_seq_RE_): New overridable variable.
15733         (ignore_undesirable_word_sequence_RE_): New overridable variable.
15734
15735 2011-05-10  Eric Blake  <eblake@redhat.com>
15736
15737         fclose: avoid double close race when possible
15738         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
15739         all but WINDOWS_SOCKETS.
15740
15741 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
15742
15743         openat: correct new comment
15744         * lib/openat-proc.c (openat_proc_name): Correct the comment.
15745
15746 2011-05-10  Jim Meyering  <meyering@redhat.com>
15747
15748         openat: add comments
15749         * lib/openat-proc.c (openat_proc_name): Add comments,
15750         mostly from Eric Blake.
15751
15752 2011-05-09  Eric Blake  <eblake@redhat.com>
15753
15754         openat: reduce syscalls in first probe of /proc
15755         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
15756         be a directory.  Simplify the probe for .. bugs.
15757         * modules/openat (Depends-on): Drop same-inode.
15758         Reported by Bastien ROUCARIES.
15759
15760 2011-05-09  Jim Meyering  <meyering@redhat.com>
15761
15762         maint.mk: change semantics/name of tight_scope variables
15763         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
15764         Rename variables to align with semantics that make them more useful.
15765
15766         maint.mk: tweak new rule's name not to impinge
15767         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
15768         (sc_tight_scope): Use new rule name rather than $@-0.
15769
15770         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
15771         * top/maint.mk (sc_tight_scope): New rule.
15772         (sc_tight_scope-0): New rule, ifdef'd out.
15773         (_gl_TS_dir): Default.
15774         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
15775         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
15776
15777 2011-05-09  Simon Josefsson  <simon@josefsson.org>
15778
15779         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
15780         Haible <bruno@clisp.org>.
15781
15782 2011-05-08  Bruno Haible  <bruno@clisp.org>
15783
15784         Comments.
15785         * m4/isnanf.m4: Add comment.
15786         * m4/isnanl.m4: Likewise.
15787
15788 2011-05-08  Bruno Haible  <bruno@clisp.org>
15789
15790         glob: Remove obsolete macro.
15791         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
15792
15793 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
15794
15795         intprops: Sun C 5.11 supports __typeof__
15796         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
15797         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
15798         which is new.
15799         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
15800
15801         intprops: switch to usual gnulib indenting and naming
15802         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
15803         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
15804
15805         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
15806
15807 2011-05-08  Jim Meyering  <meyering@redhat.com>
15808
15809         maint.mk: suppress "Entering/Leaving directory" diag in announcement
15810         * top/maint.mk (release-prep): Use make's --no-print-directory
15811         option when generating the announcement.  This eliminates the
15812         pesky "make[2]: Entering/Leaving directory" diagnostics in the
15813         generated announcement template.
15814
15815 2011-05-08  Bruno Haible  <bruno@clisp.org>
15816
15817         tzset: Fix gettimeofday wrapper on Solaris 2.6.
15818         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
15819         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
15820
15821 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
15822
15823         ignore-value, verify: Omit include files from lib_SOURCES.
15824         * modules/ignore-value, modules/verify (Makefile.am):
15825         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
15826         that leads Automake to duplicate use of am__objects_... variables
15827         in Makefile.in.  See
15828         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
15829
15830 2011-05-07  Bruno Haible  <bruno@clisp.org>
15831
15832         fclose: Simplify autoconf macro.
15833         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
15834         defined.
15835
15836 2011-05-07  Bruno Haible  <bruno@clisp.org>
15837
15838         canonicalize-lgpl: Fix autoconf macro ordering bug.
15839         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
15840         gl_STDLIB_H_DEFAULTS.
15841
15842 2011-05-06  Eric Blake  <eblake@redhat.com>
15843
15844         maintainer-makefile: make sc_po_check easier to tune
15845         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
15846         to probe for strings, such as an alternate location for gnulib.
15847
15848         fclose: guarantee behavior on seekable stdin
15849         * modules/fclose (Depends-on): Add fflush.
15850         * doc/posix-functions/fclose.texi (fclose): Document this.
15851         * tests/test-fclose.c (main): Make test for this unconditional.
15852
15853 2011-05-06  Bruno Haible  <bruno@clisp.org>
15854
15855         fflush, fpurge: Relicense under LGPLv2+.
15856         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
15857         * modules/fpurge (License): Likewise.
15858         With permission from Eric Blake and Jim Meyering.
15859         Suggested by Eric Blake.
15860
15861 2011-05-06  Karl Berry  <karl@gnu.org>
15862
15863         * MODULES.html.sh (func_all_modules): remove exit.
15864
15865 2011-05-06  Jim Meyering  <meyering@redhat.com>
15866
15867         maint.mk: use info-gnu@ as the default only for a stable release
15868         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
15869         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
15870         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
15871         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
15872
15873 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
15874
15875         assert-h: new module, which supports C1X-style static_assert
15876         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
15877         * lib/verify.h: Revamp so that this can be copied into assert.h,
15878         while retaining the ability to use it standalone as before.
15879         Rename private identifiers so as not to encroach on the
15880         standard C namespace, since this is now used by assert.h.
15881         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
15882         the old verify_true.
15883         (_GL_VERIFY_TRUE): New macro, with much of the contents of
15884         the old verify_true.  Use _GL_VERIFY_TYPE.
15885         (_GL_VERIFY): New macro, with much of the contents of the old verify.
15886         (static_assert): New macro, if _GL_STATIC_ASSERT_H
15887         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
15888         defined when this file is copied into the replacement assert.h.
15889         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
15890         and _Static_assert is not built in.
15891         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
15892         defined, and use the new macros mentioned above.
15893         * doc/posix-headers/assert.texi: Document this.
15894
15895 2011-05-05  Bruno Haible  <bruno@clisp.org>
15896
15897         fclose, fflush: Respect rules for use of AC_LIBOBJ.
15898         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
15899         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
15900         gl_REPLACE_FCLOSE here.
15901         * modules/fflush (Depends-on): Remove fclose.
15902         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
15903         combination with module 'fclose'.
15904
15905 2011-05-05  Bruno Haible  <bruno@clisp.org>
15906
15907         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
15908         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
15909         gl_FUNC_FFLUSH.
15910         (gl_FUNC_FFLUSH): Use it.
15911         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
15912         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
15913         gl_REPLACE_FSEEKO here.
15914
15915 2011-05-05  Bruno Haible  <bruno@clisp.org>
15916
15917         tzset: Relicense under LGPL.
15918         * modules/tzset (License): Change to LGPL.
15919         No agreement needed; it's a no-op.
15920
15921         strtoimax, strtoumax: Relicense under LGPL.
15922         * modules/strtoimax (License): Change to LGPL.
15923         * modules/strtoumax (License): Likewise.
15924         With permission from Jim Meyering, Paul Eggert:
15925         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
15926         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
15927
15928         getgroups: Relicense under LGPL.
15929         * modules/getgroups (License): Change to LGPL.
15930         With permission from Jim Meyering, Paul Eggert, Eric Blake:
15931         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
15932         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
15933         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15934
15935         nanosleep: Relicense under LGPL.
15936         * modules/nanosleep (License): Change to LGPL.
15937         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
15938         Haible:
15939         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
15940         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
15941         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15942         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
15943
15944         futimens: Relicense under LGPL.
15945         * modules/futimens (License): Change to LGPL.
15946         With permission from Eric Blake:
15947         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15948
15949         fflush: Relicense under LGPL.
15950         * modules/fflush (License): Change to LGPL.
15951         With permission from Eric Blake, Bruno Haible, Jim Meyering:
15952         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15953         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
15954         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
15955
15956         tmpfile: Relicense under LGPL.
15957         * modules/tmpfile (License): Change to LGPL.
15958         With permission from Ben Pfaff:
15959         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
15960
15961         isfinite: Relicense under LGPL.
15962         * modules/isfinite (License): Change to LGPL.
15963         With permission from Ben Pfaff, Bruno Haible:
15964         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
15965         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
15966
15967         acosl..tanl: Relicense under LGPL.
15968         * modules/acosl (License): Change to LGPL.
15969         * modules/asinl (License): Likewise.
15970         * modules/atanl (License): Likewise.
15971         * modules/cosl (License): Likewise.
15972         * modules/expl (License): Likewise.
15973         * modules/logl (License): Likewise.
15974         * modules/sinl (License): Likewise.
15975         * modules/sqrtl (License): Likewise.
15976         * modules/tanl (License): Likewise.
15977         Source code originally from glibc and Paolo Bonzini. Agreements:
15978         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
15979         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
15980
15981 2011-05-05  Bruno Haible  <bruno@clisp.org>
15982
15983         signal: Define sighandler_t.
15984         * lib/signal.in.h (sighandler_t): New type.
15985         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
15986         whether sighandler_t is defined.
15987         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
15988         * modules/signal (Depends-on): Add extensions.
15989         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
15990         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
15991         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
15992
15993 2011-05-05  Eric Blake  <eblake@redhat.com>
15994
15995         maint: remove useless REPLACE_*_H macros
15996         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
15997         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
15998         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
15999         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
16000         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
16001         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
16002         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
16003         * m4/btowc.m4: Update callers.
16004         * m4/dirfd.m4: Likewise.
16005         * m4/duplocale.m4: Likewise.
16006         * m4/fchdir.m4: Likewise.
16007         * m4/fdopendir.m4: Likewise.
16008         * m4/inet_ntop.m4: Likewise.
16009         * m4/inet_pton.m4: Likewise.
16010         * m4/ioctl.m4: Likewise.
16011         * m4/mbrlen.m4: Likewise.
16012         * m4/mbrtowc.m4: Likewise.
16013         * m4/mbsinit.m4: Likewise.
16014         * m4/mbsnrtowcs.m4: Likewise.
16015         * m4/mbsrtowcs.m4: Likewise.
16016         * m4/poll.m4: Likewise.
16017         * m4/setlocale.m4: Likewise.
16018         * m4/wcrtomb.m4: Likewise.
16019         * m4/wcsnrtombs.m4: Likewise.
16020         * m4/wcsrtombs.m4: Likewise.
16021         * m4/wctob.m4: Likewise.
16022         * m4/wcwidth.m4: Likewise.
16023         * modules/posix_spawn: Likewise.
16024         * modules/posix_spawn_file_actions_addclose: Likewise.
16025         * modules/posix_spawn_file_actions_adddup2: Likewise.
16026         * modules/posix_spawn_file_actions_addopen: Likewise.
16027         * modules/posix_spawn_file_actions_destroy: Likewise.
16028         * modules/posix_spawn_file_actions_init: Likewise.
16029         * modules/posix_spawnattr_destroy: Likewise.
16030         * modules/posix_spawnattr_getflags: Likewise.
16031         * modules/posix_spawnattr_getpgroup: Likewise.
16032         * modules/posix_spawnattr_getschedparam: Likewise.
16033         * modules/posix_spawnattr_getschedpolicy: Likewise.
16034         * modules/posix_spawnattr_getsigdefault: Likewise.
16035         * modules/posix_spawnattr_getsigmask: Likewise.
16036         * modules/posix_spawnattr_init: Likewise.
16037         * modules/posix_spawnattr_setflags: Likewise.
16038         * modules/posix_spawnattr_setpgroup: Likewise.
16039         * modules/posix_spawnattr_setschedparam: Likewise.
16040         * modules/posix_spawnattr_setschedpolicy: Likewise.
16041         * modules/posix_spawnattr_setsigdefault: Likewise.
16042         * modules/posix_spawnattr_setsigmask: Likewise.
16043         * modules/posix_spawnp: Likewise.
16044
16045 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
16046
16047         Add option to do-release-commit-and-tag to specify branch.
16048         * build-aux/do-release-commit-and-tag: Add --branch.
16049
16050 2011-05-03  Bruno Haible  <bruno@clisp.org>
16051
16052         Avoid unnecessary compilation units, through conditional dependencies.
16053         * modules/accept (Depends-on): Add conditions to the dependencies.
16054         * modules/acosl (Depends-on): Likewise.
16055         * modules/argz (Depends-on): Likewise.
16056         * modules/asinl (Depends-on): Likewise.
16057         * modules/atanl (Depends-on): Likewise.
16058         * modules/atoll (Depends-on): Likewise.
16059         * modules/bind (Depends-on): Likewise.
16060         * modules/btowc (Depends-on): Likewise.
16061         * modules/canonicalize-lgpl (Depends-on): Likewise.
16062         * modules/ceil (Depends-on): Likewise.
16063         * modules/ceilf (Depends-on): Likewise.
16064         * modules/ceill (Depends-on): Likewise.
16065         * modules/chdir-long (Depends-on): Likewise.
16066         * modules/chown (Depends-on): Likewise.
16067         * modules/close (Depends-on): Likewise.
16068         * modules/connect (Depends-on): Likewise.
16069         * modules/cosl (Depends-on): Likewise.
16070         * modules/dirfd (Depends-on): Likewise.
16071         * modules/dprintf (Depends-on): Likewise.
16072         * modules/dprintf-posix (Depends-on): Likewise.
16073         * modules/error (Depends-on): Likewise.
16074         * modules/euidaccess (Depends-on): Likewise.
16075         * modules/expl (Depends-on): Likewise.
16076         * modules/faccessat (Depends-on): Likewise.
16077         * modules/fchdir (Depends-on): Likewise.
16078         * modules/fclose (Depends-on): Likewise.
16079         * modules/fcntl (Depends-on): Likewise.
16080         * modules/fdopendir (Depends-on): Likewise.
16081         * modules/fflush (Depends-on): Likewise.
16082         * modules/floor (Depends-on): Likewise.
16083         * modules/floorf (Depends-on): Likewise.
16084         * modules/floorl (Depends-on): Likewise.
16085         * modules/fnmatch (Depends-on): Likewise.
16086         * modules/fopen (Depends-on): Likewise.
16087         * modules/fprintf-posix (Depends-on): Likewise.
16088         * modules/frexp (Depends-on): Likewise.
16089         * modules/frexp-nolibm (Depends-on): Likewise.
16090         * modules/frexpl (Depends-on): Likewise.
16091         * modules/frexpl-nolibm (Depends-on): Likewise.
16092         * modules/fseek (Depends-on): Likewise.
16093         * modules/fsusage (Depends-on): Likewise.
16094         * modules/ftell (Depends-on): Likewise.
16095         * modules/ftello (Depends-on): Likewise.
16096         * modules/futimens (Depends-on): Likewise.
16097         * modules/getcwd (Depends-on): Likewise.
16098         * modules/getcwd-lgpl (Depends-on): Likewise.
16099         * modules/getdelim (Depends-on): Likewise.
16100         * modules/getdomainname (Depends-on): Likewise.
16101         * modules/getgroups (Depends-on): Likewise.
16102         * modules/gethostname (Depends-on): Likewise.
16103         * modules/getline (Depends-on): Likewise.
16104         * modules/getlogin_r (Depends-on): Likewise.
16105         * modules/getopt-posix (Depends-on): Likewise.
16106         * modules/getpeername (Depends-on): Likewise.
16107         * modules/getsockname (Depends-on): Likewise.
16108         * modules/getsockopt (Depends-on): Likewise.
16109         * modules/getsubopt (Depends-on): Likewise.
16110         * modules/getusershell (Depends-on): Likewise.
16111         * modules/glob (Depends-on): Likewise.
16112         * modules/grantpt (Depends-on): Likewise.
16113         * modules/iconv_open (Depends-on): Likewise.
16114         * modules/iconv_open-utf (Depends-on): Likewise.
16115         * modules/inet_ntop (Depends-on): Likewise.
16116         * modules/inet_pton (Depends-on): Likewise.
16117         * modules/ioctl (Depends-on): Likewise.
16118         * modules/isapipe (Depends-on): Likewise.
16119         * modules/isfinite (Depends-on): Likewise.
16120         * modules/isinf (Depends-on): Likewise.
16121         * modules/lchown (Depends-on): Likewise.
16122         * modules/ldexpl (Depends-on): Likewise.
16123         * modules/link (Depends-on): Likewise.
16124         * modules/linkat (Depends-on): Likewise.
16125         * modules/listen (Depends-on): Likewise.
16126         * modules/logl (Depends-on): Likewise.
16127         * modules/lstat (Depends-on): Likewise.
16128         * modules/mbrlen (Depends-on): Likewise.
16129         * modules/mbrtowc (Depends-on): Likewise.
16130         * modules/mbsinit (Depends-on): Likewise.
16131         * modules/mbsnrtowcs (Depends-on): Likewise.
16132         * modules/mbsrtowcs (Depends-on): Likewise.
16133         * modules/mbtowc (Depends-on): Likewise.
16134         * modules/memcmp (Depends-on): Likewise.
16135         * modules/mkdir (Depends-on): Likewise.
16136         * modules/mkdtemp (Depends-on): Likewise.
16137         * modules/mkfifo (Depends-on): Likewise.
16138         * modules/mkfifoat (Depends-on): Likewise.
16139         * modules/mknod (Depends-on): Likewise.
16140         * modules/mkostemp (Depends-on): Likewise.
16141         * modules/mkostemps (Depends-on): Likewise.
16142         * modules/mkstemp (Depends-on): Likewise.
16143         * modules/mkstemps (Depends-on): Likewise.
16144         * modules/mktime (Depends-on): Likewise.
16145         * modules/nanosleep (Depends-on): Likewise.
16146         * modules/open (Depends-on): Likewise.
16147         * modules/openat (Depends-on): Likewise.
16148         * modules/perror (Depends-on): Likewise.
16149         * modules/poll (Depends-on): Likewise.
16150         * modules/popen (Depends-on): Likewise.
16151         * modules/posix_spawn (Depends-on): Likewise.
16152         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
16153         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
16154         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
16155         * modules/posix_spawnp (Depends-on): Likewise.
16156         * modules/pread (Depends-on): Likewise.
16157         * modules/printf-posix (Depends-on): Likewise.
16158         * modules/ptsname (Depends-on): Likewise.
16159         * modules/putenv (Depends-on): Likewise.
16160         * modules/pwrite (Depends-on): Likewise.
16161         * modules/readline (Depends-on): Likewise.
16162         * modules/readlink (Depends-on): Likewise.
16163         * modules/readlinkat (Depends-on): Likewise.
16164         * modules/recv (Depends-on): Likewise.
16165         * modules/recvfrom (Depends-on): Likewise.
16166         * modules/regex (Depends-on): Likewise.
16167         * modules/remove (Depends-on): Likewise.
16168         * modules/rename (Depends-on): Likewise.
16169         * modules/renameat (Depends-on): Likewise.
16170         * modules/rmdir (Depends-on): Likewise.
16171         * modules/round (Depends-on): Likewise.
16172         * modules/roundf (Depends-on): Likewise.
16173         * modules/roundl (Depends-on): Likewise.
16174         * modules/rpmatch (Depends-on): Likewise.
16175         * modules/select (Depends-on): Likewise.
16176         * modules/send (Depends-on): Likewise.
16177         * modules/sendto (Depends-on): Likewise.
16178         * modules/setenv (Depends-on): Likewise.
16179         * modules/setlocale (Depends-on): Likewise.
16180         * modules/setsockopt (Depends-on): Likewise.
16181         * modules/shutdown (Depends-on): Likewise.
16182         * modules/sigaction (Depends-on): Likewise.
16183         * modules/signbit (Depends-on): Likewise.
16184         * modules/sigprocmask (Depends-on): Likewise.
16185         * modules/sinl (Depends-on): Likewise.
16186         * modules/sleep (Depends-on): Likewise.
16187         * modules/snprintf (Depends-on): Likewise.
16188         * modules/snprintf-posix (Depends-on): Likewise.
16189         * modules/socket (Depends-on): Likewise.
16190         * modules/sprintf-posix (Depends-on): Likewise.
16191         * modules/sqrtl (Depends-on): Likewise.
16192         * modules/stat (Depends-on): Likewise.
16193         * modules/strchrnul (Depends-on): Likewise.
16194         * modules/strdup-posix (Depends-on): Likewise.
16195         * modules/strerror (Depends-on): Likewise.
16196         * modules/strerror_r-posix (Depends-on): Likewise.
16197         * modules/strndup (Depends-on): Likewise.
16198         * modules/strnlen (Depends-on): Likewise.
16199         * modules/strptime (Depends-on): Likewise.
16200         * modules/strsep (Depends-on): Likewise.
16201         * modules/strsignal (Depends-on): Likewise.
16202         * modules/strstr-simple (Depends-on): Likewise.
16203         * modules/strtod (Depends-on): Likewise.
16204         * modules/strtoimax (Depends-on): Likewise.
16205         * modules/strtok_r (Depends-on): Likewise.
16206         * modules/strtoumax (Depends-on): Likewise.
16207         * modules/symlink (Depends-on): Likewise.
16208         * modules/symlinkat (Depends-on): Likewise.
16209         * modules/tanl (Depends-on): Likewise.
16210         * modules/tcgetsid (Depends-on): Likewise.
16211         * modules/tmpfile (Depends-on): Likewise.
16212         * modules/trunc (Depends-on): Likewise.
16213         * modules/truncf (Depends-on): Likewise.
16214         * modules/truncl (Depends-on): Likewise.
16215         * modules/uname (Depends-on): Likewise.
16216         * modules/unlink (Depends-on): Likewise.
16217         * modules/unlockpt (Depends-on): Likewise.
16218         * modules/unsetenv (Depends-on): Likewise.
16219         * modules/usleep (Depends-on): Likewise.
16220         * modules/utimensat (Depends-on): Likewise.
16221         * modules/vasprintf (Depends-on): Likewise.
16222         * modules/vdprintf (Depends-on): Likewise.
16223         * modules/vdprintf-posix (Depends-on): Likewise.
16224         * modules/vfprintf-posix (Depends-on): Likewise.
16225         * modules/vprintf-posix (Depends-on): Likewise.
16226         * modules/vsnprintf (Depends-on): Likewise.
16227         * modules/vsnprintf-posix (Depends-on): Likewise.
16228         * modules/vsprintf-posix (Depends-on): Likewise.
16229         * modules/wcrtomb (Depends-on): Likewise.
16230         * modules/wcscasecmp (Depends-on): Likewise.
16231         * modules/wcscspn (Depends-on): Likewise.
16232         * modules/wcsdup (Depends-on): Likewise.
16233         * modules/wcsncasecmp (Depends-on): Likewise.
16234         * modules/wcsnrtombs (Depends-on): Likewise.
16235         * modules/wcspbrk (Depends-on): Likewise.
16236         * modules/wcsrtombs (Depends-on): Likewise.
16237         * modules/wcsspn (Depends-on): Likewise.
16238         * modules/wcsstr (Depends-on): Likewise.
16239         * modules/wcstok (Depends-on): Likewise.
16240         * modules/wcswidth (Depends-on): Likewise.
16241         * modules/wctob (Depends-on): Likewise.
16242         * modules/wctomb (Depends-on): Likewise.
16243         * modules/wctype (Depends-on): Likewise.
16244         * modules/wcwidth (Depends-on): Likewise.
16245         * modules/write (Depends-on): Likewise.
16246
16247 2011-05-03  Bruno Haible  <bruno@clisp.org>
16248
16249         Support for conditional dependencies.
16250         * doc/gnulib.texi (Module description): Document the syntax of
16251         conditional dependencies.
16252         * gnulib-tool: New option --conditional-dependencies.
16253         (func_usage): Document it.
16254         (cond_dependencies): New variable.
16255         (func_get_automake_snippet_conditional,
16256         func_get_automake_snippet_unconditional): New functions, extracted from
16257         func_get_automake_snippet.
16258         (func_get_automake_snippet): Use them.
16259         (sed_first_32_chars): New variable.
16260         (func_module_shellfunc_name): New function.
16261         (func_module_shellvar_name): New function.
16262         (func_module_conditional_name): New function.
16263         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
16264         func_cond_module_condition): New functions.
16265         (func_modules_transitive_closure): Add support for conditional
16266         dependencies.
16267         (func_emit_lib_Makefile_am): For a conditional module, enclose the
16268         conditional automake snippet in an automake conditional.
16269         (func_emit_autoconf_snippets): Emit shell functions that contain the
16270         code for conditional modules.
16271         (func_import, func_create_testdir): Update specification.
16272
16273 2011-05-03  Eric Blake  <eblake@redhat.com>
16274
16275         test-getaddrinfo: report error information
16276         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
16277
16278 2011-05-03  Jim Meyering  <meyering@redhat.com>
16279
16280         bootstrap: avoid build failure when $GZIP is set
16281         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
16282         program name.  If defined at all, it is supposed to list gzip options.
16283         Reported by Alan Curry in http://debbugs.gnu.org/8609
16284
16285 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
16286
16287         readme-release: new module with release instructions
16288         * modules/readme-release: New module.
16289         * top/README-release: New file, from coreutils, grep, diffutils.
16290         * MODULES.html.sh (Support for maintaining and releasing): Add it.
16291
16292 2011-05-02  Eric Blake  <eblake@redhat.com>
16293
16294         fflush: also replace fclose when fixing fflush
16295         * modules/fflush (Depends-on): Add fclose.
16296         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
16297         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
16298         memstreams with no backing fd.
16299         * doc/posix-functions/fclose.texi (fclose): Document the use of
16300         fflush module to fix the bug.
16301         * tests/test-fclose.c (main): Relax test when fclose is used in
16302         isolation.
16303
16304         fclose: add some tests
16305         * modules/fclose-tests: New test module.
16306         * tests/test-fclose.c: New file.
16307         * doc/posix-functions/fclose.texi (fclose): Document the bug.
16308
16309         fclose: reduced dependencies
16310         * modules/fclose (Depends-on): Switch from fflush/fseeko to
16311         simpler lseek.
16312         * lib/fclose.c (rpl_fclose): Likewise.
16313         Reported by Simon Josefsson.
16314
16315         exit: drop remaining clients
16316         * modules/argmatch (Depends-on): Replace exit with stdlib.
16317         * modules/copy-file (Depends-on): Likewise.
16318         * modules/execute (Depends-on): Likewise.
16319         * modules/exitfail (Depends-on): Likewise.
16320         * modules/obstack (Depends-on): Likewise.
16321         * modules/pagealign_alloc (Depends-on): Likewise.
16322         * modules/pipe-filter-gi (Depends-on): Likewise.
16323         * modules/pipe-filter-ii (Depends-on): Likewise.
16324         * modules/savewd (Depends-on): Likewise.
16325         * modules/spawn-pipe (Depends-on): Likewise.
16326         * modules/wait-process (Depends-on): Likewise.
16327         * modules/xsetenv (Depends-on): Likewise.
16328         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
16329         * modules/git-merge-changelog (Depends-on): Likewise.
16330         * modules/long-options (Depends-on): Likewise.
16331         * modules/pt_chown (Depends-on): Likewise.
16332         * modules/sysexits (Depends-on): Likewise.
16333
16334         freading: relax license from LGPLv3+ to LGPLv2+
16335         * modules/freading (License): Relax LGPL version.
16336
16337 2011-05-02  Bruno Haible  <bruno@clisp.org>
16338
16339         fchdir: Remove unused dependencies.
16340         * modules/fchdir (Depends-on): Remove include_next.
16341
16342 2011-05-02  Bruno Haible  <bruno@clisp.org>
16343
16344         gnulib-tool: Refactor.
16345         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
16346         from func_emit_autoconf_snippets.
16347         (func_emit_autoconf_snippets): Use it.
16348
16349 2011-05-02  Simon Josefsson  <simon@josefsson.org>
16350
16351         * NEWS: Document removal of 'exit'.
16352         * modules/exit: Remove file.
16353
16354 2011-05-01  Bruno Haible  <bruno@clisp.org>
16355
16356         Update DEPENDENCIES.
16357         * DEPENDENCIES (gettext): Recommend the newest release.
16358         Reported by Simon Josefsson.
16359
16360 2011-05-01  Bruno Haible  <bruno@clisp.org>
16361
16362         gnulib-tool: Reduce code duplication.
16363         * gnulib-tool (func_emit_autoconf_snippets): New function.
16364         (func_import, func_create_testdir): Use it.
16365
16366 2011-04-30  Eric Blake  <eblake@redhat.com>
16367
16368         fclose: don't fail on non-seekable input stream
16369         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
16370         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
16371         since fflush is allowed to fail in that case.
16372
16373 2011-04-30  Bruno Haible  <bruno@clisp.org>
16374
16375         dup3: cleanup
16376         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
16377
16378 2011-04-30  Bruno Haible  <bruno@clisp.org>
16379
16380         netdb: Make it work in C++ mode.
16381         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
16382         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
16383         module.
16384         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
16385         gl_MODULE_INDICATOR_FOR_TESTS.
16386         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
16387         * modules/netdb-c++-tests: New file.
16388         * tests/test-netdb-c++.cc: New file.
16389
16390 2011-04-30  Bruno Haible  <bruno@clisp.org>
16391
16392         New modules 'vfscanf', 'vscanf'.
16393         * modules/vfscanf: New file.
16394         * modules/vscanf: New file.
16395         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
16396         here.
16397         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
16398         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
16399
16400 2011-04-30  Bruno Haible  <bruno@clisp.org>
16401
16402         passfd: Add comments.
16403         * lib/passfd.c: Add comments about platforms.
16404
16405 2011-04-30  Bruno Haible  <bruno@clisp.org>
16406
16407         sys_uio: Make <sys/uio.h> self-contained.
16408         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
16409         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
16410
16411 2011-04-30  Bruno Haible  <bruno@clisp.org>
16412
16413         sys_socket: Ensure 'struct iovec' definition.
16414         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
16415         <sys/socket.h>.
16416         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
16417
16418 2011-04-30  Bruno Haible  <bruno@clisp.org>
16419
16420         sys_uio: Protect definition of 'struct iovec'.
16421         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
16422         it as a C struct.
16423
16424 2011-04-30  Bruno Haible  <bruno@clisp.org>
16425
16426         manywarnings: fix indentation
16427         * m4/manywarnings.m4: Indent by 2 spaces consistently.
16428
16429 2011-04-30  Pádraig Brady <P@draigBrady.com>
16430
16431         manywarnings: add -Wno-missing-field-initializers if needed.
16432         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
16433         option if it's needed to allow initialization with { 0, }
16434
16435 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
16436
16437         announce-gen: cosmetic improvement
16438         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
16439
16440 2011-04-29  Jim Meyering  <meyering@redhat.com>
16441
16442         vc-list-files: indent with spaces, not TABs
16443         * build-aux/vc-list-files: Convert leading TABs to spaces,
16444         to match the style of most other files in gnulib.
16445
16446         announce-gen: indent with spaces, not TABs
16447         * build-aux/announce-gen: Convert all TABs to spaces, to match
16448         the style of most other files in gnulib.
16449
16450 2011-04-29  Eric Blake  <eblake@redhat.com>
16451
16452         quotearg: avoid uninitialized variable use
16453         * lib/quotearg.c (quoting_options_from_style): Initialize
16454         remaining fields, and ensure that custom styles are only used via
16455         quoting_options rather than quoting_style.
16456
16457 2011-04-29  Jim Meyering  <meyering@redhat.com>
16458
16459         maint.mk: remove unused VC-tag variable
16460         * top/maint.mk (VC-tag): Remove unused variable.
16461
16462 2011-04-29  Bruno Haible  <bruno@clisp.org>
16463
16464         netdb: fix gai_strerror replacements
16465         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
16466         * modules/netdb: Substitute it.
16467
16468 2011-04-29  Jim Meyering  <meyering@redhat.com>
16469
16470         test-getcwd.c: avoid new set-but-not-used warning
16471         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
16472         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
16473         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
16474         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
16475
16476         test-hash.c: avoid a new shadowing warning
16477         * tests/test-hash.c (main): Don't shadow "dup".
16478
16479 2011-04-28  Eric Blake  <eblake@redhat.com>
16480
16481         getaddrinfo: fix gai_strerror signature
16482         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
16483         and work around mingw with UNICODE defined.
16484         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
16485         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
16486         * modules/netdb (Makefile.am): Substitute it.
16487         * lib/netdb.in.h (gai_strerror): Declare replacement.
16488         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
16489         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
16490         the fix.
16491
16492         getsockopt: avoid compiler warning
16493         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
16494         Reported by Matthias Bolte.
16495
16496         tests: drop unused link dependency
16497         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
16498         * modules/dirent-safer-tests (Makefile.am): Likewise.
16499         * modules/fdopendir-tests (Makefile.am): Likewise.
16500         * modules/mkfifoat-tests (Makefile.am): Likewise.
16501         * modules/openat-safer-tests (Makefile.am): Likewise.
16502         * modules/openat-tests (Makefile.am): Likewise.
16503         * modules/readlinkat-tests (Makefile.am): Likewise.
16504         * modules/symlinkat-tests (Makefile.am): Likewise.
16505         * modules/linkat-tests (Makefile.am): Likewise.
16506         (Depends-on): Switch to filenamecat-lgpl.
16507         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
16508         LIBINTL.
16509         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
16510         * tests/test-linkat.c (main): Don't require xalloc.
16511
16512         hash, mgetgroups: drop xalloc dependency
16513         * lib/hash.c (includes): Adjust includes.
16514         * lib/mgetgroups.c (includes): Likewise.
16515         (xgetgroups): Move...
16516         * lib/xgetgroups.c: ...to new file.
16517         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
16518         * modules/xgetgroups: New file, split from...
16519         * modules/mgetgroups: ...here.
16520         (Depends-on): Add xalloc-oversized.
16521         * modules/hash (Depends-on): Likewise.
16522         * modules/hash-tests (Depends-on): Drop xalloc.
16523         (test_hash_LDADD): Drop unused library.
16524         * tests/test-hash.c (main): Break xalloc dependency.
16525         (includes): Drop unused include.
16526
16527         xalloc-oversized: new module
16528         * modules/xalloc-oversized: New module.
16529         * modules/xalloc (Depends-on): Add it.
16530         * lib/xalloc.h (xalloc_oversized): Move...
16531         * lib/xalloc-oversized.h: ...into new file.
16532
16533         utimecmp: drop dependency on xmalloc
16534         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
16535         due to memory pressure.
16536         * modules/utimecmp (Depends-on): Drop xalloc.
16537
16538 2011-04-27  Eric Blake  <eblake@redhat.com>
16539
16540         getcwd: fix mingw bugs
16541         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
16542         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
16543         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
16544
16545 2011-04-27  Bruno Haible  <bruno@clisp.org>
16546
16547         mkstemps: Ensure declaration on MacOS X 10.5.
16548         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
16549         * doc/glibc-functions/mkstemps.texi: Document header file problem on
16550         MacOS X.
16551
16552 2011-04-27  Bruno Haible  <bruno@clisp.org>
16553
16554         mkstemp: More documentation.
16555         * doc/posix-functions/mkstemp.texi: Document header file problem on
16556         MacOS X.
16557
16558 2011-04-27  Bruno Haible  <bruno@clisp.org>
16559
16560         mkstemp: Tweak configure message when cross-compiling.
16561         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
16562         result as a guess.
16563
16564 2011-04-27  Bruno Haible  <bruno@clisp.org>
16565
16566         clean-temp: Clarify what it does.
16567         * lib/clean-temp.h: Add more comments.
16568         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
16569         module.
16570         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
16571         * doc/glibc-functions/mkstemps.texi: Likewise.
16572         * doc/glibc-functions/mkostemps.texi: Likewise.
16573
16574 2011-04-27  Eric Blake  <eblake@redhat.com>
16575
16576         fchdir: avoid extra chdir and fix test
16577         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
16578         getcwd-lgpl.
16579         * lib/fchdir.c (get_name): Any absolute name will do; it does not
16580         have to be canonical.
16581         (canonicalize_file_name): Drop unused macro.
16582         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
16583
16584         filenamecat-lgpl: fix licence
16585         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
16586         when it was first created.
16587
16588         linkat, renameat: add missing dependency
16589         * modules/linkat (Depends-on): Require getcwd-lgpl.
16590         * modules/renameat (Depends-on): Likewise.
16591
16592         tests: reduce dependencies
16593         * tests/test-linkat.c (main): Use lighter-weight getcwd.
16594         * tests/test-renameat.c (main): Likewise.
16595         * modules/linkat-tests (Depends-on): Relax dependency.
16596         * modules/renameat-tests (Depends-on): Likewise.
16597         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
16598         dependency explicit.
16599
16600         save-cwd: reduce default dependency
16601         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
16602         * lib/save-cwd.c: Update comments.
16603         * NEWS: Document the semantic change.
16604
16605         getcwd: enhance tests
16606         * tests/test-getcwd-lgpl.c: New file, taken from...
16607         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
16608         repeat long path stress tests from m4 probe.
16609         * modules/getcwd-lgpl-tests: New module.
16610         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
16611         * m4/getcwd-abort-bug.m4: Update comment.
16612         * m4/getcwd-path-max.m4: Likewise.
16613
16614         getcwd-lgpl: new module
16615         * modules/getcwd-lgpl: New module.
16616         * lib/getcwd-lgpl.c: New file.
16617         * doc/posix-functions/getcwd.texi (getcwd): Document it.
16618         * MODULES.html.sh (lacking POSIX:2008): Likewise.
16619         * modules/getcwd (configure.ac): Set C witness.
16620         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
16621
16622         getcwd: tweak comments
16623         * m4/getcwd-abort-bug.m4: Fix comments.
16624         * m4/getcwd-path-max.m4: Likewise.
16625         * m4/getcwd.m4: Likewise.
16626
16627 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
16628         and Eric Blake  <eblake@redhat.com>
16629
16630         mkstemp: replace if system version uses wrong permissions
16631         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
16632         read/write mode bits set in file created by mkstemp.
16633         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
16634
16635 2011-04-27  Eric Blake  <eblake@redhat.com>
16636
16637         passfd: avoid compiler warning
16638         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
16639         Reported by Laine Stump.
16640
16641 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
16642
16643         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
16644         required by the NetBSD (and perhaps other 4.4BSD derived) join.
16645
16646 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
16647         and Eric Blake  <eblake@redhat.com>
16648
16649         mkstemp: mention clean-temp module
16650         * lib/mkstemp.c: Add comment.
16651         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
16652
16653 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
16654
16655         inttypes: also provide default values for 32-bit tests
16656         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
16657         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
16658
16659 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
16660
16661         strtoumax: remove dependency on strtoimax
16662         This is like the strtoull change of yesterday.
16663         * modules/strtoumax (Files): Add lib/strtoimax.c.
16664         (Depends-on): Remove strtoimax and add verify.
16665
16666         inttypes-incomplete: new module
16667         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
16668         all but the PRI* and SCN* parts of gl_INTTYPES_H.
16669         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
16670         of gl_INTTYPES_H.
16671         (gl_INTTYPES_H): Rewrite in terms of these new macros.
16672         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
16673         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
16674         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
16675         * modules/strtoumax, modules/xstrtol (Depends-on):
16676         Depend on inttypes-incomplete, not inttypes.
16677         * modules/inttypes-incomplete: New module, containing the contents
16678         of the old modules/inttypes module, except that the Files: section
16679         omits m4/inttypes-pri.m4, and the configure.ac section invokes
16680         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
16681         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
16682         (Depends-on): Depend only on inttypes-incomplete.
16683         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
16684
16685         inttypes: omit now-redundant strtoimax and strtoumax work
16686         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
16687         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
16688
16689         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
16690         This supports apps that need pointers to strtoimax and strtoumax,
16691         and ports to HP-UX 11.00 64.bit, which has macros that expand to
16692         nonexistent functions.  See
16693         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
16694         et seq.
16695         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
16696         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
16697         a macro.
16698         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
16699
16700 2011-04-25  Simon Josefsson  <simon@josefsson.org>
16701
16702         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
16703
16704 2011-04-25  Bruno Haible  <bruno@clisp.org>
16705
16706         strtol, strtoul: Mark modules as obsolete.
16707         * modules/strtol (Status, Notice): New sections.
16708         * modules/strtoul (Status, Notice): New sections.
16709
16710 2011-04-25  Bruno Haible  <bruno@clisp.org>
16711
16712         strtod: Remove check for strtod, unless supporting old platforms.
16713         * modules/strtod-obsolete: New file.
16714         * m4/strtod-obsolete.m4: New file.
16715         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
16716         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
16717         * modules/strtod (Depends-on): Add strtod-obsolete.
16718         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
16719
16720 2011-04-25  Bruno Haible  <bruno@clisp.org>
16721
16722         strcase: Make module obsolete.
16723         * modules/strcase (Status, Notice): New sections.
16724
16725 2011-04-25  Bruno Haible  <bruno@clisp.org>
16726
16727         dup2: Remove check for dup2, unless supporting old obsolete platforms.
16728         * modules/dup2-obsolete: New file.
16729         * m4/dup2-obsolete.m4: New file.
16730         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
16731         gl_FUNC_DUP2_OBSOLETE is not also defined.
16732         * modules/dup2 (Depends-on): Add dup2-obsolete.
16733         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
16734
16735 2011-04-25  Bruno Haible  <bruno@clisp.org>
16736
16737         strnlen: Avoid memchr related link error on old obsolete platforms.
16738         * modules/memchr-obsolete: New file.
16739         * m4/memchr-obsolete.m4: New file.
16740         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
16741         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
16742         * modules/memchr (Depends-on): Add memchr-obsolete.
16743         * modules/strnlen (Depends-on): Likewise.
16744         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
16745
16746 2011-04-25  Jim Meyering  <meyering@redhat.com>
16747
16748         maint.mk: makefile_at_at_check extend and clean up
16749         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
16750         in addition to */Makefile.am.
16751         Exempt legitimate uses of @VAR@ notation, e.g.,
16752         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
16753         Remove obsolete coreutils-specific comment.
16754         Prompted by discussion here:
16755         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
16756
16757 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
16758
16759         strtoul: remove dependency on strtol
16760         This is so that 'configure' need not check for strtol merely because
16761         the application needs strtoul.
16762         * modules/strtoul (Files): Add lib/strtol.c.
16763         (Depends-on): Remove strtol.
16764
16765         strtoull: remove dependency on strtoul
16766         This is like the strtoll change.
16767         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
16768         (Depends-on): Remove strtoul.
16769
16770         strtoll: remove dependency on strtol
16771         This is so that 'configure' need not check for strtol merely because
16772         the application needs strtoll.
16773         * modules/strtoll (Files): Add lib/strtol.c.
16774         (Depends-on): Remove strtol.
16775
16776 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16777
16778         inttypes: Move some configure check to module 'imaxdiv'.
16779         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
16780         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
16781         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
16782
16783 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16784
16785         inttypes: Move some configure check to module 'imaxabs'.
16786         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
16787         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
16788         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
16789
16790 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16791
16792         inttypes: Remove configure tests that are not needed since 2009-12-31.
16793         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
16794         gl_cv_header_working_inttypes_h.
16795
16796 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16797
16798         * modules/strnlen (Depends-on): Remove memchr.
16799         The strnlen implementation doesn't need the memchr module's fixes; see
16800         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
16801
16802         strtol: remove dependency on wchar
16803         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
16804         * modules/strtol (Depends-on): Remove wchar.
16805
16806 2011-04-21  Eric Blake  <eblake@redhat.com>
16807
16808         passfd: fix test regression on Linux
16809         * modules/passfd-tests (configure.ac): Correct socketpair check.
16810
16811         passfd: speed up configure and drop unused code
16812         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
16813         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
16814         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
16815         Instead of probing at configure for unix_scm_rights_bsd44_way,
16816         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
16817         check to a struct member probe.
16818         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
16819         (sendfd, recvfd): Update preprocessor checks.
16820         * modules/passfd (Files): Reflect rename, and drop unused file.
16821         (Depends-on): Drop unused dependency.
16822
16823         passfd: allow compilation on mingw
16824         * modules/sys_socket (Depends-on): Add sys_uio.
16825         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
16826         iovec and a minimal struct msghdr.
16827         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
16828         * tests/test-sys_socket.c (main): Enhance test.
16829         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
16830         guaranteed to provide what we need.
16831         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
16832         * modules/passfd-tests (Depends-on): Add sys_wait.
16833         * tests/test-passfd.c (main): Skip test on mingw, for now.
16834         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
16835         partial 'struct msghdr' implementation.
16836
16837         sys_uio: new module
16838         * modules/sys_uio: New module.
16839         * modules/sys_uio-tests: Likewise.
16840         * lib/sys_uio.in.h: New file.
16841         * m4/sys_uio_h.m4: Likewise.
16842         * tests/test-sys_uio.c: Likewise.
16843         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
16844         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
16845
16846 2011-04-20  Jim Meyering  <meyering@redhat.com>
16847
16848         useless-if-before-free: avoid false-positive
16849         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
16850         disjunct so that it too requires a terminating ";".  Without that,
16851         this script would identify as useless one statement from gcc that
16852         was not:
16853           if (aligned_ptr)
16854             free (((void **) aligned_ptr) [-1]);
16855
16856 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
16857
16858         doc: update users.txt.
16859         * users.txt: Add barcode.
16860
16861 2011-04-19  Bruno Haible  <bruno@clisp.org>
16862
16863         ioctl: Remove link dependency on native Windows.
16864         * lib/fd-hook.h: Renamed from lib/close-hook.h.
16865         (gl_close_fn, gl_ioctl_fn): New types.
16866         (struct fd_hook): Renamed from struct close_hook. Change type of
16867         private_close_fn field. Add private_ioctl_fn field.
16868         (close_hook_fn): Add parameter for primary close method.
16869         (execute_close_hooks, execute_all_close_hooks): Likewise.
16870         (ioctl_hook_fn): New type.
16871         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
16872         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
16873         argument.
16874         (unregister_fd_hook): Renamed from unregister_close_hook.
16875         * lib/fd-hook.c: Renamed from lib/close-hook.c.
16876         Don't include <unistd.h>.
16877         (close): Remove undef.
16878         (anchor): Update.
16879         (execute_close_hooks): Add argument for primary close method.
16880         (execute_all_close_hooks): Likewise.
16881         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
16882         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
16883         argument. Allow each argument to be NULL.
16884         (unregister_fd_hook): Renamed from unregister_close_hook.
16885         * lib/close.c (rpl_close): Pass 'close' function pointer to
16886         execute_all_close_hooks.
16887         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
16888         (primary_ioctl): New function.
16889         (ioctl): Don't call ioctlsocket here. Instead, call
16890         execute_all_ioctl_hooks.
16891         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
16892         close method.
16893         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
16894         (fd_sockets_hook): Renamed from close_sockets_hook.
16895         (gl_sockets_startup, gl_sockets_cleanup): Update.
16896         * modules/fd-hook: Renamed from modules/close-hook. Update.
16897         * modules/close (Depends-on): Add fd-hook, remove close-hook.
16898         * modules/sockets (Depends-on): Likewise.
16899         * modules/ioctl (Depends-on): Add fd-hook.
16900         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
16901         GNULIB_SOCKET.
16902
16903 2011-04-19  Bruno Haible  <bruno@clisp.org>
16904
16905         Move the support of O_NONBLOCK in open() to the 'open' module.
16906         * modules/nonblocking (Depends-on): Remove 'open'.
16907         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
16908         gl_cv_have_open_O_NONBLOCK.
16909         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
16910         O_NONBLOCK support.
16911         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
16912
16913 2011-04-17  Bruno Haible  <bruno@clisp.org>
16914
16915         pipe2: Simplify code.
16916         * lib/pipe2.c (pipe2): Reduce code duplication.
16917
16918 2011-04-17  Bruno Haible  <bruno@clisp.org>
16919
16920         nonblocking: Add comment.
16921         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
16922
16923 2011-04-17  Bruno Haible  <bruno@clisp.org>
16924
16925         nonblocking: Add tests for sockets.
16926         * tests/test-nonblocking-socket.sh: New file.
16927         * tests/test-nonblocking-socket-main.c: New file.
16928         * tests/test-nonblocking-socket-child.c: New file.
16929         * tests/test-nonblocking-socket.h: New file.
16930         * tests/socket-server.h: New file.
16931         * tests/socket-client.h: New file.
16932         * modules/nonblocking-socket-tests: New file.
16933         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
16934
16935 2011-04-17  Bruno Haible  <bruno@clisp.org>
16936
16937         nonblocking: Add tests for pipes.
16938         * tests/test-nonblocking-pipe.sh: New file.
16939         * tests/test-nonblocking-pipe-main.c: New file.
16940         * tests/test-nonblocking-pipe-child.c: New file.
16941         * tests/test-nonblocking-pipe.h: New file.
16942         * tests/test-nonblocking-writer.h: New file.
16943         * tests/test-nonblocking-reader.h: New file.
16944         * tests/test-nonblocking-misc.h: New file.
16945         * modules/nonblocking-pipe-tests: New file.
16946         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
16947
16948 2011-04-16  Bruno Haible  <bruno@clisp.org>
16949
16950         gettext: Clarify the needed programmer actions.
16951         * modules/gettext (Notice): New field.
16952         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
16953
16954 2011-04-16  Bruno Haible  <bruno@clisp.org>
16955
16956         strchrnul: Tweak last commit.
16957         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
16958         bug.
16959         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
16960         as in _GL_FUNCDECL_SYS.
16961         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
16962         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
16963
16964 2011-04-15  Eric Blake  <eblake@redhat.com>
16965
16966         strchrnul: work around cygwin bug
16967         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
16968         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
16969         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
16970         * modules/string (Makefile.am): Substitute it.
16971         * lib/string.in.h (strchrnul): Use it.
16972
16973 2011-04-15  Bruno Haible  <bruno@clisp.org>
16974
16975         Don't require lib/stdio-write.c when only module 'stdio' is used.
16976         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
16977         invocation.
16978         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
16979
16980 2011-04-14  Bruno Haible  <bruno@clisp.org>
16981
16982         Support non-blocking pipe I/O in read() on native Windows.
16983         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
16984         (read): New declaration.
16985         * lib/read.c: New file.
16986         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
16987         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
16988         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
16989         vscanf): New declarations.
16990         * lib/stdio-read.c: New file.
16991         * m4/read.m4: New file.
16992         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
16993         REPLACE_READ.
16994         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
16995         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16996         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
16997         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
16998         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
16999         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
17000         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
17001         * modules/read: New file.
17002         * modules/nonblocking (Files): Add lib/stdio-read.c.
17003         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
17004         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
17005         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
17006         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
17007         * modules/pread (Depends-on): Add read.
17008         * modules/safe-read (Depends-on): Likewise.
17009         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
17010         gets, scanf, vfscanf, vscanf): Verify signatures.
17011         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
17012         problem with non-blocking pipes.
17013         * doc/posix-functions/fgetc.texi: Likewise.
17014         * doc/posix-functions/fgets.texi: Likewise.
17015         * doc/posix-functions/fread.texi: Likewise.
17016         * doc/posix-functions/fscanf.texi: Likewise.
17017         * doc/posix-functions/getc.texi: Likewise.
17018         * doc/posix-functions/getchar.texi: Likewise.
17019         * doc/posix-functions/gets.texi: Likewise.
17020         * doc/posix-functions/scanf.texi: Likewise.
17021         * doc/posix-functions/vfscanf.texi: Likewise.
17022         * doc/posix-functions/vscanf.texi: Likewise.
17023
17024 2011-04-14  Bruno Haible  <bruno@clisp.org>
17025
17026         Support non-blocking pipe I/O in write() on native Windows.
17027         * lib/write.c (rpl_write): Split a write request that failed merely
17028         because the byte count was larger than the pipe buffer's size.
17029         * doc/posix-functions/write.texi: Mention the problem with large byte
17030         counts.
17031
17032 2011-04-14  Bruno Haible  <bruno@clisp.org>
17033
17034         wchar: Ensure that wchar_t gets defined on uClibc.
17035         * lib/wchar.in.h: On uClibc, include <stddef.h>.
17036         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
17037
17038 2011-04-13  Bruno Haible  <bruno@clisp.org>
17039
17040         safe-write, full-read: Avoid unnecessary compilation units.
17041         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
17042         (Depends-on): Remove safe-read. Add ssize_t.
17043         * modules/full-read (Files): Add lib/full-write.c.
17044         (Depends-on): Add full-write.
17045
17046 2011-04-13  Bruno Haible  <bruno@clisp.org>
17047
17048         Support non-blocking pipe I/O and SIGPIPE in pwrite().
17049         * modules/pwrite (Depends-on): Add 'write'.
17050
17051 2011-04-13  Bruno Haible  <bruno@clisp.org>
17052
17053         Support non-blocking pipe I/O in write() on native Windows.
17054         * lib/unistd.in.h (write): Enable replacement also if
17055         GNULIB_UNISTD_H_NONBLOCKING is 1.
17056         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
17057         (rpl_write): When failing to write on a non-blocking pipe, change
17058         errno from ENOSPC to EAGAIN.
17059         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
17060         putchar, puts, vfprintf, vprintf): Enable replacement also if
17061         GNULIB_STDIO_H_NONBLOCKING is 1.
17062         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
17063         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
17064         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
17065         CALL_WITH_SIGPIPE_EMULATION.
17066         (CALL_WITH_SIGPIPE_EMULATION): Use them.
17067         * m4/nonblocking.m4: New file.
17068         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
17069         for non-blocking I/O support.
17070         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17071         GNULIB_UNISTD_H_NONBLOCKING.
17072         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
17073         required for non-blocking I/O support.
17074         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
17075         * modules/nonblocking (Files): Add m4/nonblocking.m4,
17076         lib/stdio-write.c, m4/asm-underscore.m4.
17077         (Depends-on): Add stdio, unistd.
17078         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
17079         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
17080         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
17081         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
17082         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
17083         problem with non-blocking pipes.
17084         * doc/posix-functions/fputc.texi: Likewise.
17085         * doc/posix-functions/fputs.texi: Likewise.
17086         * doc/posix-functions/fwrite.texi: Likewise.
17087         * doc/posix-functions/printf.texi: Likewise.
17088         * doc/posix-functions/putc.texi: Likewise.
17089         * doc/posix-functions/putchar.texi: Likewise.
17090         * doc/posix-functions/puts.texi: Likewise.
17091         * doc/posix-functions/vfprintf.texi: Likewise.
17092         * doc/posix-functions/vprintf.texi: Likewise.
17093         * doc/posix-functions/write.texi: Likewise.
17094
17095 2011-04-10  Jim Meyering  <meyering@redhat.com>
17096
17097         maint.mk: prohibit doubled words
17098         Detect them also when they're separated by a newline.
17099         There are 3 ways to customize it:
17100           - disable the test on a per file basis, as usual with rules using
17101             $(VC_LIST_EXCEPT)
17102           - replace the default doubled-word-selecting regexp (affects all files)
17103           - ignore a particular file-vs-doubled-word match
17104         I nearly used that last one to ignore the "is is" match in
17105         coreutils' NEWS file, since the text was "ls -is is ..."
17106         To do that, I would have added this line to cfg.mk:
17107           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
17108         but it would have ignored any "is is" match in NEWS.
17109         Low probability, but still...
17110         Instead, I changed the text, slightly:
17111           -  ls -is is now consistent with ls -lis in ignoring values returned
17112           +  "ls -is" is now consistent with ls -lis in ignoring values returned
17113         * top/maint.mk (prohibit_double_word_RE_): Provide default.
17114         (prohibit_doubled_word_): Define.
17115         (sc_prohibit_doubled_word): New rule.
17116         (sc_prohibit_the_the): Remove.  Subsumed by the above.
17117
17118 2011-04-10  Jim Meyering  <meyering@redhat.com>
17119
17120         maint: fix doubled-word typo in comment
17121         * m4/gethostname.m4: s/is is/it is/
17122         * m4/getdomainname.m4: Likewise.
17123
17124 2011-04-10  Jim Meyering  <meyering@redhat.com>
17125
17126         maint: remove doubled word: s/it it/it/
17127         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
17128
17129 2011-04-10  Jim Meyering  <meyering@redhat.com>
17130
17131         maint.mk: remove useless semicolon and backslash
17132         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
17133         semicolon and backslash.
17134
17135 2011-04-10  Bruno Haible  <bruno@clisp.org>
17136
17137         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
17138         * modules/stdint-tests (Depends-on): Add wchar.
17139
17140 2011-04-10  Jim Meyering  <meyering@redhat.com>
17141
17142         maint: remove doubled words in comments, e.g., s/a a/a/
17143         * lib/strptime.c (day_of_the_week): s/the the/the/
17144         * tests/test-chown.h (test_chown): s/a a/a/
17145
17146         test-chown.h: correct a cast
17147         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
17148         when the destination is a stat.st_gid.
17149
17150 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
17151
17152         getaddrinfo: Fix test for sa_len member.
17153         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
17154         include <sys/types.h> before <sys/socket.h>.
17155
17156 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
17157
17158         maint: change "can not" to "cannot"
17159         * doc/posix-functions/iconv.texi (iconv): This one crossed line
17160         boundaries.
17161
17162 2011-04-09  Jim Meyering  <meyering@redhat.com>
17163
17164         maint: change "a a" to "a"
17165         * tests/test-lchown.h (test_lchown): s/a a/a/
17166
17167         maint.mk: prohibit \<the the\>
17168         * top/maint.mk (sc_prohibit_the_the): New rule.
17169
17170         maint: fix "the the" in comment
17171         * lib/count-one-bits.h: s/the the/the/
17172
17173         maint: change "can not" to "cannot"
17174         But do not change the occurrences in maintain.texi or in
17175         build-aux/po/Makefile.in.in, which I presume comes from gettext.
17176         * doc/gnulib-tool.texi: s/can not/cannot/
17177         * doc/posix-functions/accept.texi (accept): Likewise.
17178         * doc/posix-functions/socket.texi (socket): Likewise.
17179         * lib/mbrtowc.c: Likewise.
17180
17181         maint.mk: prohibit use of "can not"
17182         * top/maint.mk (sc_prohibit_can_not): New rule.
17183         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
17184
17185 2011-04-09  Bruno Haible  <bruno@clisp.org>
17186
17187         careadlinkat: Guard against misuse of careadlinkatcwd.
17188         * lib/careadlinkat.c: Include <stdlib.h>.
17189         (careadlinkatcwd): Check that the fd argument is as expected.
17190
17191 2011-04-09  Bruno Haible  <bruno@clisp.org>
17192
17193         careadlinkat: Use common coding style.
17194         * lib/careadlinkat.c: Move gnulib includes after system includes.
17195
17196 2011-04-09  Bruno Haible  <bruno@clisp.org>
17197
17198         careadlinkat: Clarify specification.
17199         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
17200         (careadlinkatcwd): Add comment.
17201         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
17202
17203 2011-04-09  Bruno Haible  <bruno@clisp.org>
17204
17205         areadlinkat: Avoid link error on many platforms.
17206         * modules/areadlinkat (Depends-on): Add areadlink.
17207
17208 2011-04-09  Bruno Haible  <bruno@clisp.org>
17209
17210         allocator, careadlinkat: Fix double-inclusion guard.
17211         * lib/allocator.h: Fix double-inclusion guard.
17212         * lib/careadlinkat.h: Likewise.
17213
17214 2011-04-09  Bruno Haible  <bruno@clisp.org>
17215
17216         relocatable-prog-wrapper: Update after module 'areadlink' changed.
17217         * lib/relocwrapper.c: Update dependencies hierarchy.
17218         * build-aux/install-reloc: Update list of files to be compiled.
17219         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
17220         lib/allocator.[hc].
17221
17222 2011-04-08  Eric Blake  <eblake@redhat.com>
17223
17224         strftime: silence gnulib-tool warning
17225         * modules/strftime-tests (Depends-on): Drop automatic dependency.
17226
17227 2011-04-08  Bruno Haible  <bruno@clisp.org>
17228
17229         verify: Fix syntax error with GCC 4.6 in C++ mode.
17230         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
17231         (HAVE_STATIC_ASSERT): New macro.
17232         (verify_true, verify): Use 'static_assert' if it is supported and
17233         '_Static_assert' is not supported.
17234
17235 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
17236
17237         allocator: New module.
17238         * modules/allocator, lib/allocator.c: New files.
17239         * lib/allocator.h (stdlib_allocator): New decl.
17240         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
17241         Remove.  Do not include <stdlib.h>.
17242         (careadlinkat): Use stdlib_allocator instead of rolling our own.
17243         * modules/careadlinkat (Files): Remove lib/allocator.h.
17244         (Depends-on): Add allocator.
17245
17246         stdlib: let modules use system malloc, realloc
17247         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
17248         if !_GL_USE_STDLIB_ALLOC.
17249         (malloc, realloc): Limit this change to a smaller scope.
17250
17251         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
17252         (malloc, realloc): Don't #undef; no longer needed.
17253         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
17254         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
17255         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
17256         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
17257         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
17258         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
17259         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
17260         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
17261
17262         careadlinkat: rename members to avoid problem
17263         * lib/allocator.h (struct allocator): Rename members from
17264         malloc/realloc to allocate/reallocate, to avoid problems if malloc
17265         and realloc are #define'd.  Reported by Eric Blake in
17266         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
17267         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
17268
17269 2011-04-08  Eric Blake  <eblake@redhat.com>
17270
17271         nonblocking: reduce dependency
17272         * tests/test-nonblocking.c: Only test sockets when in use.
17273         * modules/nonblocking-tests (Depends-on): Drop socket.
17274         (Makefile.am): Link even if sockets are not present.
17275         * modules/pipe2-tests (Makefile.am): Likewise.
17276         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
17277
17278         pipe2: fix O_NONBLOCK support on mingw
17279         * modules/pipe2 (Depends-on): Add nonblocking.
17280         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
17281         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
17282         * tests/test-nonblocking.c (main): Likewise.
17283         * modules/pipe2-tests (Makefile.am): Avoid link failure.
17284
17285         fcntl-h: fix O_ACCMODE on cygwin
17286         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
17287         * lib/fcntl.in.h (O_ACCMODE): Fix it.
17288
17289         pipe-filter: drop O_NONBLOCK workarounds
17290         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
17291         * modules/pipe-filter-ii (Depends-on): Likewise.
17292         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
17293
17294         nonblocking: provide O_NONBLOCK for mingw
17295         * modules/nonblocking (Depends-on): Add open.
17296         (configure.ac): Set new witness macro.
17297         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
17298         * modules/fcntl-h (Makefile.am): Substitute it.
17299         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
17300         nonblocking module is in use.
17301         * lib/nonblocking.c: Adjust portability test.
17302         * lib/open.c (open): Don't let native open see gnulib flag.
17303         * tests/test-fcntl-h.c (main): Enhance test.
17304         * tests/test-open.h (test_open): Likewise.
17305         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
17306
17307         careadlinkat: fix compilation error on mingw
17308         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
17309         within struct allocator.
17310
17311 2011-04-06  Eric Blake  <eblake@redhat.com>
17312
17313         binary-io: relicense under LGPLv2+
17314         * modules/binary-io (License): Relax to LGPLv2+.
17315         Requested for libvirt, and required by pipe2.
17316
17317 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
17318
17319         verify: use _Static_assert if available
17320         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
17321         (verify_true, verify): Use it if available.  This generates better
17322         diagnostics with GCC 4.6.0 and later.
17323
17324 2011-04-05  Bruno Haible  <bruno@clisp.org>
17325
17326         Remove leftover generated .h files after config.status changed.
17327
17328         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
17329         GL_GENERATE_ALLOCA_H.
17330         * modules/alloca-opt (Makefile.am): Remove alloca.h if
17331         GL_GENERATE_ALLOCA_H evaluates to false.
17332
17333         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
17334         GL_GENERATE_ARGZ_H.
17335         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
17336         evaluates to false.
17337
17338         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
17339         GL_GENERATE_BYTESWAP_H.
17340         * modules/byteswap (Makefile.am): Remove byteswap.h if
17341         GL_GENERATE_BYTESWAP_H evaluates to false.
17342
17343         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
17344         GL_GENERATE_ERRNO_H.
17345         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
17346         evaluates to false.
17347
17348         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
17349         GL_GENERATE_FLOAT_H.
17350         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
17351         evaluates to false.
17352
17353         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
17354         GL_GENERATE_FNMATCH_H.
17355         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
17356         GL_GENERATE_FNMATCH_H evaluates to false.
17357
17358         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
17359         GL_GENERATE_GLOB_H.
17360         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
17361         evaluates to false.
17362
17363         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
17364         automake conditional GL_GENERATE_ICONV_H.
17365         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
17366         evaluates to false.
17367
17368         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
17369         GL_GENERATE_NETINET_IN_H.
17370         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
17371         GL_GENERATE_NETINET_IN_H evaluates to false.
17372
17373         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
17374         conditional GL_GENERATE_PTHREAD_H.
17375         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
17376         * modules/pthread (Makefile.am): Remove pthread.h if
17377         GL_GENERATE_PTHREAD_H evaluates to false.
17378
17379         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
17380         GL_GENERATE_SCHED_H.
17381         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
17382         evaluates to false.
17383
17384         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
17385         conditional GL_GENERATE_SELINUX_CONTEXT_H.
17386         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
17387         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
17388
17389         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
17390         GL_GENERATE_STDARG_H.
17391         * modules/stdarg (Makefile.am): Remove stdarg.h if
17392         GL_GENERATE_STDARG_H evaluates to false.
17393
17394         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
17395         GL_GENERATE_STDBOOL_H.
17396         * modules/stdbool (Makefile.am): Remove stdbool.h if
17397         GL_GENERATE_STDBOOL_H evaluates to false.
17398
17399         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
17400         conditional GL_GENERATE_STDDEF_H.
17401         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
17402         * modules/stddef (Makefile.am): Remove stddef.h if
17403         GL_GENERATE_STDDEF_H evaluates to false.
17404
17405         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
17406         GL_GENERATE_STDINT_H.
17407         * modules/stdint (Makefile.am): Remove stdint.h if
17408         GL_GENERATE_STDINT_H evaluates to false.
17409
17410         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
17411         GL_GENERATE_SYSEXITS_H.
17412         * modules/sysexits (Makefile.am): Remove sysexits.h if
17413         GL_GENERATE_SYSEXITS_H evaluates to false.
17414
17415         Reported by Karl Berry and Ralf Wildenhues.
17416
17417 2011-04-05  Bruno Haible  <bruno@clisp.org>
17418
17419         Ensure to rebuild generated .h files when config.status has changed.
17420         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
17421         config.status.
17422         * modules/ctype (Makefile.am): Likewise.
17423         * modules/dirent (Makefile.am): Likewise.
17424         * modules/errno (Makefile.am): Likewise.
17425         * modules/fcntl-h (Makefile.am): Likewise.
17426         * modules/float (Makefile.am): Likewise.
17427         * modules/getopt-posix (Makefile.am): Likewise.
17428         * modules/glob (Makefile.am): Likewise.
17429         * modules/iconv-h (Makefile.am): Likewise.
17430         * modules/inttypes (Makefile.am): Likewise.
17431         * modules/langinfo (Makefile.am): Likewise.
17432         * modules/locale (Makefile.am): Likewise.
17433         * modules/math (Makefile.am): Likewise.
17434         * modules/netdb (Makefile.am): Likewise.
17435         * modules/netinet_in (Makefile.am): Likewise.
17436         * modules/poll-h (Makefile.am): Likewise.
17437         * modules/pthread (Makefile.am): Likewise.
17438         * modules/pty (Makefile.am): Likewise.
17439         * modules/sched (Makefile.am): Likewise.
17440         * modules/search (Makefile.am): Likewise.
17441         * modules/selinux-h (Makefile.am): Likewise.
17442         * modules/signal (Makefile.am): Likewise.
17443         * modules/spawn (Makefile.am): Likewise.
17444         * modules/stdarg (Makefile.am): Likewise.
17445         * modules/stdbool (Makefile.am): Likewise.
17446         * modules/stddef (Makefile.am): Likewise.
17447         * modules/stdint (Makefile.am): Likewise.
17448         * modules/stdio (Makefile.am): Likewise.
17449         * modules/stdlib (Makefile.am): Likewise.
17450         * modules/string (Makefile.am): Likewise.
17451         * modules/strings (Makefile.am): Likewise.
17452         * modules/sys_file (Makefile.am): Likewise.
17453         * modules/sys_ioctl (Makefile.am): Likewise.
17454         * modules/sys_select (Makefile.am): Likewise.
17455         * modules/sys_socket (Makefile.am): Likewise.
17456         * modules/sys_stat (Makefile.am): Likewise.
17457         * modules/sys_time (Makefile.am): Likewise.
17458         * modules/sys_times (Makefile.am): Likewise.
17459         * modules/sys_utsname (Makefile.am): Likewise.
17460         * modules/sys_wait (Makefile.am): Likewise.
17461         * modules/sysexits (Makefile.am): Likewise.
17462         * modules/termios (Makefile.am): Likewise.
17463         * modules/time (Makefile.am): Likewise.
17464         * modules/unistd (Makefile.am): Likewise.
17465         * modules/wchar (Makefile.am): Likewise.
17466         * modules/wctype-h (Makefile.am): Likewise.
17467         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
17468
17469 2011-04-05  Bruno Haible  <bruno@clisp.org>
17470
17471         pipe2: Relicense under LGPLv2+.
17472         * modules/pipe2 (License): Change to LGPLv2+.
17473         Requested by Eric Blake, for libvirt.
17474
17475 2011-04-05  Bruce Korb  <bkorb@gnu.org>
17476
17477         bootstrap: compute gnulib_extra_files after updating build_aux
17478         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
17479         change build_aux or also supply gnulib_extra_files.  Handle correctly.
17480
17481 2011-04-05  Eric Blake  <eblake@redhat.com>
17482
17483         bootstrap: preserve git whitelist item sorting
17484         * build-aux/bootstrap (sort_patterns): New function.
17485         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
17486
17487 2011-04-05  Simon Josefsson  <simon@josefsson.org>
17488
17489         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
17490         sc_space_tab check.
17491
17492 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
17493
17494         areadlink, areadlinkat: rewrite in terms of careadlinkat
17495         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
17496         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
17497         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
17498         (malloc, realloc): Remove #undefs.
17499         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
17500         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
17501         readlink, ssize_t, stdint, unistd.
17502         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
17503         areadlink, stdint.
17504
17505         careadlinkat: new module
17506         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
17507         * modules/careadlinkat: New files, written by me with
17508         a review and feedback from Ben Pfaff in
17509         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
17510
17511 2011-04-01  Bruno Haible  <bruno@clisp.org>
17512
17513         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
17514         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
17515         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
17516         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
17517         Reported by Bruce Korb <bruce.korb@gmail.com>.
17518
17519 2011-04-01  Bruno Haible  <bruno@clisp.org>
17520
17521         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
17522         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
17523         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
17524         * modules/wcpcpy (Depends-on): Add extensions.
17525         * modules/wcpncpy (Depends-on): Likewise.
17526         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
17527         systems.
17528         * doc/posix-functions/wcpncpy.texi: Likewise.
17529         * doc/posix-functions/wcwidth.texi: Likewise.
17530
17531 2011-03-31  Eric Blake  <eblake@redhat.com>
17532
17533         nonblocking: fix mingw test failures
17534         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
17535         non-blocking flag on regular file.
17536         (get_nonblocking_flag): Set errno on invalid fd.
17537         * tests/test-nonblocking.c (main): Avoid test failure on
17538         directories if fchdir is not active.
17539         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
17540
17541 2011-03-31  Bruno Haible  <bruno@clisp.org>
17542
17543         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
17544         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
17545         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
17546         Reported by Simon Josefsson <simon@josefsson.org>.
17547
17548 2011-03-31  Bruno Haible  <bruno@clisp.org>
17549         and Eric Blake  <eblake@redhat.com>
17550
17551         nonblocking: new module
17552         * modules/nonblocking: New module.
17553         * modules/nonblocking-tests: Likewise.
17554         * lib/nonblocking.h: New file.
17555         * lib/nonblocking.c: Likewise.
17556         * tests/test-nonblocking.c: New test.
17557         * lib/ioctl.c (ioctl) [mingw]: Update comment.
17558
17559 2011-03-30  Bruno Haible  <bruno@clisp.org>
17560
17561         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
17562         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
17563         instead of 'printf' format for GCC >= 4.4.
17564         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
17565         (fprintf, printf, vfprintf, vprintf): Declare with
17566         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
17567         the system's vfprintf() function.
17568         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
17569
17570 2011-03-30  Eric Blake  <eblake@redhat.com>
17571
17572         passfd: fix scoping bug
17573         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
17574         before sendmsg/recvmsg.
17575
17576         passfd: standardize coding conventions
17577         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
17578         can be learned at compile time.
17579         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
17580         ifdefs.
17581         (sendfd, recvfd): Follow gnulib code conventions.
17582
17583         passfd: fix incorrect sendmsg arguments
17584         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
17585         incorrect msg_controllen value.
17586         * modules/passfd-tests (Depends-on): Check for alarm.
17587         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
17588         Reported by Bastien ROUCARIES.
17589
17590 2011-03-30  Bruno Haible  <bruno@clisp.org>
17591
17592         c-strcasestr: Relicense under LGPLv2+.
17593         * modules/c-strcasestr (License): Change to LGPLv2+.
17594         Requested by Eric Blake, for libvirt.
17595
17596 2011-03-30  Simon Josefsson  <simon@josefsson.org>
17597
17598         * users.txt: Add libidn2.  Fix libtasn1 link.
17599
17600 2011-03-30  Jim Meyering  <meyering@redhat.com>
17601
17602         tests: readlink* ("",... fails with EINVAL on newer kernels
17603         readlink and readlinkat have typically failed with ENOENT for
17604         the invalid, empty file name,  "".  However, with the advent
17605         of linux-2.6.39, they fail with EINVAL.
17606         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
17607         when operating on the empty file name.
17608         * tests/test-readlink.h (test_readlink): Likewise.
17609
17610 2011-03-29  Bruno Haible  <bruno@clisp.org>
17611
17612         Relicense some modules under LGPLv2+, for libidn2.
17613         * modules/array-mergesort (License): Change to LGPLv2+.
17614         * modules/c-strcaseeq (License): Likewise.
17615         * modules/striconveh (License): Likewise.
17616         * modules/striconveha (License): Likewise.
17617         * modules/uniconv/base (License): Likewise.
17618         * modules/uniconv/u8-conv-from-enc (License): Likewise.
17619         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
17620         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
17621         * modules/unictype/base (License): Likewise.
17622         * modules/unictype/bidiclass-of (License): Likewise.
17623         * modules/unictype/category-M (License): Likewise.
17624         * modules/unictype/category-none (License): Likewise.
17625         * modules/unictype/category-of (License): Likewise.
17626         * modules/unictype/category-test (License): Likewise.
17627         * modules/unictype/category-test-withtable (License): Likewise.
17628         * modules/unictype/combining-class (License): Likewise.
17629         * modules/unictype/joiningtype-of (License): Likewise.
17630         * modules/unictype/scripts (License): Likewise.
17631         * modules/uninorm/base (License): Likewise.
17632         * modules/uninorm/canonical-decomposition (License): Likewise.
17633         * modules/uninorm/composition (License): Likewise.
17634         * modules/uninorm/decompose-internal (License): Likewise.
17635         * modules/uninorm/decomposition-table (License): Likewise.
17636         * modules/uninorm/nfc (License): Likewise.
17637         * modules/uninorm/nfd (License): Likewise.
17638         * modules/uninorm/u32-normalize (License): Likewise.
17639         * modules/unistr/base (License): Likewise.
17640         * modules/unistr/u32-cpy (License): Likewise.
17641         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
17642         * modules/unistr/u32-to-u8 (License): Likewise.
17643         * modules/unistr/u32-uctomb (License): Likewise.
17644         * modules/unistr/u8-check (License): Likewise.
17645         * modules/unistr/u8-mblen (License): Likewise.
17646         * modules/unistr/u8-mbtouc (License): Likewise.
17647         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
17648         * modules/unistr/u8-mbtoucr (License): Likewise.
17649         * modules/unistr/u8-prev (License): Likewise.
17650         * modules/unistr/u8-strlen (License): Likewise.
17651         * modules/unistr/u8-to-u32 (License): Likewise.
17652         * modules/unistr/u8-uctomb (License): Likewise.
17653         * modules/unitypes (License): Likewise.
17654         Requested by Simon Josefsson.
17655
17656 2011-03-29  Simon Josefsson  <simon@josefsson.org>
17657
17658         lib-symbol-visibility: Add a notice.
17659         * modules/lib-symbol-visibility (Notice): New field.
17660
17661 2011-03-29  Bruno Haible  <bruno@clisp.org>
17662
17663         getaddrinfo: Doc fix.
17664         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
17665         section "fixed in Gnulib".
17666
17667 2011-03-28  Simon Josefsson  <simon@josefsson.org>
17668
17669         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
17670         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
17671
17672 2011-03-26  Bruno Haible  <bruno@clisp.org>
17673
17674         unictype/property-byname: Reduce the number of load-time relocations.
17675         * lib/unictype/pr_byname.c: Include <stdlib.h>.
17676         (UC_PROPERTY_INDEX_*): New enumeration values.
17677         (uc_property_byname): Convert an index from the lookup table to an
17678         uc_property_t.
17679         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
17680         values.
17681
17682 2011-03-26  Bruno Haible  <bruno@clisp.org>
17683
17684         unictype/property-byname: Allow omitted word separators and aliases.
17685         * lib/unictype/pr_byname.gperf: Add property names without word
17686         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
17687         for 'space'.
17688
17689 2011-03-26  Bruno Haible  <bruno@clisp.org>
17690
17691         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
17692         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
17693         also hyphens to space.
17694         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
17695         without spaces.
17696         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
17697
17698 2011-03-26  Bruno Haible  <bruno@clisp.org>
17699
17700         unictype/joiningtype-byname: Recognize long names as well.
17701         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
17702         a long name.
17703         * lib/unictype/joiningtype_byname.c: Include <string.h>,
17704         unictype/joiningtype_byname.h.
17705         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
17706         * lib/unictype/joiningtype_byname.gperf: New file.
17707         * modules/unictype/joiningtype-byname (Files): Add
17708         lib/unictype/joiningtype_byname.gperf.
17709         (Depends-on): Add gperf.
17710         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
17711         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
17712         long names.
17713
17714         Tests for module 'unictype/joiningtype-longname'.
17715         * modules/unictype/joiningtype-longname-tests: New file.
17716         * tests/unictype/test-joiningtype_longname.c: New file.
17717
17718         New module 'unictype/joiningtype-longname'.
17719         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
17720         * lib/unictype/joiningtype_longname.c: New file.
17721         * modules/unictype/joiningtype-longname: New file.
17722         * modules/unictype/joiningtype-all (Depends-on): Add
17723         unictype/joiningtype-longname.
17724
17725 2011-03-26  Bruno Haible  <bruno@clisp.org>
17726
17727         unictype/bidiclass-byname: Recognize long names as well.
17728         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
17729         name.
17730         * lib/unictype/bidi_byname.c: Include <string.h>,
17731         unictype/bidi_byname.h.
17732         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
17733         * lib/unictype/bidi_byname.gperf: New file.
17734         * modules/unictype/bidiclass-byname (Files): Add
17735         lib/unictype/bidi_byname.gperf.
17736         (Depends-on): Add gperf.
17737         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
17738         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
17739         long names.
17740
17741         Tests for module 'unictype/bidiclass-longname'.
17742         * modules/unictype/bidiclass-longname-tests: New file.
17743         * tests/unictype/test-bidi_longname.c: New file.
17744
17745         New module 'unictype/bidiclass-longname'.
17746         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
17747         * lib/unictype/bidi_longname.c: New file.
17748         * modules/unictype/bidiclass-longname: New file.
17749         * modules/unictype/bidiclass-all (Depends-on): Add
17750         unictype/bidiclass-longname.
17751
17752 2011-03-26  Bruno Haible  <bruno@clisp.org>
17753
17754         unictype/bidi*: Rename modules.
17755         * modules/unictype/bidiclass-all: Renamed from
17756         modules/unictype/bidicategory-all.
17757         * modules/unictype/bidiclass-name: Renamed from
17758         modules/unictype/bidiclass-name.
17759         (Description): Update.
17760         * modules/unictype/bidiclass-name-tests: Renamed from
17761         modules/unictype/bidicategory-name-tests.
17762         * modules/unictype/bidiclass-byname: Renamed from
17763         modules/unictype/bidicategory-byname.
17764         (Description): Update.
17765         * modules/unictype/bidiclass-byname-tests: Renamed from
17766         modules/unictype/bidicategory-byname-tests.
17767         * modules/unictype/bidiclass-of: Renamed from
17768         modules/unictype/bidicategory-of.
17769         (Description): Update.
17770         * modules/unictype/bidiclass-of-tests: Renamed from
17771         modules/unictype/bidicategory-of-tests.
17772         * modules/unictype/bidiclass-test: Renamed from
17773         modules/unictype/bidicategory-test.
17774         (Description): Update.
17775         * modules/unictype/bidiclass-test-tests: Renamed from
17776         modules/unictype/bidicategory-test-tests.
17777         * modules/unictype/bidicategory-all: New file, a simple redirection.
17778         * modules/unictype/bidicategory-name: Likewise.
17779         * modules/unictype/bidicategory-byname: Likewise.
17780         * modules/unictype/bidicategory-of: Likewise.
17781         * modules/unictype/bidicategory-test: Likewise.
17782         * modules/unictype/property-bidi-* (Dependencies): Update.
17783         * lib/unictype/bidi_*.c: Update comment.
17784
17785 2011-03-26  Bruno Haible  <bruno@clisp.org>
17786
17787         unictype/bidi*: Rename functions, part 2.
17788         * modules/unictype/bidicategory-name (configure.ac): Update required
17789         libunistring version.
17790         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
17791
17792 2011-03-25  Bruno Haible  <bruno@clisp.org>
17793
17794         New module 'unictype/combining-class-all'.
17795         * modules/unictype/combining-class-all: New file.
17796
17797         Tests for module 'unictype/combining-class-byname'.
17798         * modules/unictype/combining-class-byname-tests: New file.
17799         * tests/unictype/test-combiningclass_byname.c: New file.
17800
17801         New module 'unictype/combining-class-byname'.
17802         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
17803         * lib/unictype/combiningclass_byname.c: New file.
17804         * lib/unictype/combiningclass_byname.gperf: New file.
17805         * modules/unictype/combining-class-byname: New file.
17806
17807         Tests for module 'unictype/combining-class-longname'.
17808         * modules/unictype/combining-class-longname-tests: New file.
17809         * tests/unictype/test-combiningclass_longname.c: New file.
17810
17811         New module 'unictype/combining-class-longname'.
17812         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
17813         * lib/unictype/combiningclass_longname.c: New file.
17814         * modules/unictype/combining-class-longname: New file.
17815
17816         Tests for module 'unictype/combining-class-name'.
17817         * modules/unictype/combining-class-name-tests: New file.
17818         * tests/unictype/test-combiningclass_name.c: New file.
17819
17820         New module 'unictype/combining-class-name'.
17821         * lib/unictype.in.h (uc_combining_class_name): New declaration.
17822         * lib/unictype/combiningclass_name.c: New file.
17823         * modules/unictype/combining-class-name: New file.
17824
17825 2011-03-25  Bruno Haible  <bruno@clisp.org>
17826
17827         unictype/combining-class: Rename source files.
17828         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
17829         of unictype/combining.h.
17830         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
17831         Update.
17832         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
17833         * modules/unictype/combining-class (Description): Fix.
17834         (Files, Makefile.am): Update.
17835         * tests/unictype/test-combiningclass.c: Renamed from
17836         tests/unictype/test-combining.c.
17837         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
17838
17839 2011-03-25  Bruno Haible  <bruno@clisp.org>
17840
17841         unictype: Update list of canonical combining classes.
17842         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
17843
17844 2011-03-25  Bruno Haible  <bruno@clisp.org>
17845
17846         unictype/category-byname: Recognize long names as well.
17847         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
17848         a long name.
17849         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
17850         unictype/categ_byname.h.
17851         (UC_CATEGORY_INDEX_*): New enumeration values.
17852         (uc_general_category_byname): Use uc_general_category_lookup and
17853         convert from index to value.
17854         * lib/unictype/categ_byname.gperf: New file.
17855         * modules/unictype/category-byname (Files): Add
17856         lib/unictype/categ_byname.gperf.
17857         (Depends-on): Add gperf.
17858         (Makefile.am): Add rule for generating unictype/categ_byname.h.
17859         * tests/unictype/test-categ_byname.c (main): Test the recognition of
17860         long names.
17861
17862         Tests for module 'unictype/category-longname'.
17863         * modules/unictype/category-longname-tests: New file.
17864         * tests/unictype/test-categ_longname.c: New file.
17865
17866         New module 'unictype/category-longname'.
17867         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
17868         * lib/unictype/categ_longname.c: New file.
17869         * modules/unictype/category-longname: New file.
17870         * modules/unictype/category-all (Depends-on): Add it.
17871
17872 2011-03-25  Bruno Haible  <bruno@clisp.org>
17873
17874         Tests for module 'unictype/category-LC'.
17875         * modules/unictype/category-LC-tests: New file.
17876         * tests/unictype/test-categ_LC.c: New file, automatically generated.
17877
17878         New module 'unictype/category-LC'.
17879         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
17880         (UC_CATEGORY_LC): New declaration.
17881         (UC_CASED_LETTER): New macro.
17882         * lib/gen-uni-tables.c (is_category_LC): New function.
17883         (output_categories): Also handle category LC.
17884         (UC_CATEGORY_MASK_LC): New enumeration value.
17885         (general_category_byname): Also handle category LC.
17886         * lib/unictype/categ_LC.c: New file.
17887         * lib/unictype/categ_LC.h: New file, automatically generated.
17888         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
17889         category LC.
17890         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
17891         * modules/unictype/category-LC: New file.
17892         * modules/unictype/category-byname (Depends-on): Add
17893         unictype/category-LC.
17894         * modules/unictype/category-all (Depends-on): Likewise.
17895
17896 2011-03-25  Eric Blake  <eblake@redhat.com>
17897
17898         xmalloc: revert yesterday's regression
17899         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
17900         realloc's underlying behavior (allowing allocation of zero-size
17901         objects, especially if malloc-gnu is also in use).
17902
17903 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
17904
17905         maint.mk: add missing version to VC-tag
17906         * top/maint.mk: git tag was missing actual tag name; add it.
17907
17908         valgrind: do leak checking, and exit with code 1 on error (not 0)
17909         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
17910         to VALGRIND.
17911
17912 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
17913
17914         posix-modules: say what it does.
17915         * posix-modules: Add a line to the --help output saying what it does.
17916
17917 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
17918
17919         xmalloc: Do not leak if underlying realloc is C99 compatible.
17920         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
17921         This avoids a leak on C99-based systems.  See
17922         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
17923
17924 2011-03-24  Eric Blake  <eblake@redhat.com>
17925
17926         realloc: document portability problem
17927         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
17928         passing 0 size to realloc.
17929
17930 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
17931
17932         doc: update users.txt
17933         * users.txt: Add cvsps, tmpwatch
17934
17935 2011-03-23  Matt Rice  <ratmice@gmail.com>
17936
17937         doc: update users.txt
17938         * users.txt: Add gdb.
17939
17940 2011-03-23  Jim Meyering  <meyering@redhat.com>
17941
17942         doc: update users.txt
17943         Looking through matches up to the following URL (there are still
17944         several more pages), I found several projects that use gnulib:
17945         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
17946         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
17947         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
17948
17949 2011-03-22  Bruno Haible  <bruno@clisp.org>
17950
17951         unictype/bidi*: Rename functions.
17952         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
17953         uc_bidi_class, uc_is_bidi_class): New declarations.
17954         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
17955         uc_bidi_category_byname.
17956         (uc_bidi_category_byname): New function.
17957         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
17958         u_bidi_category_name.
17959         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
17960         (uc_bidi_category_name): New function.
17961         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
17962         uc_bidi_category.
17963         (uc_bidi_category): New function.
17964         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
17965         uc_is_bidi_category. Invoke uc_bidi_class.
17966         (uc_is_bidi_category): New function.
17967         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
17968         instead of uc_bidi_category_byname.
17969         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
17970         instead of uc_bidi_category_name.
17971         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
17972         uc_bidi_category.
17973         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
17974         instead of uc_is_bidi_category.
17975
17976 2011-03-21  Bruno Haible  <bruno@clisp.org>
17977
17978         New module 'unictype/joininggroup-all'.
17979         * modules/unictype/joininggroup-all: New file.
17980
17981         Tests for module 'unictype/joininggroup-of'.
17982         * modules/unictype/joininggroup-of-tests: New file.
17983         * tests/unictype/test-joininggroup_of.c: New file.
17984         * tests/unictype/test-joininggroup_of.h: New file, automatically
17985         generated by gen-uni-tables.
17986
17987         New module 'unictype/joininggroup-of'.
17988         * modules/unictype/joininggroup-of: New file.
17989         * lib/unictype/joininggroup_of.c: New file.
17990         * lib/unictype/joininggroup_of.h: New file, automatically generated by
17991         gen-uni-tables.
17992
17993         Tests for module 'unictype/joininggroup-byname'.
17994         * modules/unictype/joininggroup-byname-tests: New file.
17995         * tests/unictype/test-joininggroup_byname.c: New file.
17996
17997         New module 'unictype/joininggroup-byname'.
17998         * modules/unictype/joininggroup-byname: New file.
17999         * lib/unictype/joininggroup_byname.c: New file.
18000         * lib/unictype/joininggroup_byname.gperf: New file.
18001
18002         Tests for module 'unictype/joininggroup-name'.
18003         * modules/unictype/joininggroup-name-tests: New file.
18004         * tests/unictype/test-joininggroup_name.c: New file.
18005
18006         New module 'unictype/joininggroup-name'.
18007         * modules/unictype/joininggroup-name: New file.
18008         * lib/unictype/joininggroup_name.c: New file.
18009         * lib/unictype/joininggroup_name.h: New file.
18010
18011         New module 'unictype/joiningtype-all'.
18012         * modules/unictype/joiningtype-all: New file.
18013
18014         Tests for module 'unictype/joiningtype-of'.
18015         * modules/unictype/joiningtype-of-tests: New file.
18016         * tests/unictype/test-joiningtype_of.c: New file.
18017         * tests/unictype/test-joiningtype_of.h: New file, automatically
18018         generated by gen-uni-tables.
18019
18020         New module 'unictype/joiningtype-of'.
18021         * modules/unictype/joiningtype-of: New file.
18022         * lib/unictype/joiningtype_of.c: New file.
18023         * lib/unictype/joiningtype_of.h: New file, automatically generated by
18024         gen-uni-tables.
18025
18026         Tests for module 'unictype/joiningtype-byname'.
18027         * modules/unictype/joiningtype-byname-tests: New file.
18028         * tests/unictype/test-joiningtype_byname.c: New file.
18029
18030         New module 'unictype/joiningtype-byname'.
18031         * modules/unictype/joiningtype-byname: New file.
18032         * lib/unictype/joiningtype_byname.c: New file.
18033
18034         Tests for module 'unictype/joiningtype-name'.
18035         * modules/unictype/joiningtype-name-tests: New file.
18036         * tests/unictype/test-joiningtype_name.c: New file.
18037
18038         New module 'unictype/joiningtype-name'.
18039         * modules/unictype/joiningtype-name: New file.
18040         * lib/unictype/joiningtype_name.c: New file.
18041
18042         unictype: Add support for Arabic shaping properties.
18043         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
18044         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
18045         declarations.
18046         (UC_JOINING_GROUP_*): New enumeration values.
18047         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
18048         declarations.
18049         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
18050         (unicode_joining_type): New variable.
18051         (UC_JOINING_GROUP_*): New enumeration values.
18052         (unicode_joining_group): New variable.
18053         (fill_arabicshaping, joining_type_as_c_identifier,
18054         output_joining_type_test, output_joining_type,
18055         joining_group_as_c_identifier, output_joining_group_test,
18056         output_joining_group): New functions.
18057         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
18058         fill_arabicshaping and output_joining_type_test, output_joining_type,
18059         output_joining_group_test, output_joining_group.
18060         Reported by Simon Josefsson.
18061
18062 2011-03-21  Jim Meyering  <meyering@redhat.com>
18063
18064         strftime: fix a bug in yesterday's change
18065         * lib/strftime.c (add): Accommodate width's initial value of -1.
18066         Otherwise, nstrftime would copy uninitialized data into
18067         the result buffer.
18068
18069 2011-03-21  Jim Meyering  <meyering@redhat.com>
18070
18071         tests: add strftime-tests module
18072         * tests/test-strftime.c: New file.
18073         * modules/strftime-tests: New module.
18074
18075 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
18076
18077         strftime: don't assume a byte count fits in 'int'
18078         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
18079         found this problem by static analysis, using gcc -Wstrict-overflow
18080         (GCC 4.5.2, x86-64).  This reported an optimization that depended
18081         on an integer overflow having undefined behavior, but it turns out
18082         that the argument is a size, which might not fit in 'int' anyway,
18083
18084 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
18085
18086         stdio: don't require ignore_value around fwrite
18087
18088         This patch works around libc bug 11959
18089         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
18090         Without this patch, applications must often write
18091         ignore_value (fwrite (...)) even though the ignore_value is
18092         not helpful here.  It's common to write many objects, using
18093         fwrite/printf/etc., and then use ferror to detect output error.
18094
18095         I considered making this patch optional, but decided against it,
18096         because libc is obviously being inconsistent here: there is no
18097         reason libc should insist that user code must inspect fwrite
18098         return's value without also insisting that it inspect printf's,
18099         putchar's, etc.  If user code wants to have a strict style where
18100         all these functions' values are checked (so that ferror need not
18101         be checked), we could add support for that style in a new gnulib
18102         module, but in the meantime it's better to be consistent and to
18103         support common usage.
18104
18105         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
18106         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
18107         that we are compiling in checking mode, and if not C++, and
18108         if not already wrapping fwrite for some other reason.
18109         (fwrite): #define to rpl_fwrite if the latter is defined.
18110
18111 2011-03-20  Bruno Haible  <bruno@clisp.org>
18112
18113         verror: Fix compilation error introduced on 2011-02-13.
18114         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
18115         instead of __attribute__.
18116         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18117
18118 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
18119             Bruno Haible  <bruno@clisp.org>
18120
18121         socklen: do not depend on sys_socket
18122         While trying to modify Emacs to use gnulib's socklen module,
18123         I discovered a circular dependency: socklen depends on sys_socket
18124         and vice versa.  Emacs can use socklen, but it does not need
18125         sys_socket because it has its own substitute for sys/socket.h.
18126         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
18127         gl_TYPE_SOCKLEN_T.
18128         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
18129         gl_PREREQ_SYS_H_SOCKET.
18130         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
18131         gl_PREREQ_SYS_H_SOCKET.
18132         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
18133         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
18134         * modules/socklen (Depends-on): Do not depend on sys_socket.
18135         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
18136
18137 2011-03-20  Jim Meyering  <meyering@redhat.com>
18138
18139         maint.mk: sort file names *after* new transformation
18140         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
18141         prefix would have led to an unwarranted failure in GNU parted.
18142         Sort after that transformation.
18143
18144 2011-03-19  Jim Meyering  <meyering@redhat.com>
18145
18146         maint.mk: fix po-file syntax-check rule
18147         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
18148         Patch by Bruno Haible.
18149
18150 2011-03-19  Bruno Haible  <bruno@clisp.org>
18151
18152         socklen: Update comment.
18153         * m4/socklen.m4: Update comment about platforms.
18154
18155 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18156             Bruno Haible  <bruno@clisp.org>
18157
18158         inet_ntop, inet_pton: Simplify.
18159         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
18160         documented to provide socklen_t and we already depend on sys_socket.
18161         * modules/inet_pton (Depends-on): Likewise.
18162         * lib/arpa_inet.in.h: Adjust comment.
18163
18164 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18165             Bruno Haible  <bruno@clisp.org>
18166
18167         netdb: Simplify.
18168         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
18169         documented to provide socklen_t and we already depend on sys_socket.
18170         * lib/netdb.in.h: Adjust comment.
18171
18172 2011-03-19  Bruno Haible  <bruno@clisp.org>
18173
18174         sys_socket, netdb: Document problem with socklen_t.
18175         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
18176         platforms.
18177         * doc/posix-headers/netdb.texi: Likewise.
18178
18179 2011-03-18  Eric Blake  <eblake@redhat.com>
18180
18181         maint.mk: let po check work in VPATH build
18182         * top/maint.mk (po_file): Allow cfg.mk override.
18183         (sc_po_check): Allow VPATH use.
18184         Reported by Jiri Denemark.
18185
18186 2011-03-16  Jim Meyering  <meyering@redhat.com>
18187
18188         maint.mk: allow fine-grained syntax-check exclusion via Make variables
18189         Before, you would have had to create one .x-sc_ file per rule in order
18190         to exempt offending files.  Now, you may instead use a Make variable --
18191         usually defined in cfg.mk -- whose name identifies the affected rule.
18192         * top/maint.mk (_sc_excl): Define.
18193         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
18194         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
18195
18196 2011-03-13  Bruno Haible  <bruno@clisp.org>
18197
18198         ignore-value tests: Avoid warnings.
18199         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
18200         empty for gcc < 3.4.
18201
18202 2011-03-13  Bruno Haible  <bruno@clisp.org>
18203
18204         passfd: Fix link error on Solaris.
18205         * modules/passfd (Description): Correct.
18206         (Depends-on): Add socketlib.
18207         (Link): New section.
18208         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
18209
18210 2011-03-13  Bruno Haible  <bruno@clisp.org>
18211
18212         passfd: Fix link error on AIX 5.2.
18213         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
18214
18215 2011-03-13  Bruno Haible  <bruno@clisp.org>
18216
18217         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
18218         * lib/sys_socket.in.h: Include <stddef.h>.
18219         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
18220         CMSG_FIRSTHDR. Remove unused variable.
18221
18222 2011-03-13  Bruno Haible  <bruno@clisp.org>
18223
18224         passfd: Fix compilation error on OpenBSD.
18225         * lib/passfd.c: Include <sys/uio.h>.
18226
18227 2011-03-13  Bruno Haible  <bruno@clisp.org>
18228
18229         passfd test: Fix warnings.
18230         * tests/test-passfd.c: Include <sys/wait.h>.
18231         (main): Fix typo.
18232
18233 2011-03-13  Bruno Haible  <bruno@clisp.org>
18234
18235         passfd module, part 4, tweaks.
18236         * tests/test-passfd.c: Reorder includes.
18237         (main): Fix perror and printf calls.
18238
18239 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
18240
18241         passfd module, part 4.
18242         * modules/passfd-tests: New file.
18243         * tests/test-passfd.c: New file.
18244
18245 2011-03-13  Jim Meyering  <meyering@redhat.com>
18246
18247         Makefile: rely on GNU make; derive syntax-check rule names
18248         Rather than requiring that each sc_ rule be listed as a dependent
18249         of "check", use features of GNU make to derive the list.
18250         * Makefile (syntax-check-rules): Define.
18251         (check): Depend on the new variable, not the hard-coded list.
18252
18253 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
18254             Bruno Haible  <bruno@clisp.org>
18255
18256         passfd module, part 3.
18257         * lib/passfd.h (recvfd): Add a flags argument.
18258         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
18259         (recvfd): Add a flags argument.
18260         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
18261         exists.
18262         * modules/passfd (Depends-on): Add cloexec.
18263         Suggested by Eric Blake.
18264
18265 2011-03-13  Bruno Haible  <bruno@clisp.org>
18266
18267         passfd module, part 2, tweaks.
18268         * modules/passfd (Files): Reorder.
18269         (Depends-on): Remove errno.
18270         (Include): Remove <sys/socket.h>, <sys/un.h>.
18271         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
18272         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
18273         specification header. Include <sys/socket.h> always. Don't include
18274         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
18275         (sendfd): Clarify that it sets errno when it fails.
18276         (recvfd): Fix specification.
18277
18278 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
18279
18280         passfd module, part 2.
18281         * modules/passfd: New file.
18282         * lib/passfd.h: New file.
18283         * lib/passfd.c: New file.
18284
18285 2011-03-12  Bruno Haible  <bruno@clisp.org>
18286
18287         wcswidth, mbswidth: Avoid integer overflow.
18288         * lib/wcswidth.c: Include <limits.h>.
18289         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
18290         * lib/mbswidth.c: Include <limits.h>.
18291         (mbsnwidth): Avoid 'int' overflow.
18292         Reported by Jim Meyering.
18293
18294 2011-03-12  Bruno Haible  <bruno@clisp.org>
18295
18296         futimens, utimensat: Avoid endless recursion on Solaris 10.
18297         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
18298         Solaris.
18299         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
18300         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
18301
18302 2011-03-11  Jim Meyering  <meyering@redhat.com>
18303
18304         maint.mk: relax a regexp to accommodate other formatting styles
18305         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
18306         between "ngettext" and the following "(".
18307
18308 2011-03-11  Pádraig Brady <P@draigBrady.com>
18309
18310         maint.mk: suppress a false positive warning
18311         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
18312         diagnostics are marked with ngettext.
18313
18314 2011-03-10  Eric Blake  <eblake@redhat.com>
18315
18316         wchar: add explicit dependencies, for Tru64
18317         * modules/mbmemcasecoll (Depends-on): Add wchar.
18318         * modules/mbtowc (Depends-on): Likewise.
18319         * modules/vasnprintf (Depends-on): Likewise.
18320         * modules/unistdio/u-printf-args (Depends-on): Likewise.
18321         * modules/wctomb (Depends-on): Likewise.
18322         Reported by Peter O'Gorman.
18323
18324 2011-03-08  Bruno Haible  <bruno@clisp.org>
18325
18326         passfd module, part 1, tweaks.
18327         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
18328         Improve indentation. Improve AC_MSG_CHECKING messages.
18329         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
18330         gl_SOCKET_FAMILIES.
18331
18332 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
18333
18334         passfd module, part 1.
18335         * m4/afunix.m4: New file.
18336         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
18337         sockets.
18338
18339 2011-03-08  Bruno Haible  <bruno@clisp.org>
18340
18341         regex-quote: New API.
18342         * lib/regex-quote.h: Include <stdbool.h>.
18343         (struct regex_quote_spec): New type.
18344         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
18345         New declarations.
18346         (regex_quote_length, regex_quote_copy, regex_quote): Take a
18347         'const struct regex_quote_spec *' argument.
18348         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
18349         (pcre_special): New constant.
18350         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
18351         New functions.
18352         (regex_quote_length, regex_quote_copy, regex_quote): Take a
18353         'const struct regex_quote_spec *' argument.
18354         * modules/regex-quote (Depends-on): Add stdbool.
18355         * tests/test-regex-quote.c (check): Update for new API. Add test for
18356         anchored results.
18357         * NEWS: Mention the API change.
18358         Reported by Reuben Thomas and Eric Blake.
18359
18360 2011-03-06  Bruno Haible  <bruno@clisp.org>
18361
18362         regex-quote: Fix creation of POSIX extended regular expressions.
18363         * lib/regex-quote.c (ere_special): Add grouping and alternation
18364         operators.
18365
18366 2011-03-05  Bruno Haible  <bruno@clisp.org>
18367
18368         doc: Improve doc regarding autopoint vs. gnulib.
18369         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
18370         disable autopoint while running autoreconf.
18371         Suggested by Ralf Wildenhues.
18372
18373 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18374
18375         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
18376         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
18377
18378 2011-03-03  Bruce Korb  <bkorb@gnu.org>
18379
18380         parse-duration: remove xalloc.h dependency
18381         * lib/parse-duration.c (parse_period): handle NULL return from
18382         strdup instead of calling xstrdup().
18383         * modules/parse-duration: remove "xalloc" dependency
18384
18385 2011-03-03  Matthew Booth  <mbooth@redhat.com>
18386
18387         bootstrap: honor m4_base when running aclocal
18388         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
18389
18390 2011-03-02  Jim Meyering  <meyering@redhat.com>
18391
18392         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
18393         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
18394         on request from Matt Booth.
18395
18396 2011-03-01  Eric Blake  <eblake@redhat.com>
18397
18398         test-link: work on Hurd
18399         * tests/test-link.h (test_link): Hurd rejects linking directories
18400         with EISDIR instead of the POSIX-mandated EPERM.
18401
18402 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
18403
18404         stdio: simplify by moving files to printf-posix, sigpipe
18405         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
18406         since this symbol is needed only if printf is replaced.
18407         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
18408         Require gl_ASM_SYMBOL_PREFIX.
18409         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
18410         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
18411         (Depends-on): Add 'raise'.
18412         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
18413         * modules/stdio (Files): Remove lib/stdio-write.c,
18414         m4/asm-underscore.m4.
18415         (Depends-on): Remove 'raise'.
18416
18417         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
18418         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
18419         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
18420         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
18421
18422 2011-02-28  Bruno Haible  <bruno@clisp.org>
18423
18424         localcharset: Assume ANSI C behaviour of free().
18425         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
18426         calling free().
18427         Suggested by Simon Josefsson <simon@josefsson.org>.
18428
18429 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
18430             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
18431             Bruno Haible  <bruno@clisp.org>  (tiny change)
18432
18433         On Cygwin, use /proc file system instead of win32 API.
18434         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
18435         Win32 file names.
18436         (DllMain): Simplify by removing Cygwin specific code.
18437         (find_shared_library_fullname): Use Linux specific implementation also
18438         for Cygwin.
18439         (get_shared_library_fullname): Update accordingly.
18440         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
18441         Win32 file names.
18442         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
18443         Cygwin specific code.
18444
18445 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
18446             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
18447
18448         Fix OpenMP flag detection for various Fortran compilers.
18449         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
18450         OpenMP-conditional compilation construct, to force compile
18451         failure with missing OpenMP flag.
18452         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
18453
18454 2011-02-25  Eric Blake  <eblake@redhat.com>
18455
18456         strstr: expand test coverage
18457         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
18458         compilation.
18459         * tests/test-memmem.c (main): Duplicate tests.
18460         * tests/test-strcasestr.c (main): Likewise.
18461         * tests/test-c-strcasestr.c (main): Likewise.
18462
18463 2011-02-25  Jim Meyering  <meyering@redhat.com>
18464
18465         maint.mk: detect missing-NL-at-EOF, too
18466         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
18467         it also detects when a file lacks a newline at EOF.
18468         (require_exactly_one_NL_at_EOF_): Renamed from
18469         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
18470         since people may well have .x-sc_... file names tied to the
18471         existing name.  Suggested by Eric Blake.
18472
18473 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
18474
18475         dirname: move m4/dos.m4 functionality into lib/dosname.h
18476
18477         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
18478         extracts symbols from it, puts them into config.h; but it's much
18479         easier to use the symbols directly.  filename.h already does this,
18480         but it disagrees with dos.m4 in some respects.  This patch
18481         introduces a different include file dosname.h that packages up
18482         dos.m4, and then later we can work on merging filename.h and
18483         dosname.h.  Applications that need only the easy-to-configure
18484         symbols should consider including dosname.h rather than dirname.h.
18485         * NEWS: Mention incompatible changes.
18486         * m4/dos.m4: Remove.
18487         * lib/dosname.h, modules/dosname: New files.
18488         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
18489         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
18490         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
18491         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
18492         Include dosname.h, not dirname.h.
18493         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
18494         Include dosname.h, for definitions of symbols like ISSLASH
18495         that used to be in config.h.
18496         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
18497         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
18498         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
18499         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
18500         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
18501         * modules/rmdir (Files): Likewise.
18502         * modules/stat (Files): Likewise.
18503         * modules/unlink (Files): Likewise.
18504         * modules/dirname-lgpl (Depends-on): Add dosname.
18505         * modules/lstat (Depends-on): Likewise.
18506         * modules/openat (Depends-on): Likewise.
18507         * modules/rmdir (Depends-on): Likewise.
18508         * modules/savewd (Depends-on): Likewise.
18509         * modules/stat (Depends-on): Likewise.
18510         * modules/unlink (Depends-on): Likewise.
18511         * modules/openat (Depends-on): Remove dirname-lgpl.
18512         * modules/savewd (Depends-on): Likewise.
18513         * tests/test-dirname.c: Do not use removed symbols like
18514         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
18515         the remaining symbols, e.g., ISSLASH ('\\').
18516
18517 2011-02-25  Eric Blake  <eblake@redhat.com>
18518
18519         strstr: revert patches that introduced bug and pessimization
18520         * lib/str-two-way.h: Add another reference.
18521         (two_way_short_needle, two_way_long_needle): Revert changes from
18522         2011-02-24; they pessimize search speed.
18523         (critical_factorization): Partially revert changes from
18524         2010-06-22; they violate the requirement that the left half of the
18525         needle be smaller than the period of the needle.
18526
18527 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
18528
18529         filenamecat: remove unnecessary dependency on dirname-lgpl
18530         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
18531         is no direct dependency, just an indirect one via filenamecat-lgpl.
18532
18533         remove: remove unnecessary use of m4/dos.m4
18534         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
18535         * modules/remove (FILES): Remove m4/dos.m4.
18536
18537         * lib/openat-proc.c: Don't include dirname.h; not needed.
18538
18539         backupfile: remove unnecessary use of m4/dos.m4
18540         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
18541         of its symbols are used by the backupfile code.  backupfile.c does
18542         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
18543         for the rare case of programs that want all their backup file
18544         names to live within 8+3 limits, and dos.m4 doesn't address that.
18545         * modules/backupfile (Files): Remove m4/dos.m4.
18546
18547 2011-02-24  Jim Meyering  <meyering@redhat.com>
18548
18549         strstr: fix a bug whereby strstr would mistakenly return NULL
18550         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
18551         in period calculation.
18552         (two_way_long_needle): Likewise.
18553         The original problem was reported by Mike Stump in
18554         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
18555         Ralf Wildenhues provided the short needle and haystack.
18556         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
18557         Add a more involved test to trigger the bug in two_way_long_needle.
18558
18559 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
18560
18561         gnulib-tool: remove use of bold display in help screen
18562         * gnulib-tool (func_usage): Do not use bold display anymore in the
18563         help screen.  That was just meant to be a temporary emphasis for a
18564         backward-incompatible change.
18565
18566 2011-02-23  Bruno Haible  <bruno@clisp.org>
18567
18568         Fix misindentation of preprocessor directives.
18569         * lib/argp-namefrob.h: Reindent preprocessor directives.
18570         * lib/getopt_int.h (struct _getopt_data): Likewise.
18571         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
18572         * lib/vasnprintf.c (decode_long_double): Likewise.
18573         * tests/test-argmatch.c: Insert blank lines, for clarity.
18574         * tests/test-exclude.c: Likewise.
18575
18576 2011-02-22  Bruno Haible  <bruno@clisp.org>
18577
18578         ioctl: Fix for MacOS X in 64-bit mode.
18579         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
18580         value.
18581         Suggested by Eric Blake.
18582         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
18583
18584 2011-02-22  Jim Meyering  <meyering@redhat.com>
18585
18586         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
18587         * Makefile (sc_cpp_indent_check): Don't limit the check to files
18588         in lib/.
18589
18590 2011-02-22  Eric Blake  <eblake@redhat.com>
18591
18592         maint: avoid any CDPATH issue
18593         * Makefile (sc_cpp_indent_check): Anchor cd argument.
18594
18595         maint: adjust cpp indentation for my modules, as well
18596         * Makefile (sc_cpp_indent_check): Add my name.
18597         * lib/fbufmode.c: Filter through cppi.
18598         * lib/fpurge.c: Likewise.
18599         * lib/freadable.c: Likewise.
18600         * lib/freading.c: Likewise.
18601         * lib/fwritable.c: Likewise.
18602         * lib/fwriting.c: Likewise.
18603         * lib/sigaction.c: Likewise.
18604
18605 2011-02-22  Jim Meyering  <meyering@redhat.com>
18606
18607         maint: adjust cpp indentation to reflect nesting depth
18608         I.e., in a block of code that begins with an unnested "#if",
18609         put one space between the "#" in column 1 and following token.
18610         For example,
18611         -#include <sys/vfs.h>
18612         +# include <sys/vfs.h>
18613         Do this only in .c files that are part of a module I maintain.
18614         * lib/linkat.c: Filter through cppi.
18615         * lib/nanosleep.c: Likewise.
18616         * lib/openat.c: Likewise.
18617         * lib/openat-die.c: Likewise.
18618         * lib/dup3.c: Likewise.
18619         * lib/fchownat.c: Likewise.
18620         * lib/flock.c: Likewise.
18621         * lib/fsync.c: Likewise.
18622         * lib/fts.c: Likewise.
18623         * lib/getpass.c: Likewise.
18624         * lib/gettimeofday.c: Likewise.
18625         * lib/userspec.c: Likewise.
18626         * Makefile (sc_cpp_indent_check): New rule, to check this.
18627
18628 2011-02-22  Bruno Haible  <bruno@clisp.org>
18629
18630         New module 'wctomb'.
18631         * lib/stdlib.in.h (wctomb): New declaration.
18632         * lib/wctomb.c: New file.
18633         * lib/wctomb-impl.h: New file.
18634         * m4/wctomb.m4: New file.
18635         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
18636         REPLACE_WCTOMB.
18637         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
18638         REPLACE_WCTOMB.
18639         * modules/wctomb: New file.
18640         * tests/test-stdlib-c++.cc: Test signature of wctomb.
18641         * doc/posix-functions/wctomb.texi: Mention the new module.
18642         * modules/wctob (Depends-on): Add wctomb.
18643
18644 2011-02-22  Bruno Haible  <bruno@clisp.org>
18645
18646         New module 'mbtowc'.
18647         * lib/stdlib.in.h (mbtowc): New declaration.
18648         * lib/mbtowc.c: New file.
18649         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
18650         * m4/mbtowc.m4: New file.
18651         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
18652         REPLACE_MBTOWC.
18653         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
18654         REPLACE_MBTOWC.
18655         * modules/mbtowc: New file.
18656         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
18657         * doc/posix-functions/mbtowc.texi: Mention the new module.
18658         * modules/btowc (Depends-on): Add mbtowc.
18659
18660 2011-02-22  Bruno Haible  <bruno@clisp.org>
18661
18662         wcrtomb: Add more tests for native Windows platforms.
18663         * tests/test-wcrtomb-w32-1.sh: New file.
18664         * tests/test-wcrtomb-w32-2.sh: New file.
18665         * tests/test-wcrtomb-w32-3.sh: New file.
18666         * tests/test-wcrtomb-w32-4.sh: New file.
18667         * tests/test-wcrtomb-w32-5.sh: New file.
18668         * tests/test-wcrtomb-w32.c: New file.
18669         * modules/wcrtomb-tests (Files): Add them.
18670         (Makefile.am): Arrange to run these tests.
18671         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
18672         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
18673
18674 2011-02-20  Bruno Haible  <bruno@clisp.org>
18675
18676         wcrtomb: Enhance test.
18677         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
18678
18679 2011-02-20  Bruno Haible  <bruno@clisp.org>
18680
18681         mbrtowc: Tiny optimization.
18682         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
18683
18684 2011-02-20  Jim Meyering  <meyering@redhat.com>
18685
18686         test-exclude.c: remove unmatched #endif
18687         * tests/test-exclude.c: Remove stray #endif, left over from
18688         the change of a week ago.
18689
18690 2011-02-19  Jim Meyering  <meyering@redhat.com>
18691
18692         git-version-gen: skip "-dirty" check when appropriate
18693         * build-aux/git-version-gen: Don't run any git commands when the
18694         version string comes from .tarball-version.  Prior to this, we
18695         would run git update-index --refresh even from a just-unpacked
18696         tarball directory, and that could affect a .git/ directory in a
18697         parent of the build directory.  Reported by Mike Frysinger.
18698
18699 2011-02-19  Bruno Haible  <bruno@clisp.org>
18700
18701         unictype/property-byname: Reduce the size of the 'data' segment.
18702         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
18703
18704 2011-02-19  Bruno Haible  <bruno@clisp.org>
18705
18706         unictype/scripts: Reduce the size of the 'data' segment.
18707         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
18708         '%pic'.
18709         * lib/unictype/scripts_byname.gperf: Regenerated.
18710
18711 2011-02-19  Bruno Haible  <bruno@clisp.org>
18712
18713         stdint: Update documentation.
18714         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
18715
18716 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
18717
18718         stdint: omit redundant check for wchar.h
18719         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
18720         always tests whether wchar.h exists, so remove the now-redundant test.
18721
18722 2011-02-18  Bruno Haible  <bruno@clisp.org>
18723
18724         stdint: Cut dependency to module 'wchar'.
18725         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
18726         include the necessary prerequisites.
18727         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
18728         * modules/stdint (Depends-on): Remove wchar.
18729         (Makefile.am): Substitute HAVE_WCHAR_H.
18730         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
18731
18732 2011-02-18  Eric Blake  <eblake@redhat.com>
18733
18734         longlong: skip, rather than fail, on cross-compilation
18735         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
18736         when cross-compiling; regression from 2011-02-16.
18737
18738 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
18739
18740         * NEWS: Mention 2011-02-08 change to stdlib.
18741
18742 2011-02-17  Bruno Haible  <bruno@clisp.org>
18743
18744         getloadavg: Add comments about platforms.
18745         * m4/getloadavg.m4: Add comment.
18746         * lib/getloadavg.c: Likewise.
18747
18748 2011-02-17  Bruno Haible  <bruno@clisp.org>
18749
18750         getloadavg: Fix link error on Solaris 2.6.
18751         * modules/getloadavg (Link): New section.
18752         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
18753         linking test-getloadavg.
18754         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
18755         getloadavg.
18756
18757 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
18758
18759         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
18760         It was 'int', but this doesn't match the IRIX 6.5 manual.
18761         Suggested by Bruno Haible in
18762         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
18763
18764 2011-02-17  Bruno Haible  <bruno@clisp.org>
18765
18766         havelib: Fix comments.
18767         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
18768         change.
18769
18770 2011-02-17  Bruno Haible  <bruno@clisp.org>
18771
18772         havelib: Update config.rpath.
18773         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
18774
18775 2011-02-17  Bruno Haible  <bruno@clisp.org>
18776
18777         getloadavg test: Add some plausibility checks.
18778         * tests/test-getloadavg.c (check_avg): Print a warning when the value
18779         is improbable.
18780
18781 2011-02-16  Eric Blake  <eblake@redhat.com>
18782
18783         maintainer-makefile: make syntax-check a no-op from tarballs
18784         * top/maint.mk (no-vc-detected): New rule.
18785         (local-checks-available): Use it to avoid hanging if someone tries
18786         'make syntax-check' from a tarball.  Also append to any non-syntax
18787         checks already defined in cfg.mk.
18788
18789 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
18790
18791         longlong: tune, particularly for common case of c99
18792
18793         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
18794         or running anything if c99, or if unsigned long long int does not
18795         work.  In either case, we know the answer without further tests.
18796         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
18797         it at most once, and use its results for both long long int and
18798         unsigned long long int.  This is more likely to be efficient in
18799         the common case where the program wants to check for both long
18800         long int and unsigned long long int.
18801         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
18802         since the answer is already known.
18803
18804 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
18805
18806         getloadavg: set errno
18807         * lib/getloadavg.c: Set errno when returning -1.  If no other
18808         error number looks appropriate, set it to ENOSYS if the getloadavg
18809         looks like it can't possibly ever work, ENOTSUP otherwise.
18810         Suggested by Bruno Haible in
18811         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
18812
18813         getloadavg: trim unused parts and speed up 'configure'
18814         * NEWS: Document this.
18815         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
18816         always compiled if getloadavg is absent.
18817         Move test code to ...
18818         * tests/test-getloadavg.c: New file, containing previous
18819         contents of test from lib/getloadavg.c.  It also contains
18820         suggestions by Bruno Haible in
18821         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
18822         * modules/getloadavg-tests: New file.
18823         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
18824         Do tests in the same order as they're needed for getloadavg.c.
18825         Omit setgid-related tests that generate symbols KMEM_GROUP,
18826         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
18827         Do only the tests that are needed to see whether the system has
18828         getloadavg, moving the other tests into ...
18829         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
18830         NLIST_NAME_UNION; nobody should be using it.  Do not define
18831         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
18832         relevant, as the user of this module shouldn't care how getloadavg
18833         is implemented.
18834
18835         getloadavg: omit unused var
18836         * lib/getloadavg.c (getloadavg): Omit unused local variable.
18837
18838 2011-02-15  Jim Meyering  <meyering@redhat.com>
18839
18840         doc: update users.txt
18841         * users.txt: Update iwhd's URL.
18842
18843 2011-02-13  Bruno Haible  <bruno@clisp.org>
18844
18845         Consistent macro naming for macros that use GCC __attribute__.
18846         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
18847         _ATTRIBUTE_NONNULL_.
18848         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
18849         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
18850         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
18851         ATTRIBUTE_DEPRECATED.
18852         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
18853         ATTRIBUTE_NORETURN.
18854         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18855         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18856         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18857         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18858         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
18859         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
18860         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
18861         ATTRIBUTE_SENTINEL.
18862         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
18863         ATTRIBUTE_RETURN_CHECK.
18864         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
18865         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
18866         ATTRIBUTE_NORETURN.
18867         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
18868         Reported by Paul Eggert.
18869
18870 2011-02-13  Bruno Haible  <bruno@clisp.org>
18871
18872         Don't interfere with a program's definition of __attribute__.
18873         * lib/argp.h (__attribute__): Remove definition.
18874         (_GL_ATTRIBUTE_FORMAT): New macro.
18875         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
18876         * lib/argp-fmtstream.h (__attribute__): Remove definition.
18877         (_GL_ATTRIBUTE_FORMAT): New macro.
18878         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
18879         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
18880         GCC 3 or newer.
18881         * lib/error.h (__attribute__): Remove definition.
18882         (_GL_ATTRIBUTE_FORMAT): New macro.
18883         (error, error_at_line): Use it.
18884         * lib/hash.h (__attribute__): Remove definition.
18885         (ATTRIBUTE_WUR): Update definition. Define always.
18886         * lib/openat.h (__attribute__): Remove definition.
18887         (ATTRIBUTE_NORETURN): Update definition. Define always.
18888         * lib/sigpipe-die.h (__attribute__): Remove definition.
18889         (ATTRIBUTE_NORETURN): Update definition. Define always.
18890         * lib/vasnprintf.h (__attribute__): Remove definition.
18891         (_GL_ATTRIBUTE_FORMAT): New macro.
18892         (asnprintf, vasnprintf): Use it.
18893         * lib/xalloc.h (__attribute__): Remove definition.
18894         (ATTRIBUTE_NORETURN): Update definition. Define always.
18895         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
18896         * lib/xmemdup0.h (__attribute__): Remove definition.
18897         (ATTRIBUTE_NORETURN): Update definition. Define always.
18898         * lib/xprintf.h (__attribute__): Remove definition.
18899         (_GL_ATTRIBUTE_FORMAT): New macro.
18900         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
18901         * lib/xstrtol.h (__attribute__): Remove definition.
18902         (ATTRIBUTE_NORETURN): Update definition. Define always.
18903         * lib/xvasprintf.h (__attribute__): Remove definition.
18904         (_GL_ATTRIBUTE_FORMAT): New macro.
18905         (xasprintf, xvasprintf): Use it.
18906         * tests/test-argmatch.c (__attribute__): Remove definition.
18907         (ATTRIBUTE_NORETURN): Update definition. Define always.
18908         * tests/test-exclude.c (__attribute__): Remove definition.
18909         (ATTRIBUTE_NORETURN): Update definition. Define always.
18910         Reported by Paul Eggert.
18911
18912 2011-02-13  Bruno Haible  <bruno@clisp.org>
18913
18914         mbrtowc: Add more tests for native Windows platforms.
18915         * tests/test-mbrtowc-w32-1.sh: New file.
18916         * tests/test-mbrtowc-w32-2.sh: New file.
18917         * tests/test-mbrtowc-w32-3.sh: New file.
18918         * tests/test-mbrtowc-w32-4.sh: New file.
18919         * tests/test-mbrtowc-w32-5.sh: New file.
18920         * tests/test-mbrtowc-w32.c: New file.
18921         * modules/mbrtowc-tests (Files): Add them.
18922         (Makefile.am): Arrange to run these tests.
18923         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
18924         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
18925
18926 2011-02-13  Bruno Haible  <bruno@clisp.org>
18927
18928         mbrtowc: Work around native Windows bug.
18929         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
18930         guess when no suitable locale for testing was found.
18931         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
18932
18933 2011-02-13  Bruno Haible  <bruno@clisp.org>
18934
18935         mbsinit: Work around mingw bug.
18936         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
18937         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
18938         Windows.
18939         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
18940
18941 2011-02-13  Bruno Haible  <bruno@clisp.org>
18942
18943         mbsinit: Don't crash for a NULL argument.
18944         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
18945         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
18946
18947 2011-02-13  Bruno Haible  <bruno@clisp.org>
18948
18949         Don't interfere with a program's definition of __attribute__.
18950         * lib/stdio.in.h (__attribute__): Remove definition.
18951         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
18952         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
18953         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
18954         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
18955         * lib/string.in.h (__attribute__): Remove definition.
18956         Reported by Paul Eggert.
18957
18958 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
18959
18960         stdlib: don't get in the way of non-GCC __attribute__
18961         See thread starting at
18962         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
18963         Revert previous stdlib change, installing the following instead:
18964         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
18965         to get in the way of a non-GCC compiler that supports __attribute__.
18966         (_GL_ATTRIBUTE_RETURN): New macro.
18967         (_Exit): Use it instead of __attribute__.
18968
18969 2011-02-12  Bruno Haible  <bruno@clisp.org>
18970
18971         quotearg test: Avoid test failure on mingw.
18972         * tests/test-quotearg.sh: Convert the locale identifier from native
18973         Windows syntax to Unix syntax.
18974
18975 2011-02-12  Bruno Haible  <bruno@clisp.org>
18976
18977         setlocale: Prefer gnulib's override over libintl's override.
18978         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
18979         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
18980         GNULIB_defined_setlocale is set.
18981
18982 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
18983
18984         stdlib: support non-GCC __attribute__
18985
18986         Fix a serious and tricky problem encountered when attempting to
18987         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
18988         5.5, but it crashed due to memory corruption on Solaris 10 with
18989         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
18990         bits that are otherwise zero.  This tagging is optional inside
18991         Emacs but is preferred and is used when __attribute__ ((__aligned
18992         (8))) works, as it does with both recent-enough GCC and with Sun C
18993         5.11.  However, Sun C 5.11 is not GCC and does not #define
18994         __GNUC__ and __GNUC_MINOR__.
18995
18996         When I added the getloadavg module to Emacs, it brought in
18997         stdlib.in.h, which contained this fragment:
18998
18999            #ifndef __attribute__
19000            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
19001            #  define __attribute__(Spec)   /* empty */
19002            # endif
19003            #endif
19004
19005         When files that include <stdlib.h> were compiled with Sun C 5.11,
19006         the above code disabled __attribute__ ((__aligned (8))), which
19007         caused variables to not be properly aligned, which eventually led
19008         to the pointer corruption mentioned above.  (This was a bit hard
19009         to diagnose, unfortunately.)
19010
19011         Several "#define __attribute__(X) /* empty */" code snippets need
19012         to be eradicated from Gnulib to work with non-GCC compilers that
19013         support __attribute__.  The Autoconf way to do this is to test for
19014         each kind of attribute that we want support for, and selectively
19015         enable that in source code.
19016
19017         Fix this problem just for stdlib.h, by adding a test for the
19018         __noreturn__ attribute, and change stdlib.in.h to use that test
19019         when needed.  This technique can be easily generalized to the
19020         other *.in.h files and attributes, and a similar technique can be
19021         used for *.h and *.c files.  This patch is enough to solve the
19022         problem for Emacs + getloadavg, and I thought I'd publish it for
19023         feedback before undertaking further, similar fixes in other
19024         modules.
19025
19026         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
19027         because it's not needed for stdlib.h.  It merely substitutes the
19028         value directly into stdlib.h.  We may well need to #define it, or
19029         similar symbols, for other modules, but it's nice to also have an
19030         option to not #define it for applications like Emacs that do not
19031         need it.
19032
19033         * lib/stdlib.in.h (__attribute__): Do not #define.
19034         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
19035         be defined only if the _Exit module is also used.
19036         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
19037         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
19038         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
19039         platforms.
19040         * modules/_Exit (Files): Add m4/attribute.m4.
19041         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
19042         * m4/attribute.m4: New file.
19043
19044 2011-02-12  Bruno Haible  <bruno@clisp.org>
19045
19046         wcsrtombs: Work around bug on native Windows.
19047         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
19048         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
19049         instead of len.
19050         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
19051
19052 2011-02-12  Bruno Haible  <bruno@clisp.org>
19053
19054         mbsrtowcs: Work around bug on native Windows.
19055         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
19056         against mingw bug.
19057         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
19058
19059 2011-02-12  Bruno Haible  <bruno@clisp.org>
19060
19061         Avoid setlocale bugs in tests.
19062         * modules/btowc (Dependencies): Add setlocale.
19063         * modules/c-strcase (Dependencies): Likewise.
19064         * modules/mbmemcasecmp (Dependencies): Likewise.
19065         * modules/mbmemcasecoll (Dependencies): Likewise.
19066         * modules/mbrtowc (Dependencies): Likewise.
19067         * modules/mbscasecmp (Dependencies): Likewise.
19068         * modules/mbscasestr (Dependencies): Likewise.
19069         * modules/mbschr (Dependencies): Likewise.
19070         * modules/mbscspn (Dependencies): Likewise.
19071         * modules/mbsinit (Dependencies): Likewise.
19072         * modules/mbsncasecmp (Dependencies): Likewise.
19073         * modules/mbsnrtowcs (Dependencies): Likewise.
19074         * modules/mbspbrk (Dependencies): Likewise.
19075         * modules/mbspcasecmp (Dependencies): Likewise.
19076         * modules/mbsrchr (Dependencies): Likewise.
19077         * modules/mbsrtowcs (Dependencies): Likewise.
19078         * modules/mbsspn (Dependencies): Likewise.
19079         * modules/mbsstr (Dependencies): Likewise.
19080         * modules/nl_langinfo (Dependencies): Likewise.
19081         * modules/quotearg (Dependencies): Likewise.
19082         * modules/unicase/locale-language (Dependencies): Likewise.
19083         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
19084         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
19085         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
19086         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
19087         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
19088         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
19089         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
19090         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
19091         * modules/vasnprintf-posix (Dependencies): Likewise.
19092         * modules/wcrtomb (Dependencies): Likewise.
19093         * modules/wcsnrtombs (Dependencies): Likewise.
19094         * modules/wcsrtombs (Dependencies): Likewise.
19095
19096 2011-02-12  Bruno Haible  <bruno@clisp.org>
19097
19098         setlocale: Workaround native Windows bug.
19099         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
19100         succeeds but sets LC_CTYPE to "C", report a failure.
19101         * tests/test-setlocale2.sh: New file.
19102         * tests/test-setlocale2.c: New file.
19103         * modules/setlocale-tests (Files): Add the new files.
19104         (Makefile.am): Enable test-setlocale2.sh test.
19105         * doc/posix-functions/setlocale.texi: Mention workaround.
19106
19107 2011-02-11  Bruno Haible  <bruno@clisp.org>
19108
19109         Tests for module 'setlocale'.
19110         * modules/setlocale-tests: New file.
19111         * tests/test-setlocale1.sh: New file.
19112         * tests/test-setlocale1.c: New file.
19113
19114         New module 'setlocale'.
19115         * lib/locale.in.h (setlocale): New declaration.
19116         * lib/setlocale.c: New file, based on
19117         gettext/gettext-runtime/intl/setlocale.c.
19118         * m4/setlocale.m4: New file.
19119         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
19120         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
19121         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
19122         REPLACE_SETLOCALE.
19123         * modules/setlocale: New file.
19124         * tests/test-locale-c++.cc: Test the declaration of setlocale.
19125         * doc/posix-functions/setlocale.texi: Mention the new module.
19126
19127 2011-02-11  Bruno Haible  <bruno@clisp.org>
19128
19129         Prepare for locale dependent tests on mingw.
19130         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
19131         because it has the wrong locale encoding.
19132         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
19133         French_France.1252 instead of "fr".
19134         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
19135         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
19136         because it has the wrong locale encoding.
19137         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
19138         native Windows, try Turkish_Turkey.65001.
19139         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
19140         Chinese_China.54936.
19141
19142         Prepare for locale dependent tests on mingw.
19143         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
19144         differently.
19145         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
19146         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
19147         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
19148         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
19149
19150 2011-02-11  Eric Blake  <eblake@redhat.com>
19151
19152         strptime: avoid compiler warnings
19153         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
19154         compiler warnings about dead code.
19155         Reported by Daniel P. Berrange.
19156
19157 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
19158
19159         doc: update users.txt
19160         * users.txt: Add rcs.
19161
19162 2011-02-10  John W. Eaton  <jwe@gnu.org>
19163
19164         doc: update users.txt
19165         * users.txt: Add octave.
19166
19167 2011-02-10  Jim Meyering  <meyering@redhat.com>
19168
19169         doc: update users.txt
19170         * users.txt: Add iwhd.
19171
19172 2011-02-09  Bruno Haible  <bruno@clisp.org>
19173
19174         gnulib-tool: Make copyright notice adjustment more robust.
19175         * gnulib-tool (func_import): In sed_transform_main_lib_file,
19176         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
19177         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
19178         License".
19179         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
19180
19181 2011-02-06  Bruno Haible  <bruno@clisp.org>
19182
19183         New module 'towctrans'.
19184         * modules/towctrans: New file.
19185         * lib/wctype.in.h (towctrans): New declaration.
19186         * lib/towctrans.c: New file.
19187         * lib/towctrans-impl.h: New file.
19188         * m4/towctrans.m4: New file.
19189         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
19190         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
19191         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
19192         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
19193         * doc/posix-functions/towctrans.texi: Mention the new module.
19194
19195 2011-02-06  Bruno Haible  <bruno@clisp.org>
19196
19197         New module 'wctrans'.
19198         * modules/wctrans: New file.
19199         * lib/wctype.in.h (wctrans): New declaration.
19200         * lib/wctrans.c: New file.
19201         * lib/wctrans-impl.h: New file.
19202         * m4/wctrans.m4: New file.
19203         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
19204         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
19205         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
19206         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
19207         * doc/posix-functions/wctrans.texi: Mention the new module.
19208
19209 2011-02-06  Bruno Haible  <bruno@clisp.org>
19210
19211         New module 'iswctype'.
19212         * modules/iswctype: New file.
19213         * lib/wctype.in.h (iswctype): New declaration.
19214         * lib/iswctype.c: New file.
19215         * lib/iswctype-impl.h: New file.
19216         * m4/iswctype.m4: New file.
19217         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
19218         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
19219         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
19220         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
19221         * doc/posix-functions/iswctype.texi: Mention the new module and the
19222         HP-UX 11.00 problem.
19223
19224 2011-02-06  Bruno Haible  <bruno@clisp.org>
19225
19226         New module 'wctype'.
19227         * modules/wctype: Change to represent the wctype() substitute.
19228         * lib/wctype.in.h (wctype): New declaration.
19229         * lib/wctype.c: New file.
19230         * lib/wctype-impl.h: New file.
19231         * m4/wctype.m4: New file.
19232         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
19233         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
19234         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
19235         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
19236         * doc/posix-functions/wctype.texi: Mention the new module and the
19237         HP-UX 11.00 problem.
19238
19239 2011-02-06  Bruno Haible  <bruno@clisp.org>
19240
19241         wctype-h: Ensure wctype_t and wctrans_t are defined.
19242         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
19243         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
19244         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
19245         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
19246         HAVE_WCTRANS_T.
19247         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
19248
19249 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
19250
19251         flock: fix license typo
19252
19253         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
19254         omitted.
19255
19256 2011-02-08  Bruno Haible  <bruno@clisp.org>
19257
19258         Split large sed scripts, for HP-UX sed.
19259         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
19260         to avoid HP-UX limit of 99 commands, in the near future.
19261         * modules/stdlib (Makefile.am): Likewise.
19262         * modules/unistd (Makefile.am): Likewise.
19263         * modules/wchar (Makefile.am): Likewise.
19264         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
19265         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
19266         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
19267
19268 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
19269             Bruno Haible  <bruno@clisp.org>
19270
19271         stdlib: improve random_r modularization
19272         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
19273         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
19274         you also need the random_r module to get this material right.
19275         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
19276         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
19277         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
19278
19279 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
19280
19281         stdlib: don't depend on stdint
19282         * lib/stdlib.in.h: Don't include <stdint.h> merely because
19283         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
19284         be independent of whether stdint.h is needed.
19285         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
19286         here, instead of ...
19287         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
19288         struct random_data should be using the random_r module, not just
19289         the stdlib module (which wouldn't make sense: what package needs
19290         just struct random_data without also needing random_r?).
19291         * modules/stdlib (Depends-on): Remove stdint.
19292
19293         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
19294         See the thread rooted at
19295         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
19296         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
19297         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
19298         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
19299         __VMS)); previously it was always included (via fcntl--.h).
19300         (getloadavg): Do not use c_strtod.  Instead, approximate it by
19301         hand; this is good enough for load averages.  Also, do not use
19302         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
19303         flags directly if available and don't bother otherwise.  (Packages
19304         that need the extra reliability should use the modules that define
19305         these flags on older platforms that lack them.)
19306         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
19307         fcntl-safer.
19308
19309 2011-02-08  Jim Meyering  <meyering@redhat.com>
19310
19311         di-set.h, ino-map.h: add multiple-inclusion guard
19312         Technically, the guard is required only for ino-map.h, due to its
19313         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
19314         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
19315         * lib/ino-map.h: Likewise.
19316
19317 2011-02-06  Bruno Haible  <bruno@clisp.org>
19318
19319         iswblank: Ensure declaration on glibc systems.
19320         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
19321         * modules/iswblank (Dependencies): Add 'extensions'.
19322         * doc/posix-functions/iswblank.texi: Document the glibc problem.
19323
19324 2011-02-06  Bruno Haible  <bruno@clisp.org>
19325
19326         New module 'iswblank'.
19327         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
19328         * modules/iswblank: New file.
19329         * modules/wctype-h (Files): Remove lib/iswblank.c.
19330         (Makefile.am): Substitute GNULIB_ISWBLANK.
19331         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
19332         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
19333         (gl_WCTYPE_H_DEFAULTS): New macro.
19334         (gl_WCTYPE_H): Require it. Remove iswblank related code.
19335         * modules/iswblank-tests: New file.
19336         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
19337         * tests/test-wctype-h.c (main): Remove iswblank tests.
19338         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
19339         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
19340         of 'wctype-h'.
19341         * NEWS: Mention the change.
19342         * modules/mbchar (Depends-on): Add iswblank.
19343
19344 2011-02-08  Bruno Haible  <bruno@clisp.org>
19345
19346         di-set tests: Refactor.
19347         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
19348         unnecessary includes.
19349         (ASSERT): Remove macro.
19350         (main): Make C90 compliant by avoiding variable declaration after
19351         statement.
19352         * modules/di-set-tests (Files): Add tests/macros.h.
19353
19354 2011-02-08  Bruno Haible  <bruno@clisp.org>
19355
19356         ino-map tests: Refactor.
19357         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
19358         unnecessary includes.
19359         (ASSERT): Remove macro.
19360         (main): Make C90 compliant by avoiding variable declaration after
19361         statement.
19362         * modules/ino-map-tests (Files): Add tests/macros.h.
19363
19364 2011-02-08  Jim Meyering  <meyering@redhat.com>
19365
19366         di-set: add "const" to a cast
19367         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
19368         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
19369
19370 2011-02-06  Bruno Haible  <bruno@clisp.org>
19371
19372         Rename module 'wctype' to 'wctype-h'.
19373         * modules/wctype-h: Renamed from modules/wctype.
19374         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
19375         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
19376         (Files, Depends-on, Makefile.am): Update.
19377         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
19378         (Files, Makefile.am): Update.
19379         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
19380         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
19381         * doc/posix-headers/wctype.texi: Update.
19382         * doc/posix-functions/iswalnum.texi: Update.
19383         * doc/posix-functions/iswalpha.texi: Update.
19384         * doc/posix-functions/iswblank.texi: Update.
19385         * doc/posix-functions/iswcntrl.texi: Update.
19386         * doc/posix-functions/iswdigit.texi: Update.
19387         * doc/posix-functions/iswgraph.texi: Update.
19388         * doc/posix-functions/iswlower.texi: Update.
19389         * doc/posix-functions/iswprint.texi: Update.
19390         * doc/posix-functions/iswpunct.texi: Update.
19391         * doc/posix-functions/iswspace.texi: Update.
19392         * doc/posix-functions/iswupper.texi: Update.
19393         * doc/posix-functions/iswxdigit.texi: Update.
19394         * doc/posix-functions/towlower.texi: Update.
19395         * doc/posix-functions/towupper.texi: Update.
19396         * NEWS: Mention the change.
19397         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
19398         * modules/mbchar (Dependencies): Likewise.
19399         * modules/mbswidth (Dependencies): Likewise.
19400         * modules/quotearg (Dependencies): Likewise.
19401         * modules/regex (Dependencies): Likewise.
19402         * modules/wcscasecmp (Dependencies): Likewise.
19403         * modules/wcsncasecmp (Dependencies): Likewise.
19404         * modules/wcwidth (Dependencies): Likewise.
19405
19406 2011-02-06  Bruno Haible  <bruno@clisp.org>
19407
19408         New module 'wcswidth'.
19409         * modules/wcswidth: New file.
19410         * lib/wchar.in.h (wcswidth): New declaration.
19411         * lib/wcswidth.c: New file.
19412         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
19413         * m4/wcswidth.m4: New file.
19414         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
19415         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
19416         REPLACE_WCSWIDTH.
19417         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
19418         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
19419         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
19420         * doc/posix-functions/wcswidth.texi: Mention the new module.
19421
19422 2011-02-06  Bruno Haible  <bruno@clisp.org>
19423
19424         New module 'wcstok'.
19425         * modules/wcstok: New file.
19426         * lib/wchar.in.h (wcstok): New declaration.
19427         * lib/wcstok.c: New file.
19428         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
19429         * m4/wcstok.m4: New file.
19430         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
19431         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
19432         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
19433         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
19434         * doc/posix-functions/wcstok.texi: Mention the new module.
19435
19436 2011-02-06  Bruno Haible  <bruno@clisp.org>
19437
19438         New module 'wcsstr'.
19439         * modules/wcsstr: New file.
19440         * lib/wchar.in.h (wcsstr): New declaration.
19441         * lib/wcsstr.c: New file.
19442         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
19443         * m4/wcsstr.m4: New file.
19444         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
19445         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
19446         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
19447         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
19448         * doc/posix-functions/wcsstr.texi: Mention the new module.
19449
19450 2011-02-06  Bruno Haible  <bruno@clisp.org>
19451
19452         New module 'wcspbrk'.
19453         * modules/wcspbrk: New file.
19454         * lib/wchar.in.h (wcspbrk): New declaration.
19455         * lib/wcspbrk.c: New file.
19456         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
19457         * m4/wcspbrk.m4: New file.
19458         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
19459         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
19460         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
19461         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
19462         * doc/posix-functions/wcspbrk.texi: Mention the new module.
19463
19464 2011-02-06  Bruno Haible  <bruno@clisp.org>
19465
19466         New module 'wcsspn'.
19467         * modules/wcsspn: New file.
19468         * lib/wchar.in.h (wcsspn): New declaration.
19469         * lib/wcsspn.c: New file.
19470         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
19471         * m4/wcsspn.m4: New file.
19472         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
19473         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
19474         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
19475         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
19476         * doc/posix-functions/wcsspn.texi: Mention the new module.
19477
19478 2011-02-06  Bruno Haible  <bruno@clisp.org>
19479
19480         New module 'wcscspn'.
19481         * modules/wcscspn: New file.
19482         * lib/wchar.in.h (wcscspn): New declaration.
19483         * lib/wcscspn.c: New file.
19484         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
19485         * m4/wcscspn.m4: New file.
19486         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
19487         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
19488         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
19489         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
19490         * doc/posix-functions/wcscspn.texi: Mention the new module.
19491
19492 2011-02-06  Bruno Haible  <bruno@clisp.org>
19493
19494         New module 'wcsrchr'.
19495         * modules/wcsrchr: New file.
19496         * lib/wchar.in.h (wcsrchr): New declaration.
19497         * lib/wcsrchr.c: New file.
19498         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
19499         * m4/wcsrchr.m4: New file.
19500         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
19501         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
19502         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
19503         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
19504         * doc/posix-functions/wcsrchr.texi: Mention the new module.
19505
19506 2011-02-06  Bruno Haible  <bruno@clisp.org>
19507
19508         New module 'wcschr'.
19509         * modules/wcschr: New file.
19510         * lib/wchar.in.h (wcschr): New declaration.
19511         * lib/wcschr.c: New file.
19512         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
19513         * m4/wcschr.m4: New file.
19514         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
19515         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
19516         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
19517         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
19518         * doc/posix-functions/wcschr.texi: Mention the new module.
19519
19520 2011-02-06  Bruno Haible  <bruno@clisp.org>
19521
19522         New module 'wcsdup'.
19523         * modules/wcsdup: New file.
19524         * lib/wchar.in.h (wcsdup): New declaration.
19525         * lib/wcsdup.c: New file.
19526         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
19527         * m4/wcsdup.m4: New file.
19528         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
19529         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
19530         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
19531         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
19532         * doc/posix-functions/wcsdup.texi: Mention the new module.
19533
19534 2011-02-06  Bruno Haible  <bruno@clisp.org>
19535
19536         New module 'wcsxfrm'.
19537         * modules/wcsxfrm: New file.
19538         * lib/wchar.in.h (wcsxfrm): New declaration.
19539         * lib/wcsxfrm.c: New file.
19540         * lib/wcsxfrm-impl.h: New file.
19541         * m4/wcsxfrm.m4: New file.
19542         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
19543         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
19544         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
19545         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
19546         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
19547
19548 2011-02-06  Bruno Haible  <bruno@clisp.org>
19549
19550         New module 'wcscoll'.
19551         * modules/wcscoll: New file.
19552         * lib/wchar.in.h (wcscoll): New declaration.
19553         * lib/wcscoll.c: New file.
19554         * lib/wcscoll-impl.h: New file.
19555         * m4/wcscoll.m4: New file.
19556         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
19557         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
19558         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
19559         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
19560         * doc/posix-functions/wcscoll.texi: Mention the new module.
19561
19562 2011-02-06  Bruno Haible  <bruno@clisp.org>
19563
19564         New module 'wcsncasecmp'.
19565         * modules/wcsncasecmp: New file.
19566         * lib/wchar.in.h (wcsncasecmp): New declaration.
19567         * lib/wcsncasecmp.c: New file.
19568         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
19569         * m4/wcsncasecmp.m4: New file.
19570         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
19571         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
19572         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
19573         HAVE_WCSNCASECMP.
19574         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
19575         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
19576
19577 2011-02-06  Bruno Haible  <bruno@clisp.org>
19578
19579         New module 'wcscasecmp'.
19580         * modules/wcscasecmp: New file.
19581         * lib/wchar.in.h (wcscasecmp): New declaration.
19582         * lib/wcscasecmp.c: New file.
19583         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
19584         * m4/wcscasecmp.m4: New file.
19585         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
19586         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
19587         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
19588         HAVE_WCSCASECMP.
19589         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
19590         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
19591
19592 2011-02-05  Bruno Haible  <bruno@clisp.org>
19593
19594         New module 'wcsncmp'.
19595         * modules/wcsncmp: New file.
19596         * lib/wchar.in.h (wcsncmp): New declaration.
19597         * lib/wcsncmp.c: New file.
19598         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
19599         * m4/wcsncmp.m4: New file.
19600         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
19601         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
19602         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
19603         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
19604         * doc/posix-functions/wcsncmp.texi: Mention the new module.
19605
19606 2011-02-05  Bruno Haible  <bruno@clisp.org>
19607
19608         New module 'wcscmp'.
19609         * modules/wcscmp: New file.
19610         * lib/wchar.in.h (wcscmp): New declaration.
19611         * lib/wcscmp.c: New file.
19612         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
19613         * m4/wcscmp.m4: New file.
19614         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
19615         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
19616         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
19617         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
19618         * doc/posix-functions/wcscmp.texi: Mention the new module.
19619
19620 2011-02-05  Bruno Haible  <bruno@clisp.org>
19621
19622         New module 'wcsncat'.
19623         * modules/wcsncat: New file.
19624         * lib/wchar.in.h (wcsncat): New declaration.
19625         * lib/wcsncat.c: New file.
19626         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
19627         * m4/wcsncat.m4: New file.
19628         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
19629         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
19630         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
19631         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
19632         * doc/posix-functions/wcsncat.texi: Mention the new module.
19633
19634 2011-02-05  Bruno Haible  <bruno@clisp.org>
19635
19636         New module 'wcscat'.
19637         * modules/wcscat: New file.
19638         * lib/wchar.in.h (wcscat): New declaration.
19639         * lib/wcscat.c: New file.
19640         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
19641         * m4/wcscat.m4: New file.
19642         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
19643         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
19644         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
19645         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
19646         * doc/posix-functions/wcscat.texi: Mention the new module.
19647
19648 2011-02-05  Bruno Haible  <bruno@clisp.org>
19649
19650         New module 'wcpncpy'.
19651         * modules/wcpncpy: New file.
19652         * lib/wchar.in.h (wcpncpy): New declaration.
19653         * lib/wcpncpy.c: New file.
19654         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
19655         * m4/wcpncpy.m4: New file.
19656         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
19657         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
19658         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
19659         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
19660         * doc/posix-functions/wcpncpy.texi: Mention the new module.
19661
19662 2011-02-05  Bruno Haible  <bruno@clisp.org>
19663
19664         New module 'wcsncpy'.
19665         * modules/wcsncpy: New file.
19666         * lib/wchar.in.h (wcsncpy): New declaration.
19667         * lib/wcsncpy.c: New file.
19668         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
19669         * m4/wcsncpy.m4: New file.
19670         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
19671         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
19672         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
19673         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
19674         * doc/posix-functions/wcsncpy.texi: Mention the new module.
19675
19676 2011-02-05  Bruno Haible  <bruno@clisp.org>
19677
19678         New module 'wcpcpy'.
19679         * modules/wcpcpy: New file.
19680         * lib/wchar.in.h (wcpcpy): New declaration.
19681         * lib/wcpcpy.c: New file.
19682         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
19683         * m4/wcpcpy.m4: New file.
19684         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
19685         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
19686         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
19687         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
19688         * doc/posix-functions/wcpcpy.texi: Mention the new module.
19689
19690 2011-02-05  Bruno Haible  <bruno@clisp.org>
19691
19692         New module 'wcscpy'.
19693         * modules/wcscpy: New file.
19694         * lib/wchar.in.h (wcscpy): New declaration.
19695         * lib/wcscpy.c: New file.
19696         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
19697         * m4/wcscpy.m4: New file.
19698         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
19699         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
19700         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
19701         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
19702         * doc/posix-functions/wcscpy.texi: Mention the new module.
19703
19704 2011-02-05  Bruno Haible  <bruno@clisp.org>
19705
19706         New module 'wcsnlen'.
19707         * modules/wcsnlen: New file.
19708         * lib/wchar.in.h (wcsnlen): New declaration.
19709         * lib/wcsnlen.c: New file.
19710         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
19711         * m4/wcsnlen.m4: New file.
19712         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
19713         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
19714         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
19715         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
19716         * doc/posix-functions/wcsnlen.texi: Mention the new module.
19717
19718 2011-02-05  Bruno Haible  <bruno@clisp.org>
19719
19720         New module 'wcslen'.
19721         * modules/wcslen: New file.
19722         * lib/wchar.in.h (wcslen): New declaration.
19723         * lib/wcslen.c: New file.
19724         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
19725         * m4/wcslen.m4: New file.
19726         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
19727         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
19728         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
19729         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
19730         * doc/posix-functions/wcslen.texi: Mention the new module.
19731
19732 2011-02-05  Bruno Haible  <bruno@clisp.org>
19733
19734         New module 'wmemset'.
19735         * modules/wmemset: New file.
19736         * lib/wchar.in.h (wmemset): New declaration.
19737         * lib/wmemset.c: New file.
19738         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
19739         * m4/wmemset.m4: New file.
19740         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
19741         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
19742         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
19743         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
19744         * doc/posix-functions/wmemset.texi: Mention the new module.
19745
19746 2011-02-05  Bruno Haible  <bruno@clisp.org>
19747
19748         New module 'wmemmove'.
19749         * modules/wmemmove: New file.
19750         * lib/wchar.in.h (wmemmove): New declaration.
19751         * lib/wmemmove.c: New file.
19752         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
19753         * m4/wmemmove.m4: New file.
19754         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
19755         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
19756         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
19757         HAVE_WMEMMOVE.
19758         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
19759         * doc/posix-functions/wmemmove.texi: Mention the new module.
19760
19761 2011-02-05  Bruno Haible  <bruno@clisp.org>
19762
19763         New module 'wmemcpy'.
19764         * modules/wmemcpy: New file.
19765         * lib/wchar.in.h (wmemcpy): New declaration.
19766         * lib/wmemcpy.c: New file.
19767         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
19768         * m4/wmemcpy.m4: New file.
19769         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
19770         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
19771         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
19772         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
19773         * doc/posix-functions/wmemcpy.texi: Mention the new module.
19774
19775 2011-02-05  Bruno Haible  <bruno@clisp.org>
19776
19777         New module 'wmemcmp'.
19778         * modules/wmemcmp: New file.
19779         * lib/wchar.in.h (wmemcmp): New declaration.
19780         * lib/wmemcmp.c: New file.
19781         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
19782         * m4/wmemcmp.m4: New file.
19783         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
19784         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
19785         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
19786         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
19787         * doc/posix-functions/wmemcmp.texi: Mention the new module.
19788
19789 2011-02-07  Jim Meyering  <meyering@redhat.com>
19790
19791         di-set, ino-map: new modules, from coreutils
19792         * lib/di-set.c: New file.
19793         * lib/di-set.h: Likewise.
19794         * lib/ino-map.c: Likewise.
19795         * lib/ino-map.h: Likewise.
19796         * modules/di-set: Likewise.
19797         * modules/di-set-tests: Likewise.
19798         * modules/ino-map: Likewise.
19799         * modules/ino-map-tests: Likewise.
19800         * tests/test-di-set.c: Likewise.
19801         * tests/test-ino-map.c: Likewise.
19802
19803 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
19804
19805         getloadavg: merge minor changes from Emacs
19806
19807         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
19808         (getloadavg): Use memset, not bzero.
19809
19810         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
19811         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
19812         clash (bug#86).
19813
19814 2010-11-14  Bruno Haible  <bruno@clisp.org>
19815
19816         Allow multiple gnulib generated replacements to coexist.
19817         * lib/getopt.in.h (struct option): Avoid identical redefinition.
19818         * lib/inttypes.in.h (imaxdiv_t): Likewise.
19819         * lib/langinfo.in.h (nl_item): Likewise.
19820         * lib/math.in.h (_NaN, NAN): Likewise.
19821         * lib/netdb.in.h (struct addrinfo): Likewise.
19822         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
19823         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
19824         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
19825         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
19826         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
19827         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
19828         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
19829         pthread_mutexattr_init, pthread_mutexattr_settype,
19830         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
19831         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
19832         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
19833         pthread_spin_trylock, pthread_spin_unlock): Likewise.
19834         * lib/sched.in.h (struct sched_param): Likewise.
19835         * lib/se-selinux.in.h (security_class_t, security_context_t,
19836         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
19837         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
19838         lsetfilecon, fsetfilecon, security_check_context,
19839         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
19840         Likewise.
19841         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
19842         Likewise.
19843         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
19844         _gl_function_taking_int_returning_void_t, union sigval,
19845         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
19846         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
19847         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
19848         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
19849         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
19850         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
19851         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
19852         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
19853         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
19854         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
19855         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
19856         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
19857         socklen_t, rpl_fd_isset): Likewise.
19858         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
19859         * lib/sys_time.in.h (struct timeval): Likewise.
19860         * lib/sys_times.in.h (struct tms): Likewise.
19861         * lib/sys_utsname.in.h (struct utsname):
19862         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
19863         * lib/unistd.in.h (getpagesize): Likewise.
19864         * lib/wchar.in.h (mbstate_t): Likewise.
19865         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
19866         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
19867         towlower, towupper): Likewise.
19868         Reported by Sam Steingold <sds@gnu.org>.
19869
19870 2011-02-05  Eric Blake  <eblake@redhat.com>
19871
19872         unsetenv: work around Haiku issues
19873         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
19874         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
19875
19876 2010-12-30  Bruce Korb  <bkorb@gnu.org>
19877
19878         libposix: avoid calling error() within libposix
19879         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
19880         is defined.
19881
19882 2011-02-05  Eric Blake  <eblake@redhat.com>
19883
19884         strerror_r-posix: port to cygwin
19885         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
19886         implementation.
19887         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
19888         * tests/test-strerror_r.c (main): Fix test.
19889         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
19890         issue.
19891
19892 2011-02-05  Bruno Haible  <bruno@clisp.org>
19893
19894         New module 'wmemchr'.
19895         * modules/wmemchr: New file.
19896         * lib/wchar.in.h (wmemchr): New declaration.
19897         * lib/wmemchr.c: New file.
19898         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
19899         * m4/wmemchr.m4: New file.
19900         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
19901         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
19902         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
19903         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
19904         * doc/posix-functions/wmemchr.texi: Mention the new module.
19905
19906 2011-02-04  Eric Blake  <eblake@redhat.com>
19907
19908         fdopendir: detect FreeBSD bug
19909         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
19910         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
19911
19912 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
19913
19914         stdbool: do not define HAVE_STDBOOL_H
19915         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
19916         AC_HEADER_STDBOOL.  All uses changed.  Do not define
19917         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
19918         imported from the latest Autoconf git.  It was motivated by Emacs,
19919         which uses gnulib but does not need HAVE_STDBOOL_H.
19920
19921 2011-02-04  Bruno Haible  <bruno@clisp.org>
19922
19923         wcsnrtombs: Prepare for new module wwcsnrtombs.
19924         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
19925         * lib/wcsnrtombs.c: Include it.
19926         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
19927
19928         wcsrtombs: Prepare for new module wwcsrtombs.
19929         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
19930         * lib/wcsrtombs.c: Include it.
19931         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
19932
19933         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
19934         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
19935         * lib/mbsnrtowcs.c: Include it.
19936         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
19937
19938         mbsrtowcs: Prepare for new module mbsrtowwcs.
19939         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
19940         * lib/mbsrtowcs.c: Include it.
19941         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
19942
19943 2011-02-04  Bruno Haible  <bruno@clisp.org>
19944
19945         vasnprintf: Reduce use of malloc for small format strings.
19946         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
19947         (arguments): Add room for the first 7 arguments.
19948         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
19949         (char_directives, u8_directives, u16_directives, u32_directives): Add
19950         room for the first 7 directives.
19951         * lib/printf-parse.c: Include <string.h>.
19952         (PRINTF_PARSE): Change memory handling code so that it uses the first
19953         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
19954         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
19955         Reported by Pádraig Brady <P@draigbrady.com>.
19956
19957 2011-01-31  Eric Blake  <eblake@redhat.com>
19958
19959         dup2: work around Haiku bug
19960         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
19961         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
19962         * doc/posix-functions/dup2.texi (dup2): Document the bug.
19963         * tests/test-dup2.c (main): Enhance test.
19964
19965 2011-01-31  Simon Josefsson  <simon@josefsson.org>
19966
19967         doc: off_t is not available in eglibc 2.11.2 stdio.h.
19968         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
19969         declared by eglibc 2.11.2.
19970         * lib/stdio.in.h: Likewise.
19971
19972 2011-01-31  Eric Blake  <eblake@redhat.com>
19973
19974         ignore-value: add missing test dependency
19975         * tests/test-ignore-value.c: Revert previous change; stdio.h
19976         provides off_t.
19977         * modules/ignore-value-tests (Depends-on): Add missing dependency.
19978
19979 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
19980
19981         mktime: clarify long_int width checking
19982         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
19983         the top level, to make it clearer that the assumption about
19984         long_int width is being checked.  See
19985         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
19986
19987 2011-01-30  Simon Josefsson  <simon@josefsson.org>
19988
19989         ignore-value: Fix self-test.
19990         * tests/test-ignore-value.c: Include sys/types.h for off_t.
19991
19992 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
19993
19994         TYPE_MAXIMUM: avoid theoretically undefined behavior
19995         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
19996         negative number, which the C Standard says has undefined behavior.
19997         In practice this is not a problem, but might as well do it by the book.
19998         Reported by Rich Felker and Eric Blake; see
19999         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
20000         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
20001         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
20002         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
20003         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
20004         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20005         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
20006
20007         mktime: #undef mktime before #defining it
20008         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
20009
20010         mktime: systematically normalize tm_isdst comparisons
20011         * lib/mktime.c (isdst_differ): New function.
20012         (__mktime_internal): Use it systematically for all isdst comparisons.
20013         This completes the fix for libc BZ #6723, and removes the need for
20014         normalizing tm_isdst.  See
20015         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
20016         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
20017
20018         mktime: fix some integer overflow issues and sidestep the rest
20019
20020         This was prompted by a bug report by Benjamin Lindner for MinGW
20021         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
20022         His bug is due to signed integer overflow (0 - INT_MIN), and I
20023         I scanned through mktime.c looking for other integer overflow
20024         problems, fixing all the bugs I found.
20025
20026         Although the C Standard says the resulting code is still not safe
20027         in the presence of integer overflow, in practice it should be good
20028         enough for all real-world two's-complement implementations, except
20029         for debugging environments that deliberately trap on integer
20030         overflow (e.g., gcc -ftrapv).
20031
20032         * lib/mktime.c (WRAPV): New macro.
20033         (SHR): Also check that long_int and time_t shift right in the
20034         usual way, before using the fast-but-unportable method.
20035         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
20036         used.  The code already assumed two's complement, so there's
20037         no need to test for alternatives.  All uses removed.
20038         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
20039         the C standard.  Problem reported by Rich Felker in
20040         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
20041         (twos_complement_arithmetic): Also check long_int and time_t.
20042         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
20043         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
20044         (__mktime_internal): Avoid integer overflow with unary subtraction
20045         in two instances where -1 - X is an adequate replacement for -X,
20046         since the calculations are approximate.
20047
20048 2011-01-29  Eric Blake  <eblake@redhat.com>
20049
20050         mktime: avoid infinite loop
20051         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
20052         type; behavior is still undefined but portable to all known targets.
20053         Reported by Rich Felker.
20054
20055 2011-01-29  Simon Josefsson  <simon@josefsson.org>
20056
20057         rename, unlink, same-inode: Relicense.
20058         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
20059         * modules/unlink (License): Likewise.
20060         * modules/same-inode (License): Likewise.
20061
20062 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
20063
20064         mktime: avoid problems on NetBSD 5 / i386
20065         * lib/mktime.c (long_int): New type.  This works around a problem
20066         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
20067         but time_t is 64 bits, and where I expect the existing code is
20068         wrong in some cases.
20069         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
20070         (ydhms_diff): Bring back the compile-time check for wide-enough
20071         year and yday.
20072
20073         mktime: fix misspelling in comment
20074         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
20075         This merges all recent glibc changes of importance.
20076
20077 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20078
20079         move-if-change: cope with concurrent mv of identical file.
20080         * build-aux/move-if-change (CMPPROG): Accept environment
20081         variable as an override for `cmp'.
20082         (usage): Document CMPPROG.
20083         Adjust comparison to drop stdout.  Cope with failure of mv if
20084         the target file exists and is identical to the source, for
20085         parallel builds.
20086         Report from H.J. Lu against binutils in PR binutils/12283.
20087
20088 2011-01-28  Bruce Korb  <bkorb@gnu.org>
20089
20090         * users.txt: Mention sharutils.
20091
20092 2011-01-28  Simon Josefsson  <simon@josefsson.org>
20093
20094         * users.txt: Mention OATH Toolkit.
20095
20096 2011-01-27  Bruno Haible  <bruno@clisp.org>
20097
20098         Prepare for supporting FreeBSD 10.
20099         * build-aux/config.libpath: Remove handling of freebsd1*.
20100
20101 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
20102
20103         Prepare for supporting FreeBSD 10.
20104         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
20105         match FreeBSD 10.0.
20106
20107 2011-01-27  Bruno Haible  <bruno@clisp.org>
20108
20109         vma-iter, get-rusage-as: Add OpenBSD support.
20110         * modules/vma-iter (configure.ac): Test for mquery.
20111         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
20112         * lib/vma-iter.c: Include <sys/mman.h>.
20113         (vma_iterate): Add an implementation based on mquery().
20114         * lib/resource-ext.h (get_rusage_as): Update comments.
20115         * lib/get-rusage-as.c: Likewise.
20116         * lib/get-rusage-data.c: Likewise.
20117
20118 2011-01-26  Karl Berry  <karl@gnu.org>
20119
20120         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
20121         variables to make it easier to override the makeinfo program used.
20122
20123 2011-01-26  Eric Blake  <eblake@redhat.com>
20124
20125         fcntl: work around Haiku F_DUPFD bugs
20126         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
20127         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
20128         cloexec bit on duplication.
20129         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
20130
20131 2011-01-26  Bruno Haible  <bruno@clisp.org>
20132
20133         Enable memory leak tests on AIX.
20134         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
20135         * tests/test-fprintf-posix3.c (main): Likewise.
20136
20137 2011-01-26  Bruno Haible  <bruno@clisp.org>
20138
20139         Tests for module 'get-rusage-data'.
20140         * modules/get-rusage-data-tests: New file.
20141         * tests/test-get-rusage-data.c: New file.
20142
20143         New module 'get-rusage-data'.
20144         * lib/resource-ext.h (get_rusage_data): New declaration.
20145         * lib/get-rusage-data.c: New file.
20146         * modules/get-rusage-data: New file.
20147
20148 2011-01-25  Bruno Haible  <bruno@clisp.org>
20149
20150         get-rusage-as: Allow for easier testing.
20151         * lib/resource-ext.h (get_rusage_as): Add comment.
20152         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
20153         (main): New function for interactive testing.
20154
20155 2011-01-25  Bruno Haible  <bruno@clisp.org>
20156
20157         vma-iter: Treat Haiku like BeOS.
20158         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
20159         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
20160
20161 2011-01-25  Eric Blake  <eblake@redhat.com>
20162
20163         c-stack: fix regression on cygwin when libsigsegv is present
20164         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
20165
20166 2011-01-24  Bruno Haible  <bruno@clisp.org>
20167
20168         vma-iter: Avoid empty intervals.
20169         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
20170         on an empty interval.
20171
20172 2011-01-24  Jim Meyering  <meyering@redhat.com>
20173
20174         u64: remove unnecessary #include
20175         * lib/u64.h: Don't include <stddef.h>.  It was not used.
20176
20177 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20178
20179         Allow the user to avoid the HAVE_RAW_DECL_* macros.
20180         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
20181
20182 2011-01-23  Bruno Haible  <bruno@clisp.org>
20183
20184         New module 'vma-iter'.
20185         * lib/vma-iter.h: New file.
20186         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
20187         * modules/vma-iter: New file.
20188         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
20189         for get_rusage_as_via_iterator.
20190         (vma_iterate_callback): New function.
20191         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
20192         * modules/get-rusage-as (Depends-on): Add vma-iter.
20193
20194 2011-01-23  Bruno Haible  <bruno@clisp.org>
20195
20196         uninorm: Tweak includes.
20197         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
20198         Reported by Jim Meyering.
20199
20200 2011-01-23  Bruno Haible  <bruno@clisp.org>
20201
20202         get-rusage-as: Improve on NetBSD.
20203         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
20204         /proc, like on FreeBSD.
20205
20206 2011-01-23  Jim Meyering  <meyering@redhat.com>
20207
20208         xreadlink.h: remove unnecessary #include
20209         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
20210
20211         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
20212         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
20213
20214 2011-01-23  Bruno Haible  <bruno@clisp.org>
20215
20216         get-rusage-as: Fix bug.
20217         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
20218         original limit when aborting the first loop.
20219
20220 2011-01-23  Bruno Haible  <bruno@clisp.org>
20221
20222         wctype: Ensure valid C syntax.
20223         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
20224         unconditionally, instead of gl_NEXT_HEADERS conditionally.
20225
20226 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
20227
20228         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
20229         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
20230         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
20231         as they are needed only for configure's test case.
20232         This removes two unnecessary symbols from config.h.
20233
20234         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
20235         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
20236         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
20237         AC_CHECK_HEADERS_ONCE on a header that we also invoke
20238         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
20239         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
20240         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
20241         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
20242         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
20243         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
20244         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
20245         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20246         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
20247         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
20248         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
20249         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
20250         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
20251         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
20252
20253 2011-01-21  Eric Blake  <eblake@redhat.com>
20254
20255         maintainer-makefile: work with older git for submodule check
20256         * top/maint.mk (public-submodule-commit): Rewrite to avoid
20257         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
20258         Reported by Matthias Bolte.
20259
20260         bootstrap: minor portability fixes
20261         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
20262         (usage): Omit leading capital and trailing . on help phrases, per
20263         GNU Coding Standards.
20264         (check_versions, top level): Prefix messages with script name.
20265
20266 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
20267
20268         bootstrap: support --no-git option
20269         * build-aux/bootstrap: Add --no-git option, to be used when
20270         --gnulib-srcdir points to the exact desired checkout.
20271
20272 2011-01-21  Eric Blake  <eblake@redhat.com>
20273
20274         strerror_r-posix: work with glibc 2.13
20275         * lib/strerror_r.c (strerror_r): Fix return type.
20276
20277 2011-01-21  Pádraig Brady  <P@draigBrady.com>
20278             Bruno Haible  <bruno@clisp.org>
20279
20280         uN_strstr: New unit tests.
20281         * modules/unistr/u8-strstr-tests: New file.
20282         * modules/unistr/u16-strstr-tests: New file.
20283         * modules/unistr/u32-strstr-tests: New file.
20284         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
20285         * tests/unistr/test-u8-strstr.c: New file.
20286         * tests/unistr/test-u16-strstr.c: New file.
20287         * tests/unistr/test-u32-strstr.c: New file.
20288
20289 2011-01-21  Pádraig Brady  <P@draigBrady.com>
20290             Bruno Haible  <bruno@clisp.org>
20291
20292         Make uN_strstr functions O(n) worst-case.
20293         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
20294         16-bit and 32-bit unit cases, use the unibyte algorithm from
20295         lib/mbsstr.c.
20296         * lib/unistr/u8-strstr.c: Include <string.h>.
20297         (UNIT_IS_UINT8_T): New macro.
20298         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
20299         (U_STRLEN, U_STRNLEN): New macros.
20300         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
20301         (U_STRLEN, U_STRNLEN): New macros.
20302         * modules/unistr/u8-strstr (Depends-on): Add strstr.
20303         (configure.ac): Update required libunistring version.
20304         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
20305         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
20306         malloca.
20307         (configure.ac): Update required libunistring version.
20308         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
20309         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
20310         malloca.
20311         (configure.ac): Update required libunistring version.
20312
20313 2011-01-21  Pádraig Brady  <P@draigBrady.com>
20314             Bruno Haible  <bruno@clisp.org>
20315
20316         Prepare for faster uN_strstr functions.
20317         * lib/str-kmp.h: Support definable UNITs.
20318         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
20319         needle_len argument.
20320         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
20321         * lib/mbscasestr.c (mbscasestr): Likewise.
20322
20323 2011-01-21  Pádraig Brady <P@draigBrady.com>
20324
20325         malloca-tests: make faster by unsetting MALLOC_PERTURB_
20326         * tests/test-malloca.c (main): Unset the environment variable
20327         to greatly speed up the test.
20328         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
20329         * modules/malloca-tests: Depend on unsetenv.
20330
20331 2011-01-21  Pádraig Brady <P@draigBrady.com>
20332
20333         ignore-value: remove stdint dependency
20334         * lib/ignore-value.h: Remove <stdint.h>
20335         * modules/ignore-value: Remove stdint dependency.
20336
20337 2011-01-21  Jim Meyering  <meyering@redhat.com>
20338
20339         maint.mk: adjust variable name to be consistent with other gl_ vars
20340         * top/maint.mk (gl_public_submodule_commit): Rename the variable
20341         to be lower case.
20342
20343 2011-01-20  Jim Meyering  <meyering@redhat.com>
20344
20345         maint.mk: make "check" depend on public-submodule-commit by default
20346         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
20347
20348 2011-01-20  Bruno Haible  <bruno@clisp.org>
20349
20350         mbfile, mbiter: Complete change from 2008-12-21.
20351         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
20352         * m4/mbiter.m4 (gl_MBITER): Likewise.
20353
20354 2011-01-20  Jim Meyering  <meyering@redhat.com>
20355
20356         init.sh: insert space between each function name and "()"
20357         * tests/init.sh: Make it a little easier to see that a function's
20358         name is "warn_", and not "warn" when looking at the first part of
20359         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
20360
20361 2011-01-20  Jim Meyering  <meyering@redhat.com>
20362
20363         mountlist: clean up code formatting
20364         * lib/mountlist.c (read_file_system_list): Split a long line,
20365         correct bracing style, use NULL in place of "(struct statfs *)0",
20366         don't parenthesize return value, add spaces around "=" and after
20367         ";-in-for-stmt".
20368
20369 2011-01-14  Markus Duft <mduft@gentoo.org>
20370
20371         mountlist: add support for Interix
20372         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
20373         Apply statvfs to all entries of /dev/fs.
20374         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
20375         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
20376
20377 2011-01-20  Jim Meyering  <meyering@redhat.com>
20378
20379         maint.mk: improve the public-submodule-commit rule
20380         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
20381         to suppress printing of its commands... unless V=1.
20382         Add git submodule's --quiet option to suppress printing of e.g.,
20383         "Entering gnulib" output.
20384         "cd" into $(srcdir) before running git submodule.
20385
20386 2011-01-20  Bruno Haible  <bruno@clisp.org>
20387
20388         include_next: Fix bug introduced on 2011-01-18.
20389         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
20390         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
20391         ac_cv_header_... variable if the second argument is not 'check'.
20392         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
20393         gl_NEXT_HEADERS_INTERNAL.
20394
20395 2011-01-20  Bruno Haible  <bruno@clisp.org>
20396
20397         Allow the user to avoid the GNULIB_TEST_* macros.
20398         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
20399         Suggested by Paul Eggert.
20400
20401 2011-01-14  Jim Meyering  <meyering@redhat.com>
20402
20403         bootstrap: avoid failure when there is no .gitmodules file
20404         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
20405         has been assigned to, even when its value is the empty string.
20406         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
20407         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
20408         Reported by John W. Eaton <jwe@gnu.org>.
20409
20410 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
20411
20412         assume <ctype.h>, ..., <time.h> exist
20413         For years gnulib has been assuming the existence of the headers
20414         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
20415         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
20416         them, since they don't appear to be needed.
20417         * README (Portability guidelines): Document this.
20418         * lib/flock.c: Assume <fcntl.h> exists.
20419         * lib/regex_internal.h: Assume <locale.h> exists.
20420         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
20421         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
20422         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
20423         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
20424         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
20425         * m4/regex.m4 (gl_REGEX): Likewise.
20426         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
20427         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
20428         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
20429         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
20430         * tests/test-argp.c: Likewise.
20431         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
20432
20433         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
20434         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
20435         AA_APPLE_UNIVERSAL_BUILD.  See
20436         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
20437         * NEWS: Document this.
20438
20439 2011-01-19  Eric Blake  <eblake@redhat.com>
20440
20441         c-stack: assume stack overflow if SA_SIGINFO unsupported
20442         * lib/c-stack.c (SIGACTION_WORKS): Rename...
20443         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
20444         sigaction will work.
20445         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
20446         behavior match Linux.
20447         * tests/test-c-stack.c (main): Prefer NULL for pointers.
20448
20449         stdbool-tests: accomodate Haiku
20450         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
20451
20452         binary-io: fix O_TEXT on Haiku
20453         * modules/binary-io (Depends-on): Add fcntl-h.
20454         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
20455         than blindly undefining O_TEXT.
20456         Reported by Scott McCreary.
20457
20458 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
20459
20460         include_next: do not check for standard headers like stddef.h
20461
20462         I found this problem when modifying Emacs to use gnulib.
20463         I noticed that it added HAVE_STDDEF_H to config.h, even though
20464         gnulib always assumes <stddef.h> exists as per README and this
20465         symbol is unnecessary.
20466         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
20467         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
20468         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
20469         faster for headers like stddef.h that are known to exist.
20470         (gl_CHECK_NEXT_HEADERS): Use it.
20471         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
20472         rather than gl_CHECK_NEXT_HEADERS.
20473         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
20474         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
20475
20476 2011-01-18  Eric Blake  <eblake@redhat.com>
20477
20478         ansi-c++-opt: skip C++ dependency style if C++ is unused
20479         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
20480         tests when we know C++ compilation is not desired.
20481         Reported by Scott McCreary.
20482
20483 2011-01-18  Bruno Haible  <bruno@clisp.org>
20484
20485         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
20486         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
20487         (main): Perform test also when getrlimit and setrlimit don't exist or
20488         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
20489         limiting the address space size using setrlimit, compare the address
20490         space size before and after the the test.
20491         * tests/test-dprintf-posix2.c: Likewise.
20492         * tests/test-fprintf-posix3.sh: Update skip messages.
20493         * tests/test-dprintf-posix2.sh: Likewise.
20494         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
20495         * modules/dprintf-posix-tests (Depends-on): Likewise.
20496         Reported by Bruce Korb <bkorb@gnu.org> and
20497         Gary V. Vaughan <gary@gnu.org>.
20498
20499 2011-01-18  Bruno Haible  <bruno@clisp.org>
20500
20501         get-rusage-as: Improvement for Cygwin.
20502         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
20503         areas that are merely reserved.
20504
20505 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
20506
20507         strftime: remove dependencies on multibyte modules
20508
20509         strftime depended on mbrlen, mbsinit, and wchar, but these modules
20510         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
20511         only if __osf__ is defined, and I suspect OSF doesn't need these
20512         other modules.  If my guess is wrong, we'll need to come up with a
20513         variant of strftime that doesn't need the multibyte modules.
20514
20515         I discovered this problem when attempting modify Emacs to use the
20516         strftime module.  With the previous gnulib, this caused Emacs to
20517         need 31 new files, ranging from lib/config.charset to
20518         m4/wint_t.m4.  This was overkill and I expect would be offputting
20519         to the Emacs maintainers.  After this change, only 6 new files are
20520         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
20521         stdbool.m4, and tm_gmtoff.m4.
20522
20523         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
20524         Suggested by Bruno Haible in
20525         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
20526         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
20527         and do not check for wchar.h.
20528         * modules/strftime (Files): Remove m4/mbstate_t.m4.
20529         (Depends-on): Remove mbrlen, mbsinit, wchar.
20530
20531 2011-01-18  Bruno Haible  <bruno@clisp.org>
20532
20533         Tests for module 'get-rusage-as'.
20534         * modules/get-rusage-as-tests: New file.
20535         * tests/test-get-rusage-as.c: New file.
20536
20537         New module 'get-rusage-as'.
20538         * modules/get-rusage-as: New file.
20539         * lib/resource-ext.h: New file.
20540         * lib/get-rusage-as.c: New file.
20541
20542 2011-01-17  Eric Blake  <eblake@redhat.com>
20543
20544         sigaction: relax license from LGPLv3+ to LGPLv2+
20545         * modules/sigaction (License): Relax to LGPLv2+.
20546
20547 2011-01-14  Bruno Haible  <bruno@clisp.org>
20548
20549         filemode: Make function declarations usable in C++ mode.
20550         * lib/filemode.h: Enclose function declarations in extern "C" block.
20551         Reported by John W. Eaton <jwe@gnu.org>.
20552
20553 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
20554
20555         save-cwd: no longer include "xgetcwd.h"
20556         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
20557         This avoids a compilation failure in projects that use save-cwd
20558         without also using the xgetcwd module.
20559
20560 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
20561
20562         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
20563         This is so that a program like Emacs, which needs only dtoastr,
20564         does not have to bother with distributing and compiling ftoastr
20565         and ldtoastr.
20566         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
20567         * modules/dtoastr, modules/ldtoastr: New files.
20568         * modules/ftoastr: Now works just for 'float'.
20569         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
20570         (Makefile.am): Remove ftoastr.h (not needed and no effect),
20571         dtoastr.c, ldtoastr.c.
20572
20573 2011-01-11  Jim Meyering  <meyering@redhat.com>
20574
20575         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
20576         There is no need to work around the lack of the fchdir function,
20577         since gnulib can now provide a replacement when required.
20578         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
20579         * modules/save-cwd (Depends-on): Add fchdir.
20580
20581 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
20582
20583         openat, save-cwd: avoid xmalloc
20584
20585         This removes a direct (but undocumented) dependency of openat on
20586         xalloc, along with an indirect dependency via save-cwd.  It also
20587         removes a dependency of save-cwd on xgetcwd, and thereby
20588         indirectly on xalloc.  This change causes the openat substitute
20589         to fall back on save_cwd when memory is tight, and for save_cwd to
20590         fail instead of dying when memory is tight, but that's good enough.
20591         Problem and initial idea for fix reported by Bastien Roucaries in
20592         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
20593
20594         * lib/openat-proc.c: Include stdlib.h (for malloc), not
20595         xalloc.h (for xmalloc).
20596         (openat_proc_name): Use malloc, not xmalloc.
20597         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
20598         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
20599
20600         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
20601         This avoids heap allocation for file names whose lengths are in
20602         the range 512..1023, with the upper bound increasing to at most
20603         4031 depending on the platform's PATH_MAX.  (We do not want
20604         pathmax.h here as it might supply a non-constant PATH_MAX.)
20605         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
20606         Perhaps they should be moved to malloca.h?
20607         (OPENAT_BUFFER_SIZE): Use them.
20608
20609 2011-01-10  Bruno Haible  <bruno@clisp.org>
20610
20611         doc: Update users.txt.
20612         * users.txt: Add recutils.
20613
20614 2011-01-09  Karl Berry  <karl@gnu.org>
20615
20616         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
20617
20618         * doc/configmake.texi: New file.
20619         * doc/gnulib.texi: Include it.
20620         * modules/configmake: Move documentation from here.
20621
20622 2011-01-09  Bruno Haible  <bruno@clisp.org>
20623
20624         Update to Unicode 6.0.0.
20625         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
20626         (get_lbp): Update for Unicode 6.0.0.
20627         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
20628         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
20629         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
20630         U+11001, U+11038..U+11046. Remove U+06DE.
20631         (uc_width): Fix bounds of planes.
20632         * tests/uniwidth/test-uc_width2.sh: Same updates as in
20633         lib/uniwidth/width.c.
20634         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
20635         trailing whitespace removed.
20636         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
20637         without comments, but with the original copyright notice.
20638         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
20639         * lib/unicase/ignorable.h: Likewise.
20640         * lib/unicase/tocasefold.h: Likewise.
20641         * lib/unicase/tolower.h: Likewise.
20642         * lib/unicase/totitle.h: Likewise.
20643         * lib/unicase/toupper.h: Likewise.
20644         * lib/unictype/bidi_of.h: Likewise.
20645         * lib/unictype/blocks.h: Likewise.
20646         * lib/unictype/categ_C.h: Likewise.
20647         * lib/unictype/categ_Cn.h: Likewise.
20648         * lib/unictype/categ_L.h: Likewise.
20649         * lib/unictype/categ_Ll.h: Likewise.
20650         * lib/unictype/categ_Lm.h: Likewise.
20651         * lib/unictype/categ_Lo.h: Likewise.
20652         * lib/unictype/categ_Lu.h: Likewise.
20653         * lib/unictype/categ_M.h: Likewise.
20654         * lib/unictype/categ_Mc.h: Likewise.
20655         * lib/unictype/categ_Me.h: Likewise.
20656         * lib/unictype/categ_Mn.h: Likewise.
20657         * lib/unictype/categ_N.h: Likewise.
20658         * lib/unictype/categ_Nd.h: Likewise.
20659         * lib/unictype/categ_No.h: Likewise.
20660         * lib/unictype/categ_P.h: Likewise.
20661         * lib/unictype/categ_Po.h: Likewise.
20662         * lib/unictype/categ_S.h: Likewise.
20663         * lib/unictype/categ_Sc.h: Likewise.
20664         * lib/unictype/categ_Sk.h: Likewise.
20665         * lib/unictype/categ_Sm.h: Likewise.
20666         * lib/unictype/categ_So.h: Likewise.
20667         * lib/unictype/categ_of.h: Likewise.
20668         * lib/unictype/combining.h: Likewise.
20669         * lib/unictype/ctype_alnum.h: Likewise.
20670         * lib/unictype/ctype_alpha.h: Likewise.
20671         * lib/unictype/ctype_graph.h: Likewise.
20672         * lib/unictype/ctype_lower.h: Likewise.
20673         * lib/unictype/ctype_print.h: Likewise.
20674         * lib/unictype/ctype_punct.h: Likewise.
20675         * lib/unictype/ctype_upper.h: Likewise.
20676         * lib/unictype/decdigit.h: Likewise.
20677         * lib/unictype/digit.h: Likewise.
20678         * lib/unictype/numeric.h: Likewise.
20679         * lib/unictype/pr_alphabetic.h: Likewise.
20680         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
20681         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
20682         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
20683         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
20684         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
20685         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
20686         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
20687         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
20688         * lib/unictype/pr_case_ignorable.h: Likewise.
20689         * lib/unictype/pr_cased.h: Likewise.
20690         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
20691         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
20692         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
20693         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
20694         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
20695         * lib/unictype/pr_combining.h: Likewise.
20696         * lib/unictype/pr_composite.h: Likewise.
20697         * lib/unictype/pr_currency_symbol.h: Likewise.
20698         * lib/unictype/pr_decimal_digit.h: Likewise.
20699         * lib/unictype/pr_deprecated.h: Likewise.
20700         * lib/unictype/pr_format_control.h: Likewise.
20701         * lib/unictype/pr_grapheme_base.h: Likewise.
20702         * lib/unictype/pr_grapheme_extend.h: Likewise.
20703         * lib/unictype/pr_grapheme_link.h: Likewise.
20704         * lib/unictype/pr_id_continue.h: Likewise.
20705         * lib/unictype/pr_id_start.h: Likewise.
20706         * lib/unictype/pr_ideographic.h: Likewise.
20707         * lib/unictype/pr_lowercase.h: Likewise.
20708         * lib/unictype/pr_math.h: Likewise.
20709         * lib/unictype/pr_numeric.h: Likewise.
20710         * lib/unictype/pr_other_alphabetic.h: Likewise.
20711         * lib/unictype/pr_other_id_continue.h: Likewise.
20712         * lib/unictype/pr_other_math.h: Likewise.
20713         * lib/unictype/pr_punctuation.h: Likewise.
20714         * lib/unictype/pr_sentence_terminal.h: Likewise.
20715         * lib/unictype/pr_terminal_punctuation.h: Likewise.
20716         * lib/unictype/pr_unassigned_code_value.h: Likewise.
20717         * lib/unictype/pr_unified_ideograph.h: Likewise.
20718         * lib/unictype/pr_uppercase.h: Likewise.
20719         * lib/unictype/pr_xid_continue.h: Likewise.
20720         * lib/unictype/pr_xid_start.h: Likewise.
20721         * lib/unictype/scripts.h: Likewise.
20722         * lib/unictype/scripts_byname.gperf: Likewise.
20723         * lib/unictype/sy_java_ident.h: Likewise.
20724         * lib/unigbrk/gbrkprop.h: Likewise.
20725         * lib/unilbrk/lbrkprop1.h: Likewise.
20726         * lib/unilbrk/lbrkprop2.h: Likewise.
20727         * lib/uninorm/decomposition-table2.h: Likewise.
20728         * lib/uniwbrk/wbrkprop.h: Likewise.
20729         * tests/unicase/test-cased.c: Likewise.
20730         * tests/unicase/test-ignorable.c: Likewise.
20731         * tests/unicase/test-uc_tolower.c: Likewise.
20732         * tests/unicase/test-uc_totitle.c: Likewise.
20733         * tests/unicase/test-uc_toupper.c: Likewise.
20734         * tests/unictype/test-categ_C.c: Likewise.
20735         * tests/unictype/test-categ_Cn.c: Likewise.
20736         * tests/unictype/test-categ_L.c: Likewise.
20737         * tests/unictype/test-categ_Ll.c: Likewise.
20738         * tests/unictype/test-categ_Lm.c: Likewise.
20739         * tests/unictype/test-categ_Lo.c: Likewise.
20740         * tests/unictype/test-categ_Lu.c: Likewise.
20741         * tests/unictype/test-categ_M.c: Likewise.
20742         * tests/unictype/test-categ_Mc.c: Likewise.
20743         * tests/unictype/test-categ_Me.c: Likewise.
20744         * tests/unictype/test-categ_Mn.c: Likewise.
20745         * tests/unictype/test-categ_N.c: Likewise.
20746         * tests/unictype/test-categ_Nd.c: Likewise.
20747         * tests/unictype/test-categ_No.c: Likewise.
20748         * tests/unictype/test-categ_P.c: Likewise.
20749         * tests/unictype/test-categ_Po.c: Likewise.
20750         * tests/unictype/test-categ_S.c: Likewise.
20751         * tests/unictype/test-categ_Sc.c: Likewise.
20752         * tests/unictype/test-categ_Sk.c: Likewise.
20753         * tests/unictype/test-categ_Sm.c: Likewise.
20754         * tests/unictype/test-categ_So.c: Likewise.
20755         * tests/unictype/test-ctype_alnum.c: Likewise.
20756         * tests/unictype/test-ctype_alpha.c: Likewise.
20757         * tests/unictype/test-ctype_graph.c: Likewise.
20758         * tests/unictype/test-ctype_lower.c: Likewise.
20759         * tests/unictype/test-ctype_print.c: Likewise.
20760         * tests/unictype/test-ctype_punct.c: Likewise.
20761         * tests/unictype/test-ctype_upper.c: Likewise.
20762         * tests/unictype/test-decdigit.h: Likewise.
20763         * tests/unictype/test-digit.h: Likewise.
20764         * tests/unictype/test-numeric.h: Likewise.
20765         * tests/unictype/test-pr_alphabetic.c: Likewise.
20766         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
20767         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
20768         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
20769         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
20770         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
20771         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
20772         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
20773         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
20774         * tests/unictype/test-pr_case_ignorable.c: Likewise.
20775         * tests/unictype/test-pr_cased.c: Likewise.
20776         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
20777         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
20778         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
20779         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
20780         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
20781         * tests/unictype/test-pr_combining.c: Likewise.
20782         * tests/unictype/test-pr_composite.c: Likewise.
20783         * tests/unictype/test-pr_currency_symbol.c: Likewise.
20784         * tests/unictype/test-pr_decimal_digit.c: Likewise.
20785         * tests/unictype/test-pr_deprecated.c: Likewise.
20786         * tests/unictype/test-pr_format_control.c: Likewise.
20787         * tests/unictype/test-pr_grapheme_base.c: Likewise.
20788         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
20789         * tests/unictype/test-pr_grapheme_link.c: Likewise.
20790         * tests/unictype/test-pr_id_continue.c: Likewise.
20791         * tests/unictype/test-pr_id_start.c: Likewise.
20792         * tests/unictype/test-pr_ideographic.c: Likewise.
20793         * tests/unictype/test-pr_lowercase.c: Likewise.
20794         * tests/unictype/test-pr_math.c: Likewise.
20795         * tests/unictype/test-pr_numeric.c: Likewise.
20796         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
20797         * tests/unictype/test-pr_other_id_continue.c: Likewise.
20798         * tests/unictype/test-pr_other_math.c: Likewise.
20799         * tests/unictype/test-pr_punctuation.c: Likewise.
20800         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
20801         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
20802         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
20803         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
20804         * tests/unictype/test-pr_uppercase.c: Likewise.
20805         * tests/unictype/test-pr_xid_continue.c: Likewise.
20806         * tests/unictype/test-pr_xid_start.c: Likewise.
20807         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
20808         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
20809         changes.
20810         * lib/unictype/categ_Cc.h: Likewise.
20811         * lib/unictype/categ_Cf.h: Likewise.
20812         * lib/unictype/categ_Co.h: Likewise.
20813         * lib/unictype/categ_Cs.h: Likewise.
20814         * lib/unictype/categ_Lt.h: Likewise.
20815         * lib/unictype/categ_Nl.h: Likewise.
20816         * lib/unictype/categ_Pc.h: Likewise.
20817         * lib/unictype/categ_Pd.h: Likewise.
20818         * lib/unictype/categ_Pe.h: Likewise.
20819         * lib/unictype/categ_Pf.h: Likewise.
20820         * lib/unictype/categ_Pi.h: Likewise.
20821         * lib/unictype/categ_Ps.h: Likewise.
20822         * lib/unictype/categ_Z.h: Likewise.
20823         * lib/unictype/categ_Zl.h: Likewise.
20824         * lib/unictype/categ_Zp.h: Likewise.
20825         * lib/unictype/categ_Zs.h: Likewise.
20826         * lib/unictype/ctype_blank.h: Likewise.
20827         * lib/unictype/ctype_cntrl.h: Likewise.
20828         * lib/unictype/ctype_digit.h: Likewise.
20829         * lib/unictype/ctype_space.h: Likewise.
20830         * lib/unictype/ctype_xdigit.h: Likewise.
20831         * lib/unictype/mirror.h: Likewise.
20832         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
20833         * lib/unictype/pr_bidi_block_separator.h: Likewise.
20834         * lib/unictype/pr_bidi_common_separator.h: Likewise.
20835         * lib/unictype/pr_bidi_control.h: Likewise.
20836         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
20837         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
20838         * lib/unictype/pr_bidi_european_digit.h: Likewise.
20839         * lib/unictype/pr_bidi_pdf.h: Likewise.
20840         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
20841         * lib/unictype/pr_bidi_whitespace.h: Likewise.
20842         * lib/unictype/pr_dash.h: Likewise.
20843         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
20844         * lib/unictype/pr_diacritic.h: Likewise.
20845         * lib/unictype/pr_extender.h: Likewise.
20846         * lib/unictype/pr_hex_digit.h: Likewise.
20847         * lib/unictype/pr_hyphen.h: Likewise.
20848         * lib/unictype/pr_ids_binary_operator.h: Likewise.
20849         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
20850         * lib/unictype/pr_ignorable_control.h: Likewise.
20851         * lib/unictype/pr_iso_control.h: Likewise.
20852         * lib/unictype/pr_join_control.h: Likewise.
20853         * lib/unictype/pr_left_of_pair.h: Likewise.
20854         * lib/unictype/pr_line_separator.h: Likewise.
20855         * lib/unictype/pr_logical_order_exception.h: Likewise.
20856         * lib/unictype/pr_non_break.h: Likewise.
20857         * lib/unictype/pr_not_a_character.h: Likewise.
20858         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
20859         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
20860         * lib/unictype/pr_other_id_start.h: Likewise.
20861         * lib/unictype/pr_other_lowercase.h: Likewise.
20862         * lib/unictype/pr_other_uppercase.h: Likewise.
20863         * lib/unictype/pr_paired_punctuation.h: Likewise.
20864         * lib/unictype/pr_paragraph_separator.h: Likewise.
20865         * lib/unictype/pr_pattern_syntax.h: Likewise.
20866         * lib/unictype/pr_pattern_white_space.h: Likewise.
20867         * lib/unictype/pr_private_use.h: Likewise.
20868         * lib/unictype/pr_quotation_mark.h: Likewise.
20869         * lib/unictype/pr_radical.h: Likewise.
20870         * lib/unictype/pr_soft_dotted.h: Likewise.
20871         * lib/unictype/pr_space.h: Likewise.
20872         * lib/unictype/pr_titlecase.h: Likewise.
20873         * lib/unictype/pr_variation_selector.h: Likewise.
20874         * lib/unictype/pr_white_space.h: Likewise.
20875         * lib/unictype/pr_zero_width.h: Likewise.
20876         * lib/unictype/sy_c_ident.h: Likewise.
20877         * lib/unictype/sy_c_whitespace.h: Likewise.
20878         * lib/unictype/sy_java_whitespace.h: Likewise.
20879         * lib/uninorm/composition-table.gperf: Likewise.
20880         * lib/uninorm/decomposition-table1.h: Likewise.
20881         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
20882         LB8.
20883         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
20884         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
20885         * modules/unictype/*: Bump version number of expected libunistring
20886         version.
20887
20888 2011-01-09  Bruno Haible  <bruno@clisp.org>
20889
20890         Update to Unicode 5.2.0.
20891         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
20892         trailing whitespace removed.
20893
20894 2011-01-09  Bruno Haible  <bruno@clisp.org>
20895
20896         New Unicode character properties, from Unicode 5.2.0.
20897         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
20898         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
20899         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
20900         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
20901         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
20902         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
20903         uc_is_property_cased, uc_is_property_case_ignorable,
20904         uc_is_property_changes_when_lowercased,
20905         uc_is_property_changes_when_uppercased,
20906         uc_is_property_changes_when_titlecased,
20907         uc_is_property_changes_when_casefolded,
20908         uc_is_property_changes_when_casemapped): New declarations.
20909         * lib/unictype/pr_byname.gperf: Add the new properties.
20910         * modules/unictype/property-byname (Depends-on): Depend on the new
20911         properties modules.
20912         * modules/unictype/property-all (Depends-on): Likewise.
20913         * MODULES.html.sh (Unicode string functions): Add
20914         unictype/property-case-ignorable, unictype/property-cased,
20915         unictype/property-changes-when-casefolded,
20916         unictype/property-changes-when-casemapped,
20917         unictype/property-changes-when-lowercased,
20918         unictype/property-changes-when-titlecased,
20919         unictype/property-changes-when-uppercased.
20920
20921         New module 'unictype/property-changes-when-casemapped'.
20922         * modules/unictype/property-changes-when-casemapped: New file.
20923         * lib/unictype/pr_changes_when_casemapped.c: New file.
20924         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
20925         generated by gen-uni-tables.
20926         * modules/unictype/property-changes-when-casemapped-tests: New file.
20927         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
20928         automatically generated by gen-uni-tables.
20929
20930         New module 'unictype/property-changes-when-casefolded'.
20931         * modules/unictype/property-changes-when-casefolded: New file.
20932         * lib/unictype/pr_changes_when_casefolded.c: New file.
20933         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
20934         generated by gen-uni-tables.
20935         * modules/unictype/property-changes-when-casefolded-tests: New file.
20936         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
20937         automatically generated by gen-uni-tables.
20938
20939         New module 'unictype/property-changes-when-titlecased'.
20940         * modules/unictype/property-changes-when-titlecased: New file.
20941         * lib/unictype/pr_changes_when_titlecased.c: New file.
20942         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
20943         generated by gen-uni-tables.
20944         * modules/unictype/property-changes-when-titlecased-tests: New file.
20945         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
20946         automatically generated by gen-uni-tables.
20947
20948         New module 'unictype/property-changes-when-uppercased'.
20949         * modules/unictype/property-changes-when-uppercased: New file.
20950         * lib/unictype/pr_changes_when_uppercased.c: New file.
20951         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
20952         generated by gen-uni-tables.
20953         * modules/unictype/property-changes-when-uppercased-tests: New file.
20954         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
20955         automatically generated by gen-uni-tables.
20956
20957         New module 'unictype/property-changes-when-lowercased'.
20958         * modules/unictype/property-changes-when-lowercased: New file.
20959         * lib/unictype/pr_changes_when_lowercased.c: New file.
20960         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
20961         generated by gen-uni-tables.
20962         * modules/unictype/property-changes-when-lowercased-tests: New file.
20963         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
20964         automatically generated by gen-uni-tables.
20965
20966         New module 'unictype/property-case-ignorable'.
20967         * modules/unictype/property-case-ignorable: New file.
20968         * lib/unictype/pr_case_ignorable.c: New file.
20969         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
20970         by gen-uni-tables.
20971         * modules/unictype/property-case-ignorable-tests: New file.
20972         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
20973         generated by gen-uni-tables.
20974
20975         New module 'unictype/property-cased'.
20976         * modules/unictype/property-cased: New file.
20977         * lib/unictype/pr_cased.c: New file.
20978         * lib/unictype/pr_cased.h: New file, automatically generated by
20979         gen-uni-tables.
20980         * modules/unictype/property-cased-tests: New file.
20981         * tests/unictype/test-pr_cased.c: New file, automatically generated by
20982         gen-uni-tables.
20983
20984 2011-01-09  Bruno Haible  <bruno@clisp.org>
20985
20986         Update to Unicode 5.2.0.
20987         * lib/gen-uni-tables.c (output_predicate, output_category,
20988         output_combclass, output_bidi_category, output_decimal_digit_test,
20989         output_decimal_digit, output_digit_test, output_digit,
20990         output_numeric_test, output_numeric, output_mirror, output_scripts,
20991         output_scripts_byname, output_blocks, output_ident_category): Fix
20992         comment header.
20993         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
20994         get_wbp.
20995         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
20996         items.
20997         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
20998         Changes_When_Lowercased, Changes_When_Uppercased,
20999         Changes_When_Titlecased, Changes_When_Casefolded,
21000         Changes_When_Casemapped.
21001         (is_property_alphabetic, is_property_default_ignorable_code_point):
21002         Update for Unicode 5.2.0.
21003         (is_property_cased, is_property_case_ignorable,
21004         is_property_changes_when_lowercased,
21005         is_property_changes_when_uppercased,
21006         is_property_changes_when_titlecased,
21007         is_property_changes_when_casefolded,
21008         is_property_changes_when_casemapped): New functions.
21009         (output_properties): Output also the properties cased, case_ignorable,
21010         changes_when_lowercased, changes_when_uppercased,
21011         changes_when_titlecased, changes_when_casefolded,
21012         changes_when_casemapped.
21013         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
21014         Unicode TR#11 revision 17 -> 19.
21015         (LBP_CP): New enumeration value.
21016         (LBP_*): Adjust values accordingly.
21017         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
21018         TR#14 revision 22 -> 24.
21019         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
21020         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
21021         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
21022         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
21023         is_WBP_MIDLETTER.
21024         (output_composition_tables): Allow for 24 bits instead of 16 bits in
21025         the code1 and code2 of each composition rule.
21026         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
21027         * lib/unicase/ignorable.h: Likewise.
21028         * lib/unicase/tocasefold.h: Likewise.
21029         * lib/unicase/tolower.h: Likewise.
21030         * lib/unicase/totitle.h: Likewise.
21031         * lib/unicase/toupper.h: Likewise.
21032         * lib/unictype/bidi_of.h: Likewise.
21033         * lib/unictype/blocks.h: Likewise.
21034         * lib/unictype/categ_C.h: Likewise.
21035         * lib/unictype/categ_Cf.h: Likewise.
21036         * lib/unictype/categ_Cn.h: Likewise.
21037         * lib/unictype/categ_L.h: Likewise.
21038         * lib/unictype/categ_Ll.h: Likewise.
21039         * lib/unictype/categ_Lm.h: Likewise.
21040         * lib/unictype/categ_Lo.h: Likewise.
21041         * lib/unictype/categ_Lu.h: Likewise.
21042         * lib/unictype/categ_M.h: Likewise.
21043         * lib/unictype/categ_Mc.h: Likewise.
21044         * lib/unictype/categ_Mn.h: Likewise.
21045         * lib/unictype/categ_N.h: Likewise.
21046         * lib/unictype/categ_Nd.h: Likewise.
21047         * lib/unictype/categ_Nl.h: Likewise.
21048         * lib/unictype/categ_No.h: Likewise.
21049         * lib/unictype/categ_P.h: Likewise.
21050         * lib/unictype/categ_Pd.h: Likewise.
21051         * lib/unictype/categ_Po.h: Likewise.
21052         * lib/unictype/categ_S.h: Likewise.
21053         * lib/unictype/categ_Sc.h: Likewise.
21054         * lib/unictype/categ_So.h: Likewise.
21055         * lib/unictype/categ_of.h: Likewise.
21056         * lib/unictype/combining.h: Likewise.
21057         * lib/unictype/ctype_alnum.h: Likewise.
21058         * lib/unictype/ctype_alpha.h: Likewise.
21059         * lib/unictype/ctype_graph.h: Likewise.
21060         * lib/unictype/ctype_lower.h: Likewise.
21061         * lib/unictype/ctype_print.h: Likewise.
21062         * lib/unictype/ctype_punct.h: Likewise.
21063         * lib/unictype/ctype_upper.h: Likewise.
21064         * lib/unictype/decdigit.h: Likewise.
21065         * lib/unictype/digit.h: Likewise.
21066         * lib/unictype/numeric.h: Likewise.
21067         * lib/unictype/pr_alphabetic.h: Likewise.
21068         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
21069         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
21070         * lib/unictype/pr_bidi_european_digit.h: Likewise.
21071         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
21072         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
21073         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
21074         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
21075         * lib/unictype/pr_combining.h: Likewise.
21076         * lib/unictype/pr_composite.h: Likewise.
21077         * lib/unictype/pr_currency_symbol.h: Likewise.
21078         * lib/unictype/pr_dash.h: Likewise.
21079         * lib/unictype/pr_decimal_digit.h: Likewise.
21080         * lib/unictype/pr_deprecated.h: Likewise.
21081         * lib/unictype/pr_diacritic.h: Likewise.
21082         * lib/unictype/pr_extender.h: Likewise.
21083         * lib/unictype/pr_grapheme_base.h: Likewise.
21084         * lib/unictype/pr_grapheme_extend.h: Likewise.
21085         * lib/unictype/pr_grapheme_link.h: Likewise.
21086         * lib/unictype/pr_id_continue.h: Likewise.
21087         * lib/unictype/pr_id_start.h: Likewise.
21088         * lib/unictype/pr_ideographic.h: Likewise.
21089         * lib/unictype/pr_ignorable_control.h: Likewise.
21090         * lib/unictype/pr_logical_order_exception.h: Likewise.
21091         * lib/unictype/pr_lowercase.h: Likewise.
21092         * lib/unictype/pr_numeric.h: Likewise.
21093         * lib/unictype/pr_other_alphabetic.h: Likewise.
21094         * lib/unictype/pr_punctuation.h: Likewise.
21095         * lib/unictype/pr_sentence_terminal.h: Likewise.
21096         * lib/unictype/pr_terminal_punctuation.h: Likewise.
21097         * lib/unictype/pr_unassigned_code_value.h: Likewise.
21098         * lib/unictype/pr_unified_ideograph.h: Likewise.
21099         * lib/unictype/pr_uppercase.h: Likewise.
21100         * lib/unictype/pr_xid_continue.h: Likewise.
21101         * lib/unictype/pr_xid_start.h: Likewise.
21102         * lib/unictype/pr_zero_width.h: Likewise.
21103         * lib/unictype/scripts.h: Likewise.
21104         * lib/unictype/scripts_byname.gperf: Likewise.
21105         * lib/unictype/sy_java_ident.h: Likewise.
21106         * lib/unigbrk/gbrkprop.h: Likewise.
21107         * lib/unilbrk/lbrkprop1.h: Likewise.
21108         * lib/unilbrk/lbrkprop2.h: Likewise.
21109         * lib/unilbrk/lbrktables.h: Likewise.
21110         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
21111         LBP_CP. Implement rule LB30.
21112         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
21113         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
21114         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
21115         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
21116         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
21117         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
21118         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
21119         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
21120         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
21121         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
21122         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
21123         bits instead of 16 bits in the code1 and code2 of each composition
21124         rule.
21125         (uc_composition): Update for Unicode 5.2.0.
21126         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
21127         * lib/uninorm/decomposition-table2.h: Likewise.
21128         * lib/uniwbrk/wbrkprop.h: Likewise.
21129         * tests/unicase/test-cased.c: Likewise.
21130         * tests/unicase/test-ignorable.c: Likewise.
21131         * tests/unicase/test-uc_tolower.c: Likewise.
21132         * tests/unicase/test-uc_totitle.c: Likewise.
21133         * tests/unicase/test-uc_toupper.c: Likewise.
21134         * tests/unictype/test-categ_C.c: Likewise.
21135         * tests/unictype/test-categ_Cf.c: Likewise.
21136         * tests/unictype/test-categ_Cn.c: Likewise.
21137         * tests/unictype/test-categ_L.c: Likewise.
21138         * tests/unictype/test-categ_Ll.c: Likewise.
21139         * tests/unictype/test-categ_Lm.c: Likewise.
21140         * tests/unictype/test-categ_Lo.c: Likewise.
21141         * tests/unictype/test-categ_Lu.c: Likewise.
21142         * tests/unictype/test-categ_M.c: Likewise.
21143         * tests/unictype/test-categ_Mc.c: Likewise.
21144         * tests/unictype/test-categ_Mn.c: Likewise.
21145         * tests/unictype/test-categ_N.c: Likewise.
21146         * tests/unictype/test-categ_Nd.c: Likewise.
21147         * tests/unictype/test-categ_Nl.c: Likewise.
21148         * tests/unictype/test-categ_No.c: Likewise.
21149         * tests/unictype/test-categ_P.c: Likewise.
21150         * tests/unictype/test-categ_Pd.c: Likewise.
21151         * tests/unictype/test-categ_Po.c: Likewise.
21152         * tests/unictype/test-categ_S.c: Likewise.
21153         * tests/unictype/test-categ_Sc.c: Likewise.
21154         * tests/unictype/test-categ_So.c: Likewise.
21155         * tests/unictype/test-ctype_alnum.c: Likewise.
21156         * tests/unictype/test-ctype_alpha.c: Likewise.
21157         * tests/unictype/test-ctype_graph.c: Likewise.
21158         * tests/unictype/test-ctype_lower.c: Likewise.
21159         * tests/unictype/test-ctype_print.c: Likewise.
21160         * tests/unictype/test-ctype_punct.c: Likewise.
21161         * tests/unictype/test-ctype_upper.c: Likewise.
21162         * tests/unictype/test-decdigit.h: Likewise.
21163         * tests/unictype/test-digit.h: Likewise.
21164         * tests/unictype/test-numeric.h: Likewise.
21165         * tests/unictype/test-pr_alphabetic.c: Likewise.
21166         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
21167         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
21168         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
21169         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
21170         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
21171         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
21172         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
21173         * tests/unictype/test-pr_combining.c: Likewise.
21174         * tests/unictype/test-pr_composite.c: Likewise.
21175         * tests/unictype/test-pr_currency_symbol.c: Likewise.
21176         * tests/unictype/test-pr_dash.c: Likewise.
21177         * tests/unictype/test-pr_decimal_digit.c: Likewise.
21178         * tests/unictype/test-pr_deprecated.c: Likewise.
21179         * tests/unictype/test-pr_diacritic.c: Likewise.
21180         * tests/unictype/test-pr_extender.c: Likewise.
21181         * tests/unictype/test-pr_grapheme_base.c: Likewise.
21182         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
21183         * tests/unictype/test-pr_grapheme_link.c: Likewise.
21184         * tests/unictype/test-pr_id_continue.c: Likewise.
21185         * tests/unictype/test-pr_id_start.c: Likewise.
21186         * tests/unictype/test-pr_ideographic.c: Likewise.
21187         * tests/unictype/test-pr_ignorable_control.c: Likewise.
21188         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
21189         * tests/unictype/test-pr_lowercase.c: Likewise.
21190         * tests/unictype/test-pr_numeric.c: Likewise.
21191         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
21192         * tests/unictype/test-pr_punctuation.c: Likewise.
21193         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
21194         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
21195         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
21196         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
21197         * tests/unictype/test-pr_uppercase.c: Likewise.
21198         * tests/unictype/test-pr_xid_continue.c: Likewise.
21199         * tests/unictype/test-pr_xid_start.c: Likewise.
21200         * tests/unictype/test-pr_zero_width.c: Likewise.
21201         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
21202         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
21203         changed behaviour: line breaking is now disallowed between a letter
21204         or '=' and '('.
21205         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
21206         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
21207         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
21208         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
21209         * tests/uniwidth/test-uc_width2.sh: Same updates as in
21210         lib/uniwidth/width.c.
21211         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
21212         without comments, but with the original copyright notice.
21213         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
21214         changes.
21215         * lib/unictype/categ_Cc.h: Likewise.
21216         * lib/unictype/categ_Co.h: Likewise.
21217         * lib/unictype/categ_Cs.h: Likewise.
21218         * lib/unictype/categ_Lt.h: Likewise.
21219         * lib/unictype/categ_Me.h: Likewise.
21220         * lib/unictype/categ_Pc.h: Likewise.
21221         * lib/unictype/categ_Pe.h: Likewise.
21222         * lib/unictype/categ_Pf.h: Likewise.
21223         * lib/unictype/categ_Pi.h: Likewise.
21224         * lib/unictype/categ_Ps.h: Likewise.
21225         * lib/unictype/categ_Sk.h: Likewise.
21226         * lib/unictype/categ_Sm.h: Likewise.
21227         * lib/unictype/categ_Z.h: Likewise.
21228         * lib/unictype/categ_Zl.h: Likewise.
21229         * lib/unictype/categ_Zp.h: Likewise.
21230         * lib/unictype/categ_Zs.h: Likewise.
21231         * lib/unictype/ctype_blank.h: Likewise.
21232         * lib/unictype/ctype_cntrl.h: Likewise.
21233         * lib/unictype/ctype_digit.h: Likewise.
21234         * lib/unictype/ctype_space.h: Likewise.
21235         * lib/unictype/ctype_xdigit.h: Likewise.
21236         * lib/unictype/mirror.h: Likewise.
21237         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
21238         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
21239         * lib/unictype/pr_bidi_block_separator.h: Likewise.
21240         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
21241         * lib/unictype/pr_bidi_common_separator.h: Likewise.
21242         * lib/unictype/pr_bidi_control.h: Likewise.
21243         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
21244         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
21245         * lib/unictype/pr_bidi_pdf.h: Likewise.
21246         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
21247         * lib/unictype/pr_bidi_whitespace.h: Likewise.
21248         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
21249         * lib/unictype/pr_format_control.h: Likewise.
21250         * lib/unictype/pr_hex_digit.h: Likewise.
21251         * lib/unictype/pr_hyphen.h: Likewise.
21252         * lib/unictype/pr_ids_binary_operator.h: Likewise.
21253         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
21254         * lib/unictype/pr_iso_control.h: Likewise.
21255         * lib/unictype/pr_join_control.h: Likewise.
21256         * lib/unictype/pr_left_of_pair.h: Likewise.
21257         * lib/unictype/pr_line_separator.h: Likewise.
21258         * lib/unictype/pr_math.h: Likewise.
21259         * lib/unictype/pr_non_break.h: Likewise.
21260         * lib/unictype/pr_not_a_character.h: Likewise.
21261         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
21262         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
21263         * lib/unictype/pr_other_id_continue.h: Likewise.
21264         * lib/unictype/pr_other_id_start.h: Likewise.
21265         * lib/unictype/pr_other_lowercase.h: Likewise.
21266         * lib/unictype/pr_other_math.h: Likewise.
21267         * lib/unictype/pr_other_uppercase.h: Likewise.
21268         * lib/unictype/pr_paired_punctuation.h: Likewise.
21269         * lib/unictype/pr_paragraph_separator.h: Likewise.
21270         * lib/unictype/pr_pattern_syntax.h: Likewise.
21271         * lib/unictype/pr_pattern_white_space.h: Likewise.
21272         * lib/unictype/pr_private_use.h: Likewise.
21273         * lib/unictype/pr_quotation_mark.h: Likewise.
21274         * lib/unictype/pr_radical.h: Likewise.
21275         * lib/unictype/pr_soft_dotted.h: Likewise.
21276         * lib/unictype/pr_space.h: Likewise.
21277         * lib/unictype/pr_titlecase.h: Likewise.
21278         * lib/unictype/pr_variation_selector.h: Likewise.
21279         * lib/unictype/pr_white_space.h: Likewise.
21280         * lib/unictype/sy_c_ident.h: Likewise.
21281         * lib/unictype/sy_c_whitespace.h: Likewise.
21282         * lib/unictype/sy_java_whitespace.h: Likewise.
21283         * modules/uni*/*: Bump version number of expected libunistring version.
21284         Reported by Simon Josefsson.
21285
21286 2011-01-09  Karl Heuer  <kwzh@gnu.org>
21287
21288         useless-if-before-free: fix typo in --help and make the internal,
21289         automatic version date update process work once again.
21290         --help output contained a NUL character instead of the
21291         backslash-zero that was intended.  Also, the "must lie within
21292         the first 8 lines" line is on line 9, and hence not getting
21293         automatically updated.
21294         * build-aux/useless-if-before-free: Fix the former by adding a
21295         backslash, and the latter by condensing the three lines of what-it-does
21296         to a single line, leaving one line of slack for the future.
21297
21298 2011-01-09  Bruno Haible  <bruno@clisp.org>
21299
21300         uniwidth/width: Fix width of U+1D173..U+1D17A.
21301         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
21302         symbolic_width, output_width_property_test): New functions.
21303         (main): Invoke output_nonspacing_property, output_width_property_test.
21304         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
21305         U+1D173..U+1D17A.
21306         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
21307         1.
21308         * modules/uniwidth/*: Bump version number of expected libunistring
21309         version.
21310         * modules/unilbrk/*: Likewise.
21311
21312 2011-01-08  Bruno Haible  <bruno@clisp.org>
21313
21314         uninorm tests: Preserve copyright of Unicode data file.
21315         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
21316         Mention modifications.
21317
21318 2011-01-08  Bruno Haible  <bruno@clisp.org>
21319
21320         gen-uni-tables: Prepare for Unicode 5.2.0.
21321         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
21322         (debug_output_lbp, output_lbp): Update.
21323
21324 2011-01-08  Bruno Haible  <bruno@clisp.org>
21325
21326         unilbrk: Clarify gen-uni-tables.c code.
21327         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
21328         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
21329         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
21330
21331 2011-01-07  Bruno Haible  <bruno@clisp.org>
21332
21333         strtod: Restore errno when successfully parsing Infinity or NaN.
21334         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
21335         restore the original errno.
21336
21337 2011-01-07  Bruno Haible  <bruno@clisp.org>
21338
21339         remove test: Avoid failure on HP-UX 11.
21340         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
21341
21342 2011-01-07  Bruno Haible  <bruno@clisp.org>
21343
21344         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
21345         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
21346         error code.
21347
21348 2011-01-07  Pádraig Brady <P@draigBrady.com>
21349
21350         ignore-value: fixup comments, and add Eric Blake
21351         as an author since he rewrote the macros.
21352         * lib/ignore-value.h (ignore_value):  State that
21353         we now support aggregates.  Also specify exactly
21354         when the GCC warn_unused_result feature was added.
21355
21356 2011-01-06  Eric Blake  <eblake@redhat.com>
21357
21358         ignore-value: support aggregate types
21359         * lib/ignore-value.h (ignore_value): Provide separate gcc
21360         definition.
21361         * modules/ignore-value-tests: New test module.
21362         * tests/test-ignore-value.c: New test.
21363
21364         maint.mk: improve sc_prohibit_strcmp regex
21365         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
21366         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
21367         definition of STRNEQ.
21368
21369         signal: work around Haiku issue with SIGBUS
21370         * lib/siglist.h: Add comment.
21371         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
21372         strsignal's favoring of SIGSEGV.
21373         * tests/test-signal.c (main): Avoid test failure.
21374         * doc/posix-headers/signal.texi (signal.h): Document the issue.
21375         Reported by Scott McCreary.
21376
21377         maint.mk: add pre-release check to ensure submodule commits are public
21378         * top/maint.mk (public-submodule-commit): New rule.
21379         (submodule-checks): New variable.
21380         (alpha beta stable): Depend on the variable.
21381
21382 2011-01-05  Pádraig Brady <P@draigBrady.com>
21383         and Jim Meyering  <meyering@redhat.com>
21384
21385         ignore-value: make ignore_value more generic; deprecate ignore_ptr
21386         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
21387         (ATTRIBUTE_DEPRECATED): Define.
21388         (_ignore_case): New function.
21389         (ignore_value): New macro, to replace the old function.
21390         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
21391         * modules/ignore-value (Depends-on): Add stdint.
21392
21393 2011-01-04  Eric Blake  <eblake@redhat.com>
21394
21395         doc: regenerate INSTALL
21396         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
21397         @firstparagraphindent support, now that autoconf dropped it.
21398         (INSTALL_PRELUDE): Reinstate old macro.
21399         * doc/install.texi: Resync from autoconf.
21400         * doc/INSTALL: Reflect recent autoconf update.
21401         * doc/INSTALL.ISO: Likewise.
21402         * doc/INSTALL.UTF-8: Likewise.
21403         Reported by Karl Berry.
21404
21405 2011-01-04  Bruce Korb  <address@hidden>
21406
21407         git-version-gen: avoid a sub-shell
21408         * build-aux/git-version-gen: Redirect stderr in `...` via
21409         "exec 2>...", rather than via an added sub-shell.
21410
21411 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
21412
21413         git-version-gen: use (...) rather than sh -c '...'
21414         * build-aux/git-version-gen: Rather than hard-coding a shell's name
21415         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
21416
21417 2011-01-03  Jim Meyering  <meyering@redhat.com>
21418
21419         git-version-gen: convert leading TABs to spaces
21420         * build-aux/git-version-gen: Expand leading TABs.
21421
21422         git-version-gen: handle failed "git rev-list"
21423         * build-aux/git-version-gen: Rather than leaking a "fatal" error
21424         from git and proceeding as if it had succeeded but printed no SHA1
21425         checksums, suppress the diagnostic and handle the failure.
21426         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
21427
21428         git-version-gen: include command name in one more diagnostic
21429         * build-aux/git-version-gen: When the required .tarball-version file
21430         was missing or unreadable, you might see the diagnostic from "cat",
21431         but no trace of the name of the invoking script.  Now, you still see
21432         the diagnostic from cat, but also get one from "git-version-gen: ".
21433         Inspired by a patch from Bruce Korb.
21434
21435         update-copyright: adjust test to match changed code
21436         * tests/test-update-copyright.sh: Change test's expected output
21437         to match new actual output.
21438
21439 2011-01-02  Bruno Haible  <bruno@clisp.org>
21440
21441         getlogin_r: Avoid test failure on HP-UX 11.
21442         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
21443         ERANGE when the second argument is zero.
21444         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
21445         portability problem.
21446
21447 2011-01-02  Bruce Korb  <bkorb@gnu.org>
21448
21449         * build-aux/update-copyright: doc Simon's changes
21450
21451 2011-01-02  Simon Josefsson  <simon@josefsson.org>
21452
21453         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
21454         environment variable.
21455
21456 2011-01-02  Bruno Haible  <bruno@clisp.org>
21457
21458         unigbrk: Avoid gcc warnings.
21459         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
21460         unused variable.
21461         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
21462         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
21463         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
21464         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
21465         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
21466         Change type of first argument to 'const char *'.
21467         (main): Remove unused variable.
21468         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
21469         type of first argument to 'const char *'.
21470         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
21471         Likewise.
21472         (main): Change type of variable 's'.
21473         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
21474         to 'int'.
21475
21476 2011-01-02  Bruno Haible  <bruno@clisp.org>
21477
21478         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
21479         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
21480         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
21481         bug.
21482         * lib/pwrite.c: Undo 2010-12-31 patch.
21483         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
21484
21485 2011-01-02  Bruno Haible  <bruno@clisp.org>
21486
21487         pread: Fix test whether it works.
21488         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
21489
21490 2011-01-02  Bruno Haible  <bruno@clisp.org>
21491
21492         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
21493         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
21494         ends in "6". Don't require a specific month name. Try also the locale
21495         names found on HP-UX 11 and Solaris 7.
21496
21497 2011-01-02  Bruno Haible  <bruno@clisp.org>
21498
21499         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
21500         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
21501         C linkage.
21502         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
21503
21504 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
21505
21506         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
21507         for consistency, since the "cluster" term is not used elsewhere.
21508         * lib/unigbrk.in.h: Update name.
21509         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
21510         * lib/unigbrk/u16-grapheme-next.c: Update name.
21511         * lib/unigbrk/u16-grapheme-prev.c: Update name.
21512         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
21513         * lib/unigbrk/u32-grapheme-next.c: Update name.
21514         * lib/unigbrk/u32-grapheme-prev.c: Update name.
21515         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
21516         * lib/unigbrk/u8-grapheme-next.c: Update name.
21517         * lib/unigbrk/u8-grapheme-prev.c: Update name.
21518         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
21519         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
21520         Suggested by Bruno Haible.
21521
21522 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
21523
21524         Remove module 'u8-grapheme-len' as too redundant with
21525         'u8-grapheme-next'.
21526         * modules/unigbrk/u8-grapheme-len: Delete file.
21527         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
21528         * lib/unigbrk.in.h: Remove prototype for deleted function.
21529         * lib/unigbrk/u8-grapheme-len.c: Delete file.
21530         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
21531
21532         Remove module 'u16-grapheme-len' as too redundant with
21533         'u16-grapheme-next'.
21534         * modules/unigbrk/u16-grapheme-len: Delete file.
21535         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
21536         * lib/unigbrk.in.h: Remove prototype for deleted function.
21537         * lib/unigbrk/u16-grapheme-len.c: Delete file.
21538         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
21539
21540         Remove module 'u32-grapheme-len' as too redundant with
21541         'u32-grapheme-next'.
21542         * modules/unigbrk/u32-grapheme-len: Delete file.
21543         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
21544         * lib/unigbrk.in.h: Remove prototype for deleted function.
21545         * lib/unigbrk/u32-grapheme-len.c: Delete file.
21546         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
21547
21548         Suggested by Bruno Haible.
21549
21550 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
21551
21552         * unigbrk.in.h: Fix typo: "ben" => "been".
21553         Reported by Bruno Haible.
21554
21555 2011-01-01  Jim Meyering  <meyering@redhat.com>
21556
21557         maint: update almost all copyright ranges to include 2011
21558         Run the new "make update-copyright" rule.
21559
21560 2011-01-01  Jim Meyering  <meyering@redhat.com>
21561
21562         maint: update-copyright: exempt doc/INSTALL*
21563         * Makefile (update-copyright): Also exclude doc/INSTALL*,
21564         since they are generated.  Suggested by Bruno Haible.
21565
21566 2011-01-01  Jim Meyering  <meyering@redhat.com>
21567
21568         maint: refine the update-copyright rule
21569         * Makefile (update-copyright): Also exclude any file that includes
21570         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
21571         code that merely generates the comment.
21572
21573 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
21574
21575         New module 'u8-grapheme-len'.
21576         * modules/unigbrk/u8-grapheme-len: New file.
21577         * modules/unigbrk/u8-grapheme-len-tests: New file.
21578         * lib/unigbrk.in.h: Add prototype for new function.
21579         * lib/unigbrk/u8-grapheme-len.c: New file.
21580         * tests/unigbrk/test-u8-grapheme-len.c: New file.
21581
21582         New module 'u16-grapheme-len'.
21583         * modules/unigbrk/u16-grapheme-len: New file.
21584         * modules/unigbrk/u16-grapheme-len-tests: New file.
21585         * lib/unigbrk.in.h: Add prototype for new function.
21586         * lib/unigbrk/u16-grapheme-len.c: New file.
21587         * tests/unigbrk/test-u16-grapheme-len.c: New file.
21588
21589         New module 'u32-grapheme-len'.
21590         * modules/unigbrk/u32-grapheme-len: New file.
21591         * modules/unigbrk/u32-grapheme-len-tests: New file.
21592         * lib/unigbrk.in.h: Add prototype for new function.
21593         * lib/unigbrk/u32-grapheme-len.c: New file.
21594         * tests/unigbrk/test-u32-grapheme-len.c: New file.
21595
21596         New module 'u8-grapheme-next'.
21597         * modules/unigbrk/u8-grapheme-next: New file.
21598         * modules/unigbrk/u8-grapheme-next-tests: New file.
21599         * lib/unigbrk.in.h: Add prototype for new function.
21600         * lib/unigbrk/u8-grapheme-next.c: New file.
21601         * tests/unigbrk/test-u8-grapheme-next.c: New file.
21602
21603         New module 'u16-grapheme-next'.
21604         * modules/unigbrk/u16-grapheme-next: New file.
21605         * modules/unigbrk/u16-grapheme-next-tests: New file.
21606         * lib/unigbrk.in.h: Add prototype for new function.
21607         * lib/unigbrk/u16-grapheme-next.c: New file.
21608         * tests/unigbrk/test-u16-grapheme-next.c: New file.
21609
21610         New module 'u32-grapheme-next'.
21611         * modules/unigbrk/u32-grapheme-next: New file.
21612         * modules/unigbrk/u32-grapheme-next-tests: New file.
21613         * lib/unigbrk.in.h: Add prototype for new function.
21614         * lib/unigbrk/u32-grapheme-next.c: New file.
21615         * tests/unigbrk/test-u32-grapheme-next.c: New file.
21616
21617         New module 'u8-grapheme-prev'.
21618         * modules/unigbrk/u8-grapheme-prev: New file.
21619         * modules/unigbrk/u8-grapheme-prev-tests: New file.
21620         * lib/unigbrk.in.h: Add prototype for new function.
21621         * lib/unigbrk/u8-grapheme-prev.c: New file.
21622         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
21623
21624         New module 'u16-grapheme-prev'.
21625         * modules/unigbrk/u16-grapheme-prev: New file.
21626         * modules/unigbrk/u16-grapheme-prev-tests: New file.
21627         * lib/unigbrk.in.h: Add prototype for new function.
21628         * lib/unigbrk/u16-grapheme-prev.c: New file.
21629         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
21630
21631         New module 'u32-grapheme-prev'.
21632         * modules/unigbrk/u32-grapheme-prev: New file.
21633         * modules/unigbrk/u32-grapheme-prev-tests: New file.
21634         * lib/unigbrk.in.h: Add prototype for new function.
21635         * lib/unigbrk/u32-grapheme-prev.c: New file.
21636         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
21637
21638         New module 'u8-grapheme-breaks'.
21639         * modules/unigbrk/u8-grapheme-breaks: New file.
21640         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
21641         * lib/unigbrk.in.h: Add prototype for new function.
21642         * lib/unigbrk/u8-grapheme-breaks.c: New file.
21643         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
21644
21645         New module 'u16-grapheme-breaks'.
21646         * modules/unigbrk/u16-grapheme-breaks: New file.
21647         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
21648         * lib/unigbrk.in.h: Add prototype for new function.
21649         * lib/unigbrk/u16-grapheme-breaks.c: New file.
21650         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
21651
21652         New module 'u32-grapheme-breaks'.
21653         * modules/unigbrk/u32-grapheme-breaks: New file.
21654         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
21655         * lib/unigbrk.in.h: Add prototype for new function.
21656         * lib/unigbrk/u32-grapheme-breaks.c: New file.
21657         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
21658
21659         New module 'ulc-grapheme-breaks'.
21660         * modules/unigbrk/ulc-grapheme-breaks: New file.
21661         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
21662         * m4/locale-ar.m4: New file.
21663         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
21664         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
21665         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
21666
21667 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
21668
21669         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
21670         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
21671         modified how this file was generated before I initially submitted
21672         the module, but failed to regenerate it.  This meant that several
21673         of the level2 entries were wrong.
21674         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
21675         Remove the division-by-2 that is folded into the table now that
21676         gbrkprop.h has been regenerated properly.  Now -1 entries are
21677         handled correctly.
21678
21679         New module 'unigbrk/uc-gbrk-prop-tests'.
21680         * modules/unigbrk/uc-gbrk-prop-tests: New file.
21681         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
21682         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
21683         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
21684
21685 2011-01-01  Bruno Haible  <bruno@clisp.org>
21686
21687         Avoid use of hexadecimal escapes.
21688         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
21689         instead of hexadecimal escapes.
21690
21691 2011-01-01  Jim Meyering  <meyering@redhat.com>
21692
21693         maint: new rule to update copyright year ranges
21694         * Makefile (update-copyright): New rule.
21695
21696         maint: indent with TABs in Makefile
21697         * Makefile: Expand leading sequences of spaces to TABs
21698
21699         version-etc: update the copyright year it reports
21700         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
21701
21702 2010-12-31  Bruno Haible  <bruno@clisp.org>
21703
21704         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
21705         * lib/isfinite.c (zerof, zerod, zerol): New variables.
21706         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
21707         zero.
21708
21709 2010-12-31  Bruno Haible  <bruno@clisp.org>
21710
21711         pwrite: Work around HP-UX 11.11 bug.
21712         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
21713         works and set REPLACE_PWRITE if not.
21714         * lib/pwrite.c (pwrite): Add an implementation that uses the system
21715         function.
21716         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
21717
21718 2010-12-31  Bruno Haible  <bruno@clisp.org>
21719
21720         pread: Work around HP-UX 11 bugs.
21721         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
21722         and set REPLACE_PREAD if not.
21723         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
21724
21725 2010-12-31  Eric Blake  <eblake@redhat.com>
21726
21727         nl_langinfo: fix YESEXPR on Irix 6.5
21728         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
21729         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
21730         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
21731         it.
21732
21733 2010-12-31  Bruno Haible  <bruno@clisp.org>
21734
21735         iconv: Document HP-UX 11 bug.
21736         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
21737
21738 2010-12-31  Bruno Haible  <bruno@clisp.org>
21739
21740         ldexpl: Fix link error on HP-UX 11.
21741         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
21742         LDEXPL_LIBM, using $ISNANL_LIBM.
21743
21744 2010-12-31  Eric Blake  <eblake@redhat.com>
21745
21746         ftello: avoid compilation failure with SunStudio c89
21747         * lib/ftello.c (ftello): Use lseek, not llseek.
21748
21749         tests: avoid failing coreutils tests on cygwin
21750         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
21751         (create_exe_shims_): Return 0 when skipping.
21752
21753 2010-12-31  Bruno Haible  <bruno@clisp.org>
21754
21755         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
21756         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
21757
21758 2010-12-31  Bruno Haible  <bruno@clisp.org>
21759
21760         waitpid: Fix link error in C++ mode.
21761         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
21762
21763 2010-12-31  Bruno Haible  <bruno@clisp.org>
21764
21765         isnan: Use GCC built-ins when possible.
21766         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
21767         __builtin_isnan.
21768         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
21769         (isnan): Define using GCC built-ins for GCC >= 4.0.
21770
21771 2010-12-31  Bruno Haible  <bruno@clisp.org>
21772
21773         isnand: Fix mistake.
21774         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
21775         __builtin_isnand.
21776
21777 2010-12-31  Bruno Haible  <bruno@clisp.org>
21778
21779         open: Avoid C++ error on HP-UX 11.
21780         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
21781
21782 2010-12-31  Bruno Haible  <bruno@clisp.org>
21783
21784         time_r: Add missing declarations on HP-UX 11.
21785         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
21786         instead of HAVE_LOCALTIME_R.
21787         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
21788         HAVE_LOCALTIME_R always.
21789         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
21790         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
21791         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
21792         HAVE_LOCALTIME_R.
21793         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
21794         * doc/posix-functions/localtime_r.texi: Likewise.
21795
21796 2010-12-29  Eric Blake  <eblake@redhat.com>
21797
21798         mountlist: tweak previous commit
21799         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
21800         Reported by Paul Eggert.
21801
21802         mountlist: fix local drive detection on cygwin
21803         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
21804         that works for cygwin.
21805
21806 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
21807
21808         ftoastr, snprintf: ftoastr + snprintf module
21809         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
21810         since the snprintf module now should be good enough here.
21811         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
21812         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
21813         and gl_MODULE_INDICATOR([snprintf]), but the former enables
21814         GNULIB_SNPRINTF only for the test directory, and the latter
21815         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
21816         seems to suffice by itself.
21817
21818 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
21819
21820         alloca: one step towards thread-safety
21821         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
21822         need for a static variable.  All callers changed.  This does not
21823         make the alloca replacement thread-safe, but it's one step.
21824
21825         tests: minor indenting change
21826         * tests/init.sh: Sync from coreutils housekeeping patch
21827         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
21828         to keep lines within 80 columns.
21829
21830 2010-12-28  Jim Meyering  <meyering@redhat.com>
21831
21832         regex: don't infloop on persistent failing calloc
21833         * lib/regexec.c (build_trtable): Return failure indication upon
21834         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
21835         In glibc, this was fixed for version 2.13:
21836         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
21837
21838 2010-12-28  Bruno Haible  <bruno@clisp.org>
21839             Paul Eggert <eggert@cs.ucla.edu>
21840
21841         linkat: Make implementation robust against system behaviour variations.
21842         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
21843         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
21844         way, and to -2 if it needs a generic runtime test.
21845         * lib/linkat.c (solaris_optimized_link_immediate,
21846         solaris_optimized_link_follow): New functions.
21847         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
21848         (check_same_link): Use it.
21849
21850 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
21851
21852         New module 'unigbrk/base'.
21853         * modules/unigbrk/base: New file.
21854         * lib/unigbrk.in.h: New file.
21855
21856         New module 'unigbrk/uc-gbrk-prop'.
21857         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
21858         * modules/unigbrk/uc-gbrk-prop: New file.
21859         * lib/unigbrk/gbrkprop.h: New file.
21860         * lib/unigbrk/uc-gbrk-prop.c: New file.
21861
21862         New module 'unigbrk/uc-is-grapheme-break'.
21863         * modules/unigbrk/uc-is-grapheme-break: New file.
21864         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
21865         * lib/unigbrk/uc-is-grapheme-break.c: New file.
21866         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
21867         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
21868         * tests/unigbrk/GraphemeBreakTest.txt: New file.
21869
21870         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
21871
21872 2010-12-27  Bruno Haible  <bruno@clisp.org>
21873
21874         linkat test: Avoid failure on Solaris 11 2010-11.
21875         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
21876
21877 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
21878
21879         utimens: work around glibc rounding bug on more platforms
21880         * lib/utimens.c (fdutimens): Work around rounding bug even if
21881         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
21882         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
21883
21884 2010-12-27  Bruno Haible  <bruno@clisp.org>
21885
21886         select tests: Improve comments.
21887         * tests/test-select.c (do_select): Add comments.
21888
21889 2010-12-27  Bruno Haible  <bruno@clisp.org>
21890
21891         select tests: Safer way of handling timeout.
21892         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
21893         at every invocation.
21894
21895 2010-12-27  Bruno Haible  <bruno@clisp.org>
21896
21897         select tests: Use 'bool' where appropriate.
21898         * tests/test-select.c (connect_to_socket): Change argument type to
21899         'bool'.
21900
21901 2010-12-27  Bruno Haible  <bruno@clisp.org>
21902
21903         select tests: Use existing modules.
21904         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
21905         (configure.ac): Don't test for unistd.h.
21906         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
21907         declared in <unistd.h>.
21908
21909 2010-12-27  Bruno Haible  <bruno@clisp.org>
21910
21911         mbrtowc: Work around a Solaris 7 bug.
21912         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
21913         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
21914         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
21915         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
21916         MBRTOWC_NULL_ARG1_BUG.
21917         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
21918         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
21919         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
21920         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
21921
21922 2010-12-27  Jim Meyering  <meyering@redhat.com>
21923
21924         read-file.c: tweak syntax
21925         * lib/read-file.c (fread_file): Remove space after "*" in function
21926         definitions.
21927
21928 2010-12-27  Bruno Haible  <bruno@clisp.org>
21929
21930         times test: Avoid gcc warnings on OSF/1.
21931         * tests/test-times.c (main): Cast printf arguments from clock_t to
21932         'long int'.
21933
21934 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
21935
21936         utimens: work around glibc rounding bug on older Linux kernels
21937         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
21938         on Linux with a glibc whose utimes might not work, then work
21939         around a longstanding glibc bug involving rounding rather than
21940         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
21941         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
21942
21943 2010-12-26  Bruno Haible  <bruno@clisp.org>
21944
21945         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
21946         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
21947         _GL_CXXALIAS_SYS.
21948         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21949
21950 2010-12-26  Bruno Haible  <bruno@clisp.org>
21951
21952         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
21953         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
21954         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
21955         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
21956         looking for the declaration.
21957         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
21958         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
21959         problem.
21960         * doc/posix-functions/inet_pton.texi: Likewise.
21961
21962 2010-12-26  Bruno Haible  <bruno@clisp.org>
21963
21964         arpa_inet: Use the common idioms with C++ support.
21965         * lib/arpa_inet.in.h: Include c++defs.h.
21966         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
21967         support.
21968         * modules/arpa_inet (Depends-on): Add c++defs.
21969         (Makefile.am): Substitute the contents of c++defs.h.
21970         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
21971         * modules/arpa_inet-c++-tests: New file.
21972         * tests/test-arpa_inet-c++.cc: New file.
21973
21974 2010-12-25  Bruno Haible  <bruno@clisp.org>
21975
21976         Fix more C++ link errors on Solaris 8.
21977         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
21978         $(LIB_EACCESS).
21979         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
21980         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
21981         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
21982         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
21983         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
21984
21985 2010-12-25  Bruno Haible  <bruno@clisp.org>
21986
21987         printf-posix: Fix link error when a non-GCC compiler is used.
21988         * lib/stdio.in.h (printf): When not using GCC, override printf
21989         correctly.
21990         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21991
21992 2010-12-25  Bruno Haible  <bruno@clisp.org>
21993
21994         strerror_r-posix: Update doc.
21995         * doc/posix-functions/strerror_r.texi: Update doc about the return
21996         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
21997
21998 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
21999
22000         utimens: simplify the logic of the previous change
22001         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
22002         This should not affect whether the test succeeds or fails.
22003
22004         utimens: configure better on hosts with NFS clock skew
22005         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
22006         uses the clock of the local host.  It might use the clock of the
22007         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
22008         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
22009
22010 2010-12-25  Bruno Haible  <bruno@clisp.org>
22011
22012         ptsname test: Avoid failure on Solaris.
22013         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
22014         open a pseudo-terminal; don't use BSD-style ptys.
22015         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
22016
22017 2010-12-25  Bruno Haible  <bruno@clisp.org>
22018
22019         ptsname: Avoid ERANGE failure on some systems.
22020         * lib/ptsname.c (buffer): Increase size.
22021
22022 2010-12-25  Bruno Haible  <bruno@clisp.org>
22023
22024         rename, renameat: Avoid test failures at NFS mounted locations.
22025         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
22026         so that subsequent mkdir calls succeed.
22027
22028 2010-12-25  Bruno Haible  <bruno@clisp.org>
22029
22030         iswblank: Fix C++ link error on Solaris 8.
22031         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
22032         _GL_FUNCDECL_SYS.
22033
22034 2010-12-25  Bruno Haible  <bruno@clisp.org>
22035
22036         unistd: Fix C++ link error on Solaris 8.
22037         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
22038
22039 2010-12-25  Bruno Haible  <bruno@clisp.org>
22040
22041         readlink doc: Mention an old glibc bug.
22042         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
22043
22044 2010-12-25  Bruno Haible  <bruno@clisp.org>
22045
22046         fcntl-h: Fix for use of C++ on glibc systems.
22047         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
22048         also on glibc systems in C++ mode.
22049         Reported by Gary V. Vaughan <gary@gnu.org>.
22050
22051 2010-12-25  Bruno Haible  <bruno@clisp.org>
22052
22053         roundl-ieee: Make it work on OSF/1 5.1 with cc.
22054         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
22055
22056 2010-12-25  Bruno Haible  <bruno@clisp.org>
22057
22058         truncl-ieee: Make it work on OSF/1 5.1 with cc.
22059         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
22060         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
22061         test whether truncl works according to ISO C 99 with IEC 60559.
22062         * m4/truncl-ieee.m4: New file.
22063         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
22064         m4/signbit.m4.
22065         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
22066
22067 2010-12-25  Bruno Haible  <bruno@clisp.org>
22068
22069         ceill-ieee: Make it work on OSF/1 5.1 with cc.
22070         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
22071         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
22072         test whether ceill works according to ISO C 99 with IEC 60559.
22073         * m4/ceill-ieee.m4: New file.
22074         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
22075         m4/signbit.m4.
22076         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
22077
22078 2010-12-25  Bruno Haible  <bruno@clisp.org>
22079
22080         Ensure all prerequisites of <wchar.h> are included.
22081         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
22082         before <wchar.h>.
22083         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
22084         gl_MBRLEN_NUL_RETVAL): Likewise.
22085         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
22086         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
22087         AC_FUNC_MBRTOWC): Likewise.
22088         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
22089         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
22090         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22091         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
22092         Likewise.
22093         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
22094         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
22095         (gl_WCHAR_H): Improve comments.
22096         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
22097
22098 2010-12-25  Bruno Haible  <bruno@clisp.org>
22099
22100         strtok_r: Fix C syntax error in autoconf macro.
22101         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
22102         characters in test program.
22103
22104 2010-12-24  Bruno Haible  <bruno@clisp.org>
22105
22106         ceil, trunc, round: Fix gcc warnings.
22107         * lib/ceil.c (MIN): Undefine before redefining.
22108         * lib/trunc.c (MIN): Likewise.
22109         * lib/round.c (MIN): Likewise.
22110         Include <math.h> first.
22111
22112 2010-12-24  Bruno Haible  <bruno@clisp.org>
22113
22114         select tests: Avoid failures on OSF/1 5.1.
22115         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
22116         failure of closing the last socket; it may fail with ECONNRESET.
22117
22118 2010-12-24  Eric Blake  <eblake@redhat.com>
22119
22120         stdint: avoid HP-UX 10.20 preprocessor bug
22121         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
22122         than #if.
22123         * tests/test-floor2.c (main): Likewise.
22124         Reported by Peter O'Gorman.
22125
22126         pipe: make obsoletion transition easier
22127         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
22128         * modules/pipe (Files): Include revived file.
22129         (Include): Drop reference, to mirror getdate's behavior.
22130
22131 2010-12-24  Bruno Haible  <bruno@clisp.org>
22132
22133         sys_socket: Hide mismatch of declarations on NonStop Kernel.
22134         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
22135         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
22136         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22137
22138 2010-12-24  Bruno Haible  <bruno@clisp.org>
22139
22140         gethostname: Ensure declaration on NonStop Kernel.
22141         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
22142         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22143
22144 2010-12-24  Bruno Haible  <bruno@clisp.org>
22145
22146         sys_select: Ensure all necessary types on NonStop Kernel.
22147         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
22148         include <sys/time.h>.
22149         * doc/posix-headers/sys_select.texi: Mention that it's missing on
22150         NonStop Kernel.
22151         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22152
22153 2010-12-24  Bruno Haible  <bruno@clisp.org>
22154
22155         sys_select: Remove unneeded include.
22156         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
22157         have <sys/select.h>.
22158
22159 2010-12-24  Bruno Haible  <bruno@clisp.org>
22160
22161         gethostname: Provide a fallback for HOST_NAME_MAX.
22162         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
22163         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
22164         instead.
22165         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22166
22167 2010-12-24  Bruno Haible  <bruno@clisp.org>
22168
22169         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
22170         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
22171         (SA_RESTART): Likewise.
22172         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22173
22174 2010-12-24  Bruno Haible  <bruno@clisp.org>
22175
22176         signal: Define NSIG.
22177         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
22178         * tests/test-signal.c (nsig): New variable.
22179         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22180
22181 2010-12-24  Bruno Haible  <bruno@clisp.org>
22182
22183         rename, renameat: Avoid test failures on OSF/1 5.1.
22184         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
22185         alternative error codes.
22186         * tests/test-renameat.c (main): Likewise.
22187
22188 2010-12-24  Bruno Haible  <bruno@clisp.org>
22189
22190         *printf: Detect large precisions bug on Solaris 10/SPARC.
22191         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
22192         by Paul Eggert.
22193         * tests/test-snprintf-posix.h (test_function): Add this test code here
22194         too.
22195         * tests/test-sprintf-posix.h (test_function): Likewise.
22196         * tests/test-vasnprintf-posix.c (test_function): Likewise.
22197         * tests/test-vasprintf-posix.c (test_function): Likewise.
22198         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
22199         around by gnulib.
22200         * doc/posix-functions/printf.texi: Likewise.
22201         * doc/posix-functions/snprintf.texi: Likewise.
22202         * doc/posix-functions/sprintf.texi: Likewise.
22203         * doc/posix-functions/vfprintf.texi: Likewise.
22204         * doc/posix-functions/vprintf.texi: Likewise.
22205         * doc/posix-functions/vsnprintf.texi: Likewise.
22206         * doc/posix-functions/vsprintf.texi: Likewise.
22207         * doc/posix-functions/dprintf.texi: Undo last commit.
22208         * doc/posix-functions/vdprintf.texi: Likewise.
22209
22210 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
22211
22212         tests: port test-fdutimensat.c to Solaris 8
22213         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
22214         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
22215         On Solaris 8, it fails with errno == ENOSYS, because there is no
22216         futimens (so it can't use the fd), and there is no lutimens (so it
22217         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
22218
22219         vsnprintf: make more consistent with snprintf; doc fixes
22220
22221         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
22222         the byte count return problem was promoted from the snprintf-posix
22223         to the snprintf module.
22224         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
22225         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
22226         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
22227         * tests/test-snprintf.c (main): Check the byte count returned.
22228         * tests/test-vsnprintf.c (main): Likewise.
22229
22230 2010-12-23  Eric Blake  <eblake@redhat.com>
22231
22232         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
22233         * modules/sigpipe (License): Relax license.
22234
22235 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
22236
22237         doc: document Solaris printf bug with large float precisions
22238         * doc/posix-functions/dprintf.texi (dprintf):
22239         * doc/posix-functions/fprintf.texi (fprintf):
22240         * doc/posix-functions/printf.texi (printf):
22241         * doc/posix-functions/snprintf.texi (snprintf):
22242         * doc/posix-functions/sprintf.texi (sprintf):
22243         * doc/posix-functions/vdprintf.texi (vdprintf):
22244         * doc/posix-functions/vfprintf.texi (vfprintf):
22245         * doc/posix-functions/vprintf.texi (vprintf):
22246         * doc/posix-functions/vsnprintf.texi (vsnprintf):
22247         * doc/posix-functions/vsprintf.texi (vsprintf):
22248         Mention that these functions mishandle large floating point
22249         precisions on Solaris 10.  The same bug is also present in Solaris
22250         8, and I assume earlier.  This causes "cd gnulib-tests; make
22251         check" to fail on Solaris 8 (and I assume, later) when building
22252         the latest coreutils, in test-vasprintf-posix's call to
22253         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
22254         the wide flavors (e.g., wprintf) so this patch just updates the
22255         documentation for the narrow ones.
22256
22257         test-posixtm.c: add two tests
22258         * tests/test-posixtm.c: Add two tests, to highlight the
22259         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
22260         around this bug; this is merely to document it.
22261
22262 2010-12-22  Bruno Haible  <bruno@clisp.org>
22263
22264         getlogin_r: Work around portability problem on OSF/1.
22265         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
22266         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
22267         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
22268         test for a truncated result.
22269         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
22270         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
22271         * modules/getlogin_r (Depends-on): Add memchr.
22272         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
22273
22274 2010-12-22  Bruno Haible  <bruno@clisp.org>
22275
22276         ptsname: Avoid test failure on OSF/1 5.1.
22277         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
22278         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
22279         (same_slave): New function.
22280         (main): Use it to compare ptsname's result with the expected file name.
22281
22282 2010-12-22  Bruno Haible  <bruno@clisp.org>
22283
22284         Port extended stdio modules to HP NonStop Kernel.
22285         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
22286         macros.
22287         * lib/fbufmode.c: Update comments.
22288         * lib/fflush.c: Likewise.
22289         * lib/fpurge.c: Likewise.
22290         * lib/freadable.c: Likewise.
22291         * lib/freadahead.c: Likewise.
22292         * lib/freading.c: Likewise.
22293         * lib/freadptr.c: Likewise.
22294         * lib/freadseek.c: Likewise.
22295         * lib/fseeko.c: Likewise.
22296         * lib/fseterr.c: Likewise.
22297         * lib/fwritable.c: Likewise.
22298         * lib/fwriting.c: Likewise.
22299         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22300
22301 2010-12-22  Bruno Haible  <bruno@clisp.org>
22302
22303         ttyname_r: Work around bug on OSF/1 5.1.
22304         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
22305         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
22306         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
22307         present.
22308         * lib/ttyname_r.c (ttyname_r): Update comments.
22309
22310 2010-12-22  Bruno Haible  <bruno@clisp.org>
22311
22312         round: Implement result sign according to IEEE 754.
22313         * lib/round.c (MIN, MINUS_ZERO): New macros.
22314         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
22315         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
22316         * tests/test-round-ieee.c (main): Likewise.
22317         * tests/test-roundl-ieee.c (main): Likewise.
22318
22319         trunc: Implement result sign according to IEEE 754.
22320         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
22321         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
22322         * tests/test-trunc2.c: Include minus-zero.h.
22323         (MINUS_ZERO): New macro.
22324         (trunc_reference): Keep in sync with lib/trunc.c.
22325         * tests/test-truncf2.c: Include minus-zero.h.
22326         (MINUS_ZERO): New macro.
22327         (truncf_reference): Keep in sync with lib/trunc.c.
22328         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
22329         * tests/test-trunc-ieee.c (main): Likewise.
22330         * tests/test-truncl-ieee.c (main): Likewise.
22331
22332         ceil: Implement result sign according to IEEE 754.
22333         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
22334         (FUNC): Return -0.0 for -1 < x < 0.
22335         * tests/test-ceil2.c: Include minus-zero.h.
22336         (MINUS_ZERO): New macro.
22337         (ceil_reference): Keep in sync with lib/ceil.c.
22338         * tests/test-ceilf2.c: Include minus-zero.h.
22339         (MINUS_ZERO): New macro.
22340         (ceilf_reference): Keep in sync with lib/ceil.c.
22341         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
22342         * tests/test-ceil-ieee.c (main): Likewise.
22343         * tests/test-ceill-ieee.c (main): Likewise.
22344
22345         floor: Implement result sign according to IEEE 754.
22346         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
22347         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
22348         * tests/test-floorf2.c (floorf_reference): Likewise.
22349         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
22350         * tests/test-floor-ieee.c (main): Likewise.
22351         * tests/test-floorl-ieee.c (main): Likewise.
22352
22353 2010-12-22  Bruno Haible  <bruno@clisp.org>
22354
22355         getaddrinfo: Update doc.
22356         * doc/posix-functions/gai_strerror.texi: Return type is also different
22357         on AIX and HP-UX.
22358
22359 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
22360
22361         getaddrinfo, inet_ntop: Update doc for Solaris.
22362         * doc/posix-functions/gai_strerror.texi: Return type is also an
22363         issue on Solaris 9 and earlier.
22364         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
22365         on Solaris 10 and earlier.
22366
22367 2010-12-21  Bruno Haible  <bruno@clisp.org>
22368
22369         New module 'roundl-ieee'.
22370         * modules/roundl-ieee: New file.
22371         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
22372         test whether roundl works according to ISO C 99 with IEC 60559.
22373         * m4/roundl-ieee.m4: New file.
22374         * modules/roundl-ieee-tests: New file.
22375         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
22376         * tests/test-roundl.c (main): Remove signbit tests.
22377         * modules/roundl-tests (Depends-on): Remove signbit.
22378         * doc/posix-functions/roundl.texi: Mention the new module.
22379
22380 2010-12-21  Bruno Haible  <bruno@clisp.org>
22381
22382         New module 'truncl-ieee'.
22383         * modules/truncl-ieee: New file.
22384         * modules/truncl-ieee-tests: New file.
22385         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
22386         * tests/test-truncl.c (main): Remove signbit tests.
22387         * modules/truncl-tests (Depends-on): Remove signbit.
22388         * doc/posix-functions/truncl.texi: Mention the new module.
22389
22390 2010-12-21  Bruno Haible  <bruno@clisp.org>
22391
22392         New module 'ceill-ieee'.
22393         * modules/ceill-ieee: New file.
22394         * modules/ceill-ieee-tests: New file.
22395         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
22396         * tests/test-ceill.c (main): Remove signbit tests.
22397         * modules/ceill-tests (Depends-on): Remove signbit.
22398         * doc/posix-functions/ceill.texi: Mention the new module.
22399
22400 2010-12-21  Bruno Haible  <bruno@clisp.org>
22401
22402         New module 'floorl-ieee'.
22403         * modules/floorl-ieee: New file.
22404         * modules/floorl-ieee-tests: New file.
22405         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
22406         * tests/test-floorl.c (main): Remove signbit tests.
22407         * modules/floorl-tests (Depends-on): Remove signbit.
22408         * doc/posix-functions/floorl.texi: Mention the new module.
22409
22410 2010-12-21  Bruno Haible  <bruno@clisp.org>
22411
22412         New module 'round-ieee'.
22413         * modules/round-ieee: New file.
22414         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
22415         whether round works according to ISO C 99 with IEC 60559.
22416         * m4/round-ieee.m4: New file.
22417         * modules/round-ieee-tests: New file.
22418         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
22419         * tests/test-round1.c (main): Remove signbit tests.
22420         * modules/round-tests (Depends-on): Remove 'signbit'.
22421         * doc/posix-functions/round.texi: Mention the new module.
22422
22423 2010-12-21  Bruno Haible  <bruno@clisp.org>
22424
22425         New module 'trunc-ieee'.
22426         * modules/trunc-ieee: New file.
22427         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
22428         whether trunc works according to ISO C 99 with IEC 60559.
22429         * m4/trunc-ieee.m4: New file.
22430         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
22431         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
22432         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
22433         * modules/trunc-ieee-tests: New file.
22434         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
22435         * tests/test-trunc1.c (main): Remove signbit tests.
22436         * modules/trunc-tests (Depends-on): Remove 'signbit'.
22437         * doc/posix-functions/trunc.texi: Mention the new module.
22438
22439 2010-12-21  Bruno Haible  <bruno@clisp.org>
22440
22441         New module 'ceil-ieee'.
22442         * modules/ceil-ieee: New file.
22443         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
22444         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
22445         ISO C 99 with IEC 60559.
22446         * m4/ceil-ieee.m4: New file.
22447         * modules/ceil (Files): Add lib/ceil.c.
22448         (Depends-on): Add 'float'.
22449         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
22450         * lib/math.in.h (ceil): New declaration.
22451         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
22452         REPLACE_CEIL.
22453         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
22454         * modules/ceil-ieee-tests: New file.
22455         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
22456         * tests/test-math-c++.cc: Check the signature of 'ceil'.
22457         * doc/posix-functions/ceil.texi: Mention the new module.
22458
22459 2010-12-21  Bruno Haible  <bruno@clisp.org>
22460
22461         New module 'floor-ieee'.
22462         * modules/floor-ieee: New file.
22463         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
22464         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
22465         ISO C 99 with IEC 60559.
22466         * m4/floor-ieee.m4: New file.
22467         * modules/floor (Files): Add lib/floor.c.
22468         (Depends-on): Add 'float'.
22469         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
22470         * lib/math.in.h (floor): New declaration.
22471         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
22472         REPLACE_FLOOR.
22473         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
22474         * modules/floor-ieee-tests: New file.
22475         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
22476         * tests/test-math-c++.cc: Check the signature of 'floor'.
22477         * doc/posix-functions/floor.texi: Mention the new module.
22478
22479 2010-12-21  Bruno Haible  <bruno@clisp.org>
22480
22481         New module 'roundf-ieee'.
22482         * modules/roundf-ieee: New file.
22483         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
22484         test whether roundf works according to ISO C 99 with IEC 60559.
22485         * m4/roundf-ieee.m4: New file.
22486         * modules/roundf-ieee-tests: New file.
22487         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
22488         * tests/test-roundf1.c (main): Remove signbit tests.
22489         * modules/roundf-tests (Depends-on): Remove 'signbit'.
22490         * doc/posix-functions/roundf.texi: Mention the new module.
22491
22492 2010-12-21  Bruno Haible  <bruno@clisp.org>
22493
22494         New module 'truncf-ieee'.
22495         * modules/truncf-ieee: New file.
22496         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
22497         test whether truncf works according to ISO C 99 with IEC 60559.
22498         * m4/truncf-ieee.m4: New file.
22499         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
22500         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
22501         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
22502         * modules/truncf-ieee-tests: New file.
22503         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
22504         * tests/test-truncf1.c (main): Remove signbit tests.
22505         * modules/truncf-tests (Depends-on): Remove 'signbit'.
22506         * doc/posix-functions/truncf.texi: Mention the new module.
22507
22508 2010-12-21  Bruno Haible  <bruno@clisp.org>
22509
22510         New module 'ceilf-ieee'.
22511         * modules/ceilf-ieee: New file.
22512         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
22513         test whether ceilf works according to ISO C 99 with IEC 60559.
22514         * m4/ceilf-ieee.m4: New file.
22515         * modules/ceilf-ieee-tests: New file.
22516         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
22517         * tests/test-ceilf1.c (main): Remove signbit tests.
22518         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
22519         * doc/posix-functions/ceilf.texi: Mention the new module.
22520
22521 2010-12-21  Bruno Haible  <bruno@clisp.org>
22522
22523         New module 'floorf-ieee'.
22524         * modules/floorf-ieee: New file.
22525         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
22526         test whether floorf works according to ISO C 99 with IEC 60559.
22527         * m4/floorf-ieee.m4: New file.
22528         * modules/floorf-ieee-tests: New file.
22529         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
22530         * tests/test-floorf1.c (main): Remove signbit tests.
22531         * modules/floorf-tests (Depends-on): Remove 'signbit'.
22532         * doc/posix-functions/floorf.texi: Mention the new module.
22533
22534 2010-12-21  Bruno Haible  <bruno@clisp.org>
22535
22536         Support for minus zero in autoconf macros.
22537         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
22538         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
22539         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
22540         * tests/minus-zero.h: Update comments.
22541
22542 2010-12-21  Bruno Haible  <bruno@clisp.org>
22543
22544         Tests for module 'ceil'.
22545         * modules/ceil-tests: New file.
22546         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
22547         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
22548
22549 2010-12-21  Bruno Haible  <bruno@clisp.org>
22550
22551         Tests for module 'floor'.
22552         * modules/floor-tests: New file.
22553         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
22554         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
22555
22556 2010-12-21  Bruno Haible  <bruno@clisp.org>
22557
22558         math: Fix indentation.
22559         * lib/math.in.h (floorf): Fix indentation.
22560
22561 2010-12-21  Bruno Haible  <bruno@clisp.org>
22562
22563         Fix cross-compilation guesses on Solaris.
22564         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
22565         not match "solaris2.10".
22566         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
22567         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
22568         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
22569
22570 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
22571
22572         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
22573         This fixes a problem observed with the latest coreutils snapshot
22574         that caused a test to fail on Solaris 8.  src/csplit.c's call
22575         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
22576         earlier, instead of returning the number of bytes that would have
22577         been generated; this causes csplit to incorrectly report memory
22578         exhaustion.
22579         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
22580         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
22581         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
22582         comments to match.
22583         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
22584         Fix typo in matching older versions of Solaris: "solaris2.10"
22585         is matched by the shell pattern "solaris2.[0-9]*".  This matters
22586         only for guessing while cross-compiling.
22587         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
22588
22589 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
22590
22591         ftoastr: fix comment again
22592         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
22593         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
22594         Also, simplify example a bit by using flags = 0.
22595
22596 2010-12-20  Bruno Haible  <bruno@clisp.org>
22597
22598         round*, trunc*: Update documentation regarding glibc.
22599         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
22600         * doc/posix-functions/round.texi: Likewise.
22601         * doc/posix-functions/roundl.texi: Likewise.
22602         * doc/posix-functions/truncf.texi: Likewise.
22603         * doc/posix-functions/trunc.texi: Likewise.
22604         * doc/posix-functions/truncl.texi: Likewise.
22605
22606 2010-12-20  Bruno Haible  <bruno@clisp.org>
22607
22608         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
22609         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
22610         * doc/posix-functions/round.texi: Likewise.
22611         * doc/posix-functions/roundl.texi: Likewise.
22612
22613 2010-12-20  Bruno Haible  <bruno@clisp.org>
22614
22615         ttyname_r: Add missing declaration on HP-UX 11.
22616         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
22617         HAVE_TTYNAME_R.
22618         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
22619         declared. Set HAVE_TTYNAME_R always.
22620         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22621         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
22622         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
22623         HAVE_TTYNAME_R.
22624         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
22625
22626 2010-12-20  Bruno Haible  <bruno@clisp.org>
22627
22628         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
22629         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
22630         * doc/posix-functions/getlogin_r.texi: Likewise.
22631         * tests/test-getlogin.c: Include <errno.h>.
22632         (main): Avoid test failure on HP-UX 11.11.
22633         * tests/test-getlogin_r.c (main): Likewise.
22634
22635 2010-12-20  Bruno Haible  <bruno@clisp.org>
22636
22637         getlogin_r: Add missing declaration on HP-UX 11.
22638         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
22639         declared also when it exists as a function.
22640         * doc/posix-functions/getlogin_r.texi: Document this workaround.
22641
22642 2010-12-20  Bruno Haible  <bruno@clisp.org>
22643
22644         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
22645         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
22646         through wcrtomb.
22647
22648 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
22649
22650         ftoastr: fix comment
22651         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
22652         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
22653
22654 2010-12-19  Bruno Haible  <bruno@clisp.org>
22655
22656         isnan: Ensure it is a macro.
22657         * lib/math.in.h (isnan): Define as a macro if not already a macro.
22658         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
22659         Solaris.
22660
22661 2010-12-19  Bruno Haible  <bruno@clisp.org>
22662
22663         ldexpl test: Fix link error on OSF/1 5.1.
22664         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
22665
22666 2010-12-19  Bruno Haible  <bruno@clisp.org>
22667
22668         wctype: Make it work in C++ mode on OSF/1 5.1.
22669         * lib/wctype.in.h (iswblank): Declare but not define here.
22670         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
22671         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
22672         * modules/wctype (Files): Add lib/iswblank.c.
22673
22674 2010-12-19  Bruno Haible  <bruno@clisp.org>
22675
22676         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
22677         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
22678         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
22679
22680 2010-12-19  Bruno Haible  <bruno@clisp.org>
22681
22682         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
22683         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
22684         _POSIX_PII_SOCKET.
22685         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
22686         * doc/posix-functions/recvfrom.texi: Likewise.
22687         * doc/posix-functions/send.texi: Likewise.
22688         * doc/posix-functions/sendto.texi: Likewise.
22689
22690 2010-12-19  Bruno Haible  <bruno@clisp.org>
22691
22692         tcgetsid: Add missing declaration on OSF/1 5.1.
22693         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
22694         HAVE_TCGETSID.
22695         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
22696         Don't set HAVE_TCGETSID.
22697         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
22698         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
22699         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
22700         HAVE_TCGETSID.
22701         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
22702
22703 2010-12-19  Bruno Haible  <bruno@clisp.org>
22704
22705         stdio: Fix problem with popen() declaration on OSF/1 5.1.
22706         * lib/stdio.in.h: During the include_next statement, let recursive
22707         includes of this file include only the system header file.
22708
22709 2010-12-19  Bruno Haible  <bruno@clisp.org>
22710
22711         iconv_open: Fix regression from 2010-12-04.
22712         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
22713         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
22714
22715 2010-12-19  Bruno Haible  <bruno@clisp.org>
22716
22717         stdbool test: Avoid a gcc warning.
22718         * tests/test-stdbool.c (main): Fail if e1 is false.
22719         Reported by Jim Meyering.
22720
22721 2010-12-19  Jim Meyering  <meyering@redhat.com>
22722
22723         setenv: restore to working order
22724         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
22725         mistakenly removed.
22726         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
22727         HAVE_SETENV.
22728         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
22729         HAVE_SETENV.
22730
22731 2010-12-19  Bruno Haible  <bruno@clisp.org>
22732
22733         Document some different function declarations on OSF/1 5.1.
22734         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
22735         * doc/posix-functions/inet_ntop.texi: Likewise.
22736         * doc/posix-functions/gethostname.texi: Likewise.
22737         * lib/unistd.in.h (gethostname): Update comment.
22738
22739 2010-12-19  Bruno Haible  <bruno@clisp.org>
22740
22741         doc: Mention vasprintf-posix module.
22742         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
22743         the 'vasprintf-posix' module.
22744         * doc/glibc-functions/vasprintf.texi: Likewise.
22745
22746 2010-12-19  Bruno Haible  <bruno@clisp.org>
22747
22748         unsetenv: Add missing declaration on OSF/1 5.1.
22749         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
22750         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
22751         Don't set HAVE_UNSETENV. In the test program, set _BSD.
22752         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
22753         not HAVE_UNSETENV.
22754         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
22755         HAVE_UNSETENV.
22756         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
22757
22758 2010-12-19  Bruno Haible  <bruno@clisp.org>
22759
22760         setenv: Add missing declaration on OSF/1 5.1.
22761         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
22762         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
22763         declared. Don't set HAVE_SETENV.
22764         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
22765         not HAVE_SETENV.
22766         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
22767         HAVE_SETENV.
22768         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
22769
22770 2010-12-19  Bruno Haible  <bruno@clisp.org>
22771
22772         nl_langinfo tests: Avoid gcc warning.
22773         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
22774
22775 2010-12-19  Bruno Haible  <bruno@clisp.org>
22776
22777         mknod: Avoid error in C++ mode on OSF/1 with GCC.
22778         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
22779         _GL_CXXALIAS_SYS.
22780
22781 2010-12-19  Bruno Haible  <bruno@clisp.org>
22782
22783         stdbool: Relax test.
22784         * tests/test-stdbool.c (e): Don't require that casts from a variable's
22785         address to 'bool' work in static initializer, for compilers other than
22786         GCC.
22787
22788 2010-12-19  Bruno Haible  <bruno@clisp.org>
22789
22790         ftello: Add missing declaration on OSF/1 5.1.
22791         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
22792         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
22793         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
22794         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
22795         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
22796
22797 2010-12-19  Bruno Haible  <bruno@clisp.org>
22798
22799         fseeko: Add missing declaration on OSF/1 5.1.
22800         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
22801         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
22802         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
22803         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
22804         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
22805
22806 2010-12-19  Bruno Haible  <bruno@clisp.org>
22807
22808         fchdir: Add missing declaration on OSF/1 5.1.
22809         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
22810         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
22811         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
22812         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
22813         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
22814
22815 2010-12-19  Bruno Haible  <bruno@clisp.org>
22816
22817         relocatable-prog-wrapper: Separate from relocatable-prog.
22818         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
22819         uninstall-relocwrapper rule here.
22820         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
22821         Reported by Ian Beckwith <ianb@erislabs.net>.
22822
22823 2010-12-19  Bruno Haible  <bruno@clisp.org>
22824
22825         unistr/u8-mbsnlen: Add missing dependency.
22826         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
22827         Reported by Ian Beckwith <ianb@erislabs.net>.
22828
22829 2010-12-19  Bruno Haible  <bruno@clisp.org>
22830
22831         iconv: Make it possible again to use this module without 'iconv-h'.
22832         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
22833         if it is not defined.
22834         Reported by Ian Beckwith <ianb@erislabs.net>.
22835
22836 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
22837
22838         acl: port to Solaris 8 when copying from tmpfs to ufs
22839         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
22840         error number.  Problem observed on Solaris 8 with latest
22841         coreutils, with "mv A B", where A is on a tmpfs file system and B
22842         is on a ufs file system.  This caused coreutils' mv/part-symlink
22843         test to fail.
22844
22845         tests: set fail=0 at start
22846         * tests/init.sh (setup_): Move fail=0 initialization here ...
22847         (mktempd_): ... from here, so that tests can rely on fail being
22848         set to 0 initially.  This fixes a problem in coreutils; see:
22849         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
22850
22851 2010-12-18  Bruno Haible  <bruno@clisp.org>
22852
22853         memmem-simple: Stylistic changes.
22854         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
22855         Fix preprocessor directive indentation.
22856
22857 2010-12-15  Pádraig Brady <P@draigBrady.com>
22858
22859         memmem, memmem-simple: reorganize and expand empty needle check
22860         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
22861         functional checks to memmem-simple so that one has a fully functional
22862         memmem by using just this module.
22863         Restrict the performance only check to the memmem module.
22864         Also expand the empty needle check to ensure the correct
22865         pointer is returned, not just a non NULL pointer.
22866         * doc/glibc-functions/memmem.texi: Rearrange the portability
22867         documentation to correlate with the rearranged checks.
22868         Clarify exactly how the memmem and memmem-simple modules
22869         relate to each other.
22870
22871 2010-12-15  Pádraig Brady <P@draigBrady.com>
22872             Bruno Haible  <bruno@clisp.org>
22873
22874         Improve cross-compilation guesses for uClibc.
22875         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
22876         that uClibc does not have the glibc bug.
22877         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
22878         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
22879
22880 2010-12-14  Eric Blake  <eblake@redhat.com>
22881
22882         configmake: provide fallbacks for oldest supported autotools
22883         * m4/configmake.m4: New file.
22884         * modules/configmake (Files): Ship it.
22885         (configure.ac): Use it to guarantee fallbacks.
22886
22887 2010-12-13  Pádraig Brady <P@draigBrady.com>
22888
22889         read-file: Improve handling of large files
22890         * lib/read-file.c (fread_file): Minimize realloc()s
22891         for regular files, and better manage sizes around SIZE_MAX.
22892
22893 2010-12-13  Eric Blake  <eblake@redhat.com>
22894
22895         cloexec, fcntl: relax license
22896         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
22897         consent from all contributors.
22898         * modules/fcntl (License): Likewise.
22899
22900 2010-12-10  Bruno Haible  <bruno@clisp.org>
22901
22902         Tests for module 'pipe-posix'.
22903         * modules/pipe-posix-tests: New file.
22904         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
22905
22906 2010-12-10  Bruno Haible  <bruno@clisp.org>
22907
22908         pipe-posix: Make it work in C++ mode.
22909         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
22910         (pipe): Use common idiom, not a macro definition.
22911         * lib/pipe.c: New file.
22912         * m4/pipe.m4: New file.
22913         * modules/pipe-posix (Description): Enhance.
22914         (Files): Add lib/pipe.c, m4/pipe.m4.
22915         (configure.ac): Invoke gl_FUNC_PIPE.
22916         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
22917         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
22918         * tests/test-unistd-c++.cc: Check the signature of pipe.
22919
22920 2010-12-10  Bruno Haible  <bruno@clisp.org>
22921
22922         Rename module 'pipe' to 'spawn-pipe'.
22923         * modules/spawn-pipe: New file, renamed from modules/pipe.
22924         (Files, configure.ac, Makefile.am): Update.
22925         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
22926         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
22927         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
22928         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
22929         "spawn-pipe.h" instead of "pipe.h".
22930         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
22931         to gl_SPAWN_PIPE.
22932         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
22933         (Files, Makefile.am): Update.
22934         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
22935         Update.
22936         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
22937         Include "spawn-pipe.h" instead of "pipe.h".
22938         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
22939         * lib/javacomp.c: Likewise.
22940         * lib/javaversion.c: Likewise.
22941         * lib/pipe-filter-gi.c: Likewise.
22942         * lib/pipe-filter-ii.c: Likewise.
22943         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
22944         * modules/javacomp (Depends-on): Likewise.
22945         * modules/javaversion (Depends-on): Likewise.
22946         * modules/pipe-filter-gi (Depends-on): Likewise.
22947         * modules/pipe-filter-ii (Depends-on): Likewise.
22948         * MODULES.html.sh (Executing programs): Update.
22949         * NEWS: Mention the change.
22950
22951 2010-12-10  Eric Blake  <eblake@redhat.com>
22952
22953         pipe-posix: new module
22954         * modules/pipe-posix: New file.
22955         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
22956         (gl_UNISTD_H): Check for declaration.
22957         * modules/unistd (Makefile.am): Substitute it.
22958         * lib/unistd.in.h (pipe): Provide it for mingw.
22959         * doc/posix-functions/pipe.texi (pipe): Update documentation.
22960         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
22961
22962 2010-12-07  Bruno Haible  <bruno@clisp.org>
22963
22964         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
22965         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
22966         u8_strcmp_gnu.
22967         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
22968
22969 2010-12-06  Bruno Haible  <bruno@clisp.org>
22970
22971         Update internal documentation.
22972         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
22973
22974 2010-12-04  Bruno Haible  <bruno@clisp.org>
22975
22976         Put more information about failed tests into the test return codes.
22977         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
22978         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
22979         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
22980         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
22981         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
22982         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
22983         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22984         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
22985         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
22986         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22987         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
22988         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
22989         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
22990         * m4/stdint.m4 (gl_STDINT_H): Likewise.
22991         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
22992         returns a bit mask.
22993         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
22994         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
22995         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
22996         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
22997         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
22998         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
22999         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
23000         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
23001         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
23002         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
23003         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
23004         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
23005         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
23006         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
23007         * m4/link.m4 (gl_FUNC_LINK): Likewise.
23008         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
23009         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
23010         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
23011         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
23012         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
23013         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
23014         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
23015         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
23016         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
23017         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
23018         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
23019         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
23020         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
23021         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
23022         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
23023         gl_PRINTF_PRECISION): Likewise.
23024         * m4/regex.m4 (gl_REGEX): Likewise.
23025         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
23026         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23027         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
23028         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23029         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
23030         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23031         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
23032         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
23033         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
23034         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
23035         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
23036         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
23037         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
23038         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
23039         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23040         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
23041         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
23042         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23043         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
23044         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
23045         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
23046         enumerated value.
23047         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
23048
23049 2010-12-04  Bruno Haible  <bruno@clisp.org>
23050
23051         Update for Solaris 11 2010-11.
23052         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
23053         Express, released in November 2010.
23054
23055 2010-12-04  Bruno Haible  <bruno@clisp.org>
23056
23057         nproc: Relax license.
23058         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
23059         and Paul Eggert.
23060         Requested by Ludovic Courtès <ludo@gnu.org>.
23061
23062 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
23063
23064         utimecmp: fine-grained src to nearby coarse-grained dest
23065
23066         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
23067         and the source is on a file system with higher-resolution time
23068         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
23069         not work, and the time stamps are close together, the algorithm to
23070         determine the exact resolution from the read-back mtime was buggy:
23071         it had a "!=" where it should have had an "==".  This bug has been
23072         in the code ever since it was introduced to gnulib.
23073         Problem reported by Dan Jacobson in
23074         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
23075
23076 2010-11-30  Bruno Haible  <bruno@clisp.org>
23077
23078         strerror_r-posix: Fix autoconf test.
23079         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
23080
23081 2010-11-28  Bruno Haible  <bruno@clisp.org>
23082             Paul Eggert  <eggert@cs.ucla.edu>
23083
23084         Tests for module 'getdomainname'.
23085         * modules/getdomainname-tests: New file.
23086         * tests/test-getdomainname.c: New file, based on
23087         tests/test-gethostname.c.
23088
23089 2010-11-28  Bruno Haible  <bruno@clisp.org>
23090             Paul Eggert  <eggert@cs.ucla.edu>
23091
23092         getdomainname: Use the system function when possible.
23093         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
23094         (getdomainname): Replace if needed. Provide the declaration if it is
23095         missing. Don't use _GL_CXXALIAS_SYS_CAST.
23096         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
23097         (getdomainname): When the system has getdomainname, call the system
23098         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
23099         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
23100         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
23101         found in libnsl. Look for the declaration also in <netdb.h>. Replace
23102         the function if its second argument is of type 'int' or if it is found
23103         in libnsl.
23104         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
23105         <sys/systeminfo.h> and sysinfo().
23106         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
23107         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23108         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
23109         HAVE_GETDOMAINNAME.
23110         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
23111         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
23112         * doc/glibc-functions/getdomainname.texi: Document the problems with
23113         the getdomainname declaration.
23114
23115 2010-11-28  Bruno Haible  <bruno@clisp.org>
23116
23117         sys_socket: Ensure ss_family field on AIX.
23118         * lib/sys_socket.in.h (ss_family): New macro definition.
23119         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
23120         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
23121         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
23122         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
23123         * modules/sys_socket (Makefile.am): Substitute
23124         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
23125         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
23126
23127 2010-11-27  Bruno Haible  <bruno@clisp.org>
23128
23129         readline: Improve configure output.
23130         * m4/readline.m4 (gl_FUNC_READLINE): Make the
23131         "checking for readline..." result understandable.
23132
23133 2010-11-27  Bruno Haible  <bruno@clisp.org>
23134
23135         *printf-posix: Detect a bug on Solaris 10/x86.
23136         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
23137         for floating-point output.
23138         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
23139         directive.
23140         * tests/test-snprintf-posix.h (test_function): Likewise.
23141         * tests/test-sprintf-posix.h (test_function): Likewise.
23142         * tests/test-vasprintf-posix.c (test_function): Likewise.
23143         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
23144         * doc/posix-functions/printf.texi: Likewise.
23145         * doc/posix-functions/snprintf.texi: Likewise.
23146         * doc/posix-functions/sprintf.texi: Likewise.
23147         * doc/posix-functions/vfprintf.texi: Likewise.
23148         * doc/posix-functions/vprintf.texi: Likewise.
23149         * doc/posix-functions/vsnprintf.texi: Likewise.
23150         * doc/posix-functions/vsprintf.texi: Likewise.
23151         * doc/glibc-functions/obstack_printf.texi: Likewise.
23152         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
23153
23154 2010-11-27  Bruno Haible  <bruno@clisp.org>
23155
23156         Fix link error when module libunistring-optional is in use.
23157         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
23158         * modules/striconveha-tests (Makefile.am): Likewise.
23159
23160 2010-11-27  Bruno Haible  <bruno@clisp.org>
23161
23162         regex: Mention link dependencies.
23163         * modules/regex (Link): New section.
23164         * modules/rpmatch (Link): Likewise.
23165         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
23166
23167 2010-11-27  Bruno Haible  <bruno@clisp.org>
23168
23169         ftoastr: Fix compilation error on Solaris.
23170         * lib/ftoastr.c: Include <config.h>.
23171
23172 2010-11-27  Bruno Haible  <bruno@clisp.org>
23173
23174         getloadavg: Update documentation.
23175         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
23176
23177 2010-11-27  Bruno Haible  <bruno@clisp.org>
23178
23179         sys_socket: Fix test whether the functions are declared.
23180         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
23181         not <sys/select.h>.
23182
23183 2010-11-27  Bruno Haible  <bruno@clisp.org>
23184
23185         getpass: Make sure to get system declaration on some platforms.
23186         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
23187         gl_USE_SYSTEM_EXTENSIONS.
23188         * modules/getpass (Depends-on): Add extensions.
23189
23190 2010-11-26  Bruno Haible  <bruno@clisp.org>
23191
23192         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
23193         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
23194         'iconv' module is present.
23195         (ICONV_CONST): New macro.
23196         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
23197         ICONV_CONST.
23198         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
23199         set ICONV_CONST.
23200         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
23201         here.
23202         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
23203         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
23204         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
23205         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
23206         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
23207         present.
23208
23209 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
23210
23211         ftoastr: comment fix
23212         * lib/ftoastr.c: "little" -> "little or no" in comment
23213
23214 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
23215
23216         stdint: port to GCC 4.3 + OSX + Octave
23217         On this platform, stdint.h is buggy and defines int64_t to long
23218         long int.  The replacement defined it to long int, causing
23219         problems with C++ style name mangling.  Instead, trust the system
23220         definition if INT64_MAX is defined, and likewise for the unsigned
23221         variant.   Problem reported by Jarno Rajahalme in
23222         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
23223         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
23224         and don't mess with int64_t and INT64_MAX in this case.
23225         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
23226
23227 2010-11-24  Bruno Haible  <bruno@clisp.org>
23228
23229         doc: Corrections regarding MacOS X 10.4 and 10.5.
23230         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
23231         MacOS X.
23232         Reported by Simon Josefsson.
23233
23234 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
23235
23236         Uninstall ".bin" files installed by relocwrapper.
23237         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
23238         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
23239         unless it is already there.
23240
23241 2010-11-21  Bruno Haible  <bruno@clisp.org>
23242
23243         Update for NetBSD 5.0.
23244         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
23245         NetBSD; the test fails on NetBSD 5.0.
23246         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
23247         about NetBSD.
23248
23249 2010-11-21  Bruno Haible  <bruno@clisp.org>
23250
23251         Update for HP-UX 11.23 and HP-UX 11.31.
23252         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
23253         HP-UX.
23254
23255 2010-11-21  Bruno Haible  <bruno@clisp.org>
23256
23257         Update for MacOS X 10.5.
23258         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
23259         MacOS X; the test fails on MacOS X 10.5.8.
23260         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
23261         about MacOS X.
23262
23263 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
23264
23265         bootstrap: add bootstrap_sync option.
23266         See discussion at
23267         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
23268         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
23269         * build-aux/bootstrap: Accept --bootstrap-sync to update
23270         bootstrap if it is not identical to the local gnulib's
23271         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
23272         enable this by default.  Accept --no-bootstrap-sync to disable
23273         it.
23274
23275 2010-11-20  Bruno Haible  <bruno@clisp.org>
23276
23277         Ensure that <features.h> is included before __GLIBC__ is tested.
23278         * lib/printf-parse.h: Include <features.h>.
23279         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
23280         Reported by Mike Frysinger <vapier@gentoo.org>.
23281
23282         Ensure that <features.h> is included before __GLIBC__ is tested.
23283         * lib/wchar.in.h: Include <features.h>.
23284         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
23285         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
23286         Reported by Mike Frysinger <vapier@gentoo.org>.
23287
23288         Ensure that <features.h> is included before __GLIBC__ is tested.
23289         * lib/arpa_inet.in.h: Include <features.h>.
23290         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
23291         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
23292         Reported by Mike Frysinger <vapier@gentoo.org>.
23293
23294         Ensure that <features.h> is included before __GLIBC__ is tested.
23295         * build-aux/link-warning.h: Include <features.h>.
23296         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
23297         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
23298         Reported by Mike Frysinger <vapier@gentoo.org>.
23299
23300         Ensure that <features.h> is included before __GLIBC__ is tested.
23301         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
23302         Reported by Mike Frysinger <vapier@gentoo.org>.
23303
23304 2010-11-20  Bruno Haible  <bruno@clisp.org>
23305
23306         memmem: Fix autoconf test.
23307         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
23308
23309 2010-11-20  Bruno Haible  <bruno@clisp.org>
23310
23311         Port to uClibc.
23312         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
23313         * lib/fcntl.in.h: Likewise.
23314         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
23315         * lib/mbrtowc.c (mbrtowc): Likewise.
23316         * lib/relocatable.c (find_shared_library_fullname): Likewise.
23317         * lib/strerror_r.c: Likewise.
23318         * lib/unistr/u8-strnlen.c: Likewise.
23319         * lib/vasnprintf.c (decimal_point_char): Likewise.
23320         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
23321         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
23322         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
23323         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
23324         * tests/test-sigaction.c (handler, main): Likewise.
23325         * lib/freading.h: Treat uClibc like a non-glibc platform.
23326         * lib/freading.c: Likewise.
23327         * lib/gettext.h: Likewise.
23328         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
23329         Likewise.
23330         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
23331         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
23332         * lib/propername.c (proper_name_utf8): Likewise.
23333         * lib/spawn.in.h: Likewise.
23334         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
23335         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
23336         mem_cd_iconveh_internal): Likewise.
23337         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
23338         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
23339         strstr, strcasestr): Likewise.
23340         * lib/unicodeio.c (unicode_to_mb): Likewise.
23341         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
23342         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
23343         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
23344         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
23345         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
23346         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
23347         * lib/unistr/u8-stpncpy.c: Likewise.
23348         * lib/vasnprintf.c (VASNPRINTF): Likewise.
23349         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
23350         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
23351         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23352         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
23353         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
23354         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
23355         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
23356         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
23357         Likewise.
23358         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
23359         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
23360         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
23361         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
23362         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
23363         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
23364         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
23365         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
23366         * tests/test-getopt.h (OPTIND_MIN): Likewise.
23367         * tests/test-striconveha.c (main): Likewise.
23368         * tests/test-vasnprintf-posix.c (test_function): Likewise.
23369         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
23370         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
23371         * doc/posix-functions/getline.texi: Likewise.
23372         Reported by Mike Frysinger <vapier@gentoo.org>.
23373
23374 2010-11-20  Bruno Haible  <bruno@clisp.org>
23375
23376         nproc: Fix condition.
23377         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
23378         HAVE_PTHREAD_AFFINITY_NP.
23379
23380 2010-11-20  Bruno Haible  <bruno@clisp.org>
23381
23382         Fix a comment.
23383         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
23384
23385 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
23386
23387         ftoastr: don't assume snprintf
23388         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
23389         Implement a subset of snprintf here, by using sprintf safely.
23390         * modules/ftoastr (Depends-on): Remove snprintf.
23391
23392 2010-11-19  Jim Meyering  <meyering@redhat.com>
23393
23394         test-rename.h: fix compilation failure
23395         * tests/test-rename.h (test_rename): Add omitted "}".
23396
23397 2010-11-17  Jim Meyering  <meyering@redhat.com>
23398
23399         maint.mk: add a URL discussing the no-@acronym policy
23400         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
23401
23402 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
23403
23404         ftoastr: depend on snprintf, improve comments
23405         * lib/ftoastr.c: Also mention Loitsch's draft.
23406         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
23407         needed in the current implementation, but it might simplify
23408         speeding up the code later.
23409         * modules/ftoastr: Depend on snprintf; this improves portability.
23410         Suggested by Bruno Haible in the same email.
23411
23412         ftoastr: port to hosts lacking strtof and strtold
23413         Problem reported by Bruno Haible in
23414         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
23415         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
23416         environment and strtold (and presumably strtof) are not available.
23417         * modules/ftoastr (Files): Add m4/c-strtod.m4.
23418         (configure.ac): Require gl_C99_STRTOLD.
23419
23420 2010-11-18  Bruno Haible  <bruno@clisp.org>
23421
23422         c-strtold: Avoid link error on AIX 7.
23423         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
23424         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
23425         (gl_C_STRTOLD): Test whether strtold_l exists.
23426         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23427
23428 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
23429
23430         intprops: new macro INT_BITS_STRLEN_BOUND
23431         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
23432         ftoastr.h.  This exposes an internal of intprops.h that was formerly
23433         not exposed.  Also, it uses a slightly tighter bound than before;
23434         though this makes no practical difference, we might as well be as
23435         tight as we easily can.
23436
23437         ftoastr: new module, for lossless conversion of floats to short strings
23438         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
23439         * modules/ftoastr: New files.
23440
23441 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
23442
23443         bootstrap: port to Solaris sed
23444         * build-aux/bootstrap (get_version): Port to Solaris sed.
23445         See Ralf Wildenhues's note in
23446         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
23447
23448 2010-11-14  Jim Meyering  <meyering@redhat.com>
23449
23450         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
23451         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
23452         and move definition closer to sole use.
23453
23454 2010-11-13  Jim Meyering  <meyering@redhat.com>
23455
23456         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
23457         Now we require at least autoconf-2.59, which means the work-around
23458         is no longer needed.
23459         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
23460         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
23461         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
23462         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
23463         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
23464
23465 2010-11-13  Bruno Haible  <bruno@clisp.org>
23466
23467         rename, renameat: Avoid test failures at NFS mounted locations.
23468         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
23469         functions.
23470         (test_rename): Use assert_nonexistent.
23471         * tests/test-rename.c: Include <dirent.h>.
23472         * tests/test-renameat.c: Likewise.
23473         Reported by Gary V. Vaughan <gary@gnu.org>.
23474
23475         rename, renameat: Document Linux bug with NFS
23476         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
23477         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
23478         * doc/posix-functions/renameat.texi: Likewise.
23479         Suggested by Eric Blake.
23480
23481 2010-11-13  Bruno Haible  <bruno@clisp.org>
23482
23483         rename test: Add comments.
23484         * tests/test-rename.h (test_rename): Add structure and comments.
23485
23486 2010-11-13  Eric Blake  <eblake@redhat.com>
23487
23488         maintainer-makefile: cover a few more files
23489         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
23490         scripts generated within C files, for libvirt.
23491
23492 2010-11-13  Bruno Haible  <bruno@clisp.org>
23493
23494         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
23495         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
23496         character, return the number of bytes that belong together, not always
23497         1.
23498         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
23499         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
23500         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
23501         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
23502         number of bytes of an invalid character.
23503         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
23504         (main): Invoke it.
23505         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
23506         results.
23507         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
23508         malformed byte sequences.
23509         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
23510         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
23511         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
23512         Reported by Ben Pfaff and Paolo Bonzini.
23513
23514 2010-11-13  Bruno Haible  <bruno@clisp.org>
23515
23516         openat: Work around glibc bug with fchownat() and empty file names.
23517         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
23518         (gl_FUNC_FCHOWNAT): Invoke it.
23519         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
23520         * doc/posix-functions/fchownat.texi: Document the glibc bug.
23521         Reported by Gary V. Vaughan <gary@gnu.org>.
23522
23523 2010-11-13  Bruno Haible  <bruno@clisp.org>
23524
23525         openat: Ensure autoconf macro ordering.
23526         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
23527         gl_USE_SYSTEM_EXTENSIONS.
23528         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
23529
23530 2010-11-13  Bruno Haible  <bruno@clisp.org>
23531
23532         Update comments.
23533         * lib/unistr/u8-check.c: Update file name in comments.
23534         * lib/unistr/u8-mblen.c: Likewise.
23535         * lib/unistr/u8-prev.c: Likewise.
23536         * lib/unistr/u8-strmblen.c: Likewise.
23537         * lib/unistr/u8-strmbtouc.c: Likewise.
23538
23539 2010-11-13  Jim Meyering  <meyering@redhat.com>
23540
23541         tests: avoid test failure on Solaris 10 due to lack of PATH export
23542         * tests/test-update-copyright.sh: Don't forget to export PATH.
23543
23544         init.sh: ensure that IFS is defined, just in case...
23545         * tests/init.sh (setup_): Ensure that IFS is defined,
23546         so that saving and restoring it works as expected.  This
23547         appears to be useful at least for an old version of dash
23548         from a long time ago (RH 6).  See here for details:
23549         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
23550
23551         maint.mk: tighten "test a == b" check
23552         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
23553         test to files that contain something like #!/bin/sh.
23554         Without this, coreutils would get two false positives in
23555         the comments of C source files.
23556
23557 2010-11-12  Eric Blake  <eblake@redhat.com>
23558
23559         bootstrap: fix typo in previous attempt
23560         * build-aux/bootstrap (buildreq): Correct the grouping.
23561         Reported by Paul Eggert.
23562
23563         maintainer-makefile: prohibit test x == x
23564         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
23565         Based on a report by Matthias Bolte.
23566
23567         bootstrap: allow FreeBSD gzip
23568         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
23569         which has no '.' and goes to stderr.
23570         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
23571         Reported by Matthias Bolte.
23572
23573         maintainer-makefile: check for i18n setup
23574         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
23575         will likely work.
23576
23577 2010-11-12  Bruno Haible  <bruno@clisp.org>
23578
23579         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
23580         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
23581         * lib/nanosleep.c (nanosleep): Likewise.
23582
23583 2010-11-11  Bruno Haible  <bruno@clisp.org>
23584
23585         fcntl-h: Fix for use of C++ on glibc systems.
23586         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
23587         also on glibc systems in C++ mode.
23588         Reported by Gary V. Vaughan <gary@gnu.org>.
23589
23590 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
23591
23592         mknod: avoid false failure with dash
23593         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
23594
23595 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
23596
23597         unlink: Fix "is it should" typo in diagnostic.
23598         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
23599         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
23600
23601 2010-11-11  Bruno Haible  <bruno@clisp.org>
23602
23603         Tests for module 'strerror_r-posix'.
23604         * modules/strerror_r-posix-tests: New file.
23605         * tests/test-strerror_r.c: New file.
23606         * tests/test-string-c++.cc: Check the signature of strerror_r.
23607
23608         New module 'strerror_r-posix'.
23609         * lib/string.in.h (strerror_r): New declaration.
23610         * lib/strerror_r.c: New file.
23611         * m4/strerror_r.m4: New file.
23612         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
23613         of strerror_r.
23614         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
23615         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
23616         * modules/strerror_r-posix: New file.
23617         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
23618         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
23619         * doc/posix-functions/strerror_r.texi: Mention the new module and the
23620         portability problems.
23621
23622 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
23623
23624         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
23625         line is also considered for output. Quoted function name in shell
23626         command, so temporary files for functions like MyClass::operator()
23627         are removed correctly without errors.
23628
23629 2010-11-09  Bruno Haible  <bruno@clisp.org>
23630
23631         * doc/posix-functions/strerror.texi: List more failing platforms.
23632
23633         * doc/posix-functions/strerror.texi: Add a comment.
23634
23635 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
23636
23637         fdopendir: fix bug on MacOS X when low on file descriptors
23638
23639         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
23640         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
23641         All callers changed.
23642         (fdopendir): Invoke save_cwd at the top level, not after using
23643         multiple dup() calls to use up file descriptors.  Then retry
23644         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
23645         less than the maximum number of open file descriptors, because
23646         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
23647         on Mac OS X 10.6.4 for tar 1.24
23648         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
23649         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
23650         and for tar 1.25
23651         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
23652
23653 2010-11-07  Bruno Haible  <bruno@clisp.org>
23654
23655         vasnprintf: Support I flag on glibc systems.
23656         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
23657         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
23658         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
23659         snprintf function.
23660         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
23661         glibc systems.
23662         * tests/test-vasnprintf-posix3.c: New file.
23663         * modules/vasnprintf-posix-tests (Files): Add it.
23664         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
23665
23666 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
23667
23668         [html] Fix copy/paste bug: Use unique name for compiler warnings.
23669         * MODULES.html.sh: For compiler warnings, use name
23670         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
23671
23672 2010-11-05  Eric Blake  <eblake@redhat.com>
23673
23674         ceil, floor: avoid spurious failure with icc
23675         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
23676         [denormals-as-zero] when optimizing without -mieee-fp option.
23677         * tests/test-floorf2.c (floorf_reference): Likewise.
23678         * tests/test-ceilf1.c (dummy): New function.
23679         (main): Use it to outsmart icc's optimization.
23680         * tests/test-floorf1.c (dummy, main): Likewise.
23681
23682         tests: require working signbit
23683         * modules/ceilf-tests (Depends-on): Add signbit.
23684         * modules/ceill-tests (Depends-on): Likewise.
23685         * modules/floorf-tests (Depends-on): Likewise.
23686         * modules/floorl-tests (Depends-on): Likewise.
23687         * modules/round-tests (Depends-on): Likewise.
23688         * modules/roundf-tests (Depends-on): Likewise.
23689         * modules/roundl-tests (Depends-on): Likewise.
23690         * modules/trunc-tests (Depends-on): Likewise.
23691         * modules/truncf-tests (Depends-on): Likewise.
23692         * modules/truncl-tests (Depends-on): Likewise.
23693
23694         strtod: work around icc bug
23695         * lib/strtod.c (minus_zero): Define to working value.
23696         (strtod): Use it to avoid icc bug.
23697
23698         copysign: enhance tests
23699         * modules/copysign-tests (Files): Add minus-zero.h.
23700         * tests/test-copysign.c (main): Also test zeros.
23701
23702 2010-11-04  Eric Blake  <eblake@redhat.com>
23703
23704         ceil, floor, round, trunc: enhance tests of -0
23705         * tests/test-ceilf1.c (main): Ensure correct sign of result.
23706         * tests/test-ceill.c (main): Likewise.
23707         * tests/test-floorf1.c (main): Likewise.
23708         * tests/test-floorl.c (main): Likewise.
23709         * tests/test-round1.c (main): Likewise.
23710         * tests/test-roundf1.c (main): Likewise.
23711         * tests/test-roundl.c (main): Likewise.
23712         * tests/test-trunc1.c (main): Likewise.
23713         * tests/test-truncf1.c (main): Likewise.
23714         * tests/test-truncl.c (main): Likewise.
23715
23716 2010-11-04  Eric Blake  <eblake@redhat.com>
23717
23718         frexp, tests: work around ICC bug with -zero
23719         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
23720         works with more compilers.
23721         * tests/minus-zero.h: New file.
23722         * modules/ceilf-tests (Files): Include it.
23723         * modules/ceill-tests (Files): Likewise.
23724         * modules/floorf-tests (Files): Likewise.
23725         * modules/floorl-tests (Files): Likewise.
23726         * modules/frexp-nolibm-tests (Files): Likewise.
23727         * modules/frexp-tests (Files): Likewise.
23728         * modules/frexpl-nolibm-tests (Files): Likewise.
23729         * modules/frexpl-tests (Files): Likewise.
23730         * modules/isnan-tests (Files): Likewise.
23731         * modules/isnand-nolibm-tests (Files): Likewise.
23732         * modules/isnand-tests (Files): Likewise.
23733         * modules/isnanf-nolibm-tests (Files): Likewise.
23734         * modules/isnanf-tests (Files): Likewise.
23735         * modules/isnanl-nolibm-tests (Files): Likewise.
23736         * modules/isnanl-tests (Files): Likewise.
23737         * modules/round-tests (Files): Likewise.
23738         * modules/roundf-tests (Files): Likewise.
23739         * modules/roundl-tests (Files): Likewise.
23740         * modules/ldexpl-tests (Files): Likewise.
23741         * modules/signbit-tests (Files): Likewise.
23742         * modules/snprintf-posix-tests (Files): Likewise.
23743         * modules/sprintf-posix-tests (Files): Likewise.
23744         * modules/strtod-tests (Files): Likewise.
23745         * modules/trunc-tests (Files): Likewise.
23746         * modules/truncf-tests (Files): Likewise.
23747         * modules/truncl-tests (Files): Likewise.
23748         * modules/vsnprintf-posix-tests (Files): Likewise.
23749         * modules/vsprintf-posix-tests (Files): Likewise.
23750         * modules/vasnprintf-posix-tests (Files): Likewise.
23751         * modules/vasprintf-posix-tests (Files): Likewise.
23752         * tests/test-ceilf1.c (main): Use it.
23753         * tests/test-ceill.c (main): Likewise.
23754         * tests/test-floorf1.c (main): Likewise.
23755         * tests/test-floorl.c (main): Likewise.
23756         * tests/test-frexp.c (main): Likewise.
23757         * tests/test-frexpl.c (main): Likewise.
23758         * tests/test-isnan.c (main): Likewise.
23759         * tests/test-isnand.h (main): Likewise.
23760         * tests/test-isnanf.h (main): Likewise.
23761         * tests/test-isnanl.h (main): Likewise.
23762         * tests/test-ldexpl.c (main): Likewise.
23763         * tests/test-round.c (main): Likewise.
23764         * tests/test-roundf.c (main): Likewise.
23765         * tests/test-roundl.c (main): Likewise.
23766         * tests/test-signbit.c (test_signbitf, test_signbitd)
23767         (test_signbitl): Likewise.
23768         * tests/test-snprintf-posix.h (test_function): Likewise.
23769         * tests/test-sprintf-posix.h (test_function): Likewise.
23770         * tests/test-strtod.c (main): Likewise.
23771         * tests/test-trunc1.c (main): Likewise.
23772         * tests/test-truncf1.c (main): Likewise.
23773         * tests/test-truncl.c (main): Likewise.
23774
23775         isnanl: work around icc bug
23776         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
23777
23778 2010-11-03  Eric Blake  <eblake@redhat.com>
23779
23780         tests: fix compiler warnings
23781         * tests/test-getopt.h (test_getopt): Fix condition.
23782         * tests/test-getopt_long.h (test_getopt_long): Likewise.
23783         * tests/test-pipe2.c (main): Likewise.
23784         * tests/test-quotearg-simple.c (main): Avoid icc warning.
23785
23786         utimens: fix broken m4 test
23787         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
23788
23789 2010-10-28  Bruno Haible  <bruno@clisp.org>
23790
23791         posix_spawn*, getdtablesize: Relax license.
23792         * modules/posix_spawn (License): Change to LGPLv2+.
23793         * modules/posix_spawnp (License): Likewise.
23794         * modules/posix_spawn-internal (License): Likewise.
23795         * modules/posix_spawnattr_init (License): Likewise.
23796         * modules/posix_spawnattr_getflags (License): Likewise.
23797         * modules/posix_spawnattr_setflags (License): Likewise.
23798         * modules/posix_spawnattr_getpgroup (License): Likewise.
23799         * modules/posix_spawnattr_setpgroup (License): Likewise.
23800         * modules/posix_spawnattr_getschedparam (License): Likewise.
23801         * modules/posix_spawnattr_setschedparam (License): Likewise.
23802         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
23803         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
23804         * modules/posix_spawnattr_getsigdefault (License): Likewise.
23805         * modules/posix_spawnattr_setsigdefault (License): Likewise.
23806         * modules/posix_spawnattr_getsigmask (License): Likewise.
23807         * modules/posix_spawnattr_setsigmask (License): Likewise.
23808         * modules/posix_spawnattr_destroy (License): Likewise.
23809         * modules/posix_spawn_file_actions_init (License): Likewise.
23810         * modules/posix_spawn_file_actions_addclose (License): Likewise.
23811         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
23812         * modules/posix_spawn_file_actions_addopen (License): Likewise.
23813         * modules/posix_spawn_file_actions_destroy (License): Likewise.
23814         * modules/getdtablesize (License): Likewise.
23815         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
23816
23817 2010-10-26  Bruno Haible  <bruno@clisp.org>
23818
23819         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
23820         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
23821         Cygwin and mingw.
23822         Suggested by Eric Blake.
23823
23824 2010-10-26  Bruno Haible  <bruno@clisp.org>
23825
23826         stdio: Work around compilation error due to renameat() on Solaris 10.
23827         * lib/stdio.in.h: Include <unistd.h> on Solaris.
23828         * lib/renameat.c: Don't include <unistd.h> here.
23829         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
23830         Reported by Paul Eggert and Eric Blake.
23831
23832 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
23833
23834         renameat: port to Solaris 10, which declares renameat in unistd.h
23835
23836         * lib/renameat.c: Include unistd.h before stdio.h, because
23837         Solaris 10 declares renameat in unistd.h.  Problem encountered
23838         when building GNU tar 1.24 on Solaris 10.
23839
23840 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
23841
23842         fdopendir: fix C89 compilation
23843         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
23844         compilers.
23845
23846 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
23847
23848         inttostr: simplify by removing unnecessary redundancy
23849         * lib/anytostr.c: Don't include verify.h.
23850         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
23851         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
23852         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
23853         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
23854         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
23855         Likewise.
23856         * modules/inttostr (Depends-on): Remove 'verify'.
23857
23858 2010-10-23  Bruno Haible  <bruno@clisp.org>
23859
23860         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
23861         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
23862         Reported by Eric Blake.
23863
23864 2010-10-23  Bruno Haible  <bruno@clisp.org>
23865
23866         Tests: Fix LOCALE_JA on MirBSD 10.
23867         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
23868         to an UTF-8 locale.
23869         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
23870         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
23871         Reported by Eric Blake.
23872
23873 2010-10-21  Bruno Haible  <bruno@clisp.org>
23874
23875         nl_langinfo test: Avoid test failure on NetBSD 5.
23876         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
23877         Reported by Eric Blake.
23878
23879 2010-10-21  Eric Blake  <eblake@redhat.com>
23880
23881         c-stack: work around libsigsegv 2.8 bug
23882         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
23883         overflow on at least PowerPC64.
23884
23885 2010-10-17  Bruno Haible  <bruno@clisp.org>
23886
23887         userspec: Drop redundant file.
23888         * modules/userspec (Files): Remove lib/inttostr.h.
23889
23890 2010-10-17  Bruno Haible  <bruno@clisp.org>
23891
23892         nl_langinfo tests: Silence some warnings.
23893         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
23894         Reported by Jim Meyering.
23895
23896 2010-10-17  Bruno Haible  <bruno@clisp.org>
23897
23898         Make use of GCC's attribute __alloc_size__.
23899         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
23900         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
23901         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
23902         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
23903         __alloc_size__.
23904         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
23905         Suggested by Jim Meyering.
23906
23907 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
23908
23909         bootstrap: anchor .gitignore entries.
23910         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
23911         with...
23912         (insert_vc_ignore): ... this new function, which prepends `/' to
23913         all .gitignore entries before passing them to
23914         insert_sorted_if_absent.
23915
23916 2010-10-16  Bruno Haible  <bruno@clisp.org>
23917
23918         nextafter: Fix configure check.
23919         * modules/nextafter (configure.ac): Correct expected prototype.
23920
23921 2010-10-16  Bruno Haible  <bruno@clisp.org>
23922
23923         termios: Update documentation.
23924         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
23925
23926 2010-10-16  Bruno Haible  <bruno@clisp.org>
23927
23928         tests: Make them compile with TinyCC.
23929         * tests/test-strstr.c (main): Remove parentheses around array
23930         initializer.
23931
23932 2010-10-15  Eric Blake  <eblake@redhat.com>
23933
23934         ignore-value: make header idempotent
23935         * lib/ignore-value.h: Add double-inclusion guards.
23936         Reported by Stefan Berger.
23937
23938 2010-10-15  Jim Meyering  <meyering@redhat.com>
23939
23940         GNUmakefile: handle "stable" target, not "major"
23941         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
23942         lists in maint.mk and announce-gen.  Without this, "make stable"
23943         would fail to ensure that $(VERSION) is up to date.
23944
23945 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
23946
23947         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
23948         & co.
23949
23950 2010-10-14  Bruno Haible  <bruno@clisp.org>
23951
23952         vasnprintf: Don't set errno to 0.
23953         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
23954         block that sets it to 0.
23955         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
23956
23957 2010-10-14  Bruno Haible  <bruno@clisp.org>
23958
23959         socketlib: Fix.
23960         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
23961         gl_PREREQ_SYS_H_WINSOCK2.
23962         Reported by Ian Beckwith <ianb@erislabs.net>.
23963
23964 2010-10-13  Jim Meyering  <meyering@redhat.com>
23965
23966         test-select-stdin.c: avoid warn_unused_result warnings
23967         * tests/test-select-stdin.c: Include "macros.h".
23968         ASSERT that read and fflush succeed.
23969
23970 2010-10-13  Jim Meyering  <meyering@redhat.com>
23971
23972         git-version-gen: do require git-VC'd files in cwd
23973         * build-aux/git-version-gen: Reject a git version string
23974         if there are no commits associated with the current directory.
23975         This avoids an unlikely false-positive (unrelated dir whose parent
23976         repository also contains a tag matching v*), as pointed out
23977         by Giuseppe Scrivano in
23978         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
23979
23980 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
23981
23982         argv-iter: omit nonconforming declaration
23983         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
23984         enum arg_iter_err declaration, which doesn't conform to C99.
23985         Solaris 10 cc warns about this.
23986
23987 2010-10-13  Eric Blake  <eblake@redhat.com>
23988
23989         termios: fix compilation on mingw
23990         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
23991         (gl_TERMIOS_H): Adjust it on mingw.
23992         * modules/termios (Makefile.am): Substitute new key.
23993         * lib/termios.in.h (includes): Make include_next conditional.
23994         * doc/posix-headers/termios.texi (termios.h): Update
23995         documentation.
23996         Reported by Daniel P. Berrange.
23997
23998 2010-10-13  Jim Meyering  <meyering@redhat.com>
23999
24000         git-version-gen: don't require that .git/ be in the current dir
24001         * build-aux/git-version-gen: Adjust this script so that it works
24002         when run from any working directory beneath the top-level .git/-
24003         containing directory.  Inspired by a patch from Giuseppe Scrivano,
24004         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
24005
24006         test-select: avoid warn_unused_result warnings
24007         * tests/test-select.c: Include "macros.h".
24008         ASSERT that each call to read, write, and pipe succeeds.
24009         While not technically required, also check each "close".
24010         * modules/select-tests (Files): Add tests/macros.h.
24011
24012         test-symlinkat: remove declaration of unused local
24013         * tests/test-symlinkat.c (main): Remove unused local, "buf".
24014
24015         test-inttostr: avoid shadowing warnings
24016         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
24017         and use malloc rather than the stack for the same reason as
24018         mentioned in the comment justifying the other allocation.
24019
24020 2010-10-11  Bruno Haible  <bruno@clisp.org>
24021
24022         stdlib: Allow multiple gnulib generated replacements to coexist.
24023         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
24024         Reported by Sam Steingold <sds@gnu.org>.
24025
24026 2010-10-11  Jim Meyering  <meyering@redhat.com>
24027
24028         fix a documentation typo
24029         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
24030
24031 2010-10-11  Eric Blake  <eblake@redhat.com>
24032
24033         futimens: work around Solaris 11 bug
24034         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
24035         * tests/test-futimens.h (test_futimens): Enhance, rather than
24036         weaken test.
24037         * doc/posix-functions/futimens.texi (futimens): Document the bug.
24038
24039 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
24040
24041         Indentation.
24042         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
24043         higher-level operators more to the left.
24044
24045 2010-10-11  Jim Meyering  <meyering@redhat.com>
24046
24047         test-futimens: avoid unwarranted test failure on Solaris 5.11
24048         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
24049         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
24050         because it tries to dereference the NULL name argument.
24051
24052 2010-10-11  Bruno Haible  <bruno@clisp.org>
24053
24054         Indentation.
24055         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
24056         indentation.
24057
24058 2010-10-11  Jim Meyering  <meyering@redhat.com>
24059
24060         spawn.in.h: make indentation consistent with parentheses
24061         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
24062         Make indentation consistent with parentheses.
24063
24064 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
24065
24066         Fix mismatched parens in previous commit
24067         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
24068         parens.
24069
24070 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
24071
24072         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
24073
24074         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
24075         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
24076         * lib/malloca.c: Include "verify.h".
24077         (verify1): Remove, replacing with a verify call.
24078         * lib/relocwrapper.c (verify1): Likewise.
24079         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
24080         Likewise.
24081         * modules/malloca (Depends-on): Add 'verify'.
24082         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
24083         * modules/vasnprintf (Depends-on): Add 'verify'.
24084         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
24085         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
24086         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
24087         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
24088         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
24089         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
24090         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
24091
24092         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
24093
24094         Formerly the style was sometimes 2*X - 1, because the C standard
24095         was wrongly thought to disallow ?: in integral constant expressions.
24096         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
24097         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
24098         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
24099         * lib/stdint.in.h (_verify_intmax_size): Likewise.
24100         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
24101         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
24102         verify that time_t cannot be floating.
24103
24104 2010-10-08  Eric Blake  <eblake@redhat.com>
24105
24106         time: enforce recent POSIX ruling that time_t is integral
24107         * lib/time.in.h (__time_t_must_be_integral): Detect any
24108         problematic systems, allowing the rest of gnulib to assume POSIX.
24109
24110 2010-10-08  Jim Meyering  <meyering@redhat.com>
24111
24112         fdopendir: fix a bug on systems lacking openat and /proc support
24113         OpenBSD 4.7 is one such system.  The most noticeable effect was
24114         failure of any application making nontrivial use of fts: rm, du,
24115         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
24116           ./rm: traversal failed: `a': Bad file descriptor
24117         Debugging that, you see that even though FD 6 was closed just
24118         prior to the opendir call in fd_clone_opendir, its resulting
24119         dir->dd_fd was 8, rather than the expected value of 6:
24120
24121         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
24122         93                close (fd);
24123         (gdb) n
24124         94                dir = fd_clone_opendir (dupfd);
24125         (gdb) n
24126         95                saved_errno = errno;
24127         (gdb) p dir->dd_fd
24128         $11 = 8
24129
24130         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
24131         The problem is that on OpenBSD, fd_clone_opendir has to resort
24132         to using the old-style save/restore CWD mechanism, due to its
24133         lack of openat/proc support, and *that* would steal the FD (6)
24134         that opendir was supposed to use.
24135
24136         The fix is to squirrel away the desired FD so that save_cwd uses a
24137         different one, and then free the dest FD right before calling opendir.
24138         That guarantees opendir will use the required file descriptor.
24139
24140         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
24141
24142 2010-10-08  Bruno Haible  <bruno@clisp.org>
24143
24144         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
24145         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
24146
24147 2010-10-08  Bruno Haible  <bruno@clisp.org>
24148
24149         nanosleep: Make replacement POSIX compliant.
24150         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
24151         is out of range.
24152         Reported by Jim Meyering.
24153
24154 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
24155
24156         bootstrap: add hook for altering gnulib.mk, for Bison
24157         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
24158         the Bison bootstrapping process can rewrite file names and variables
24159         in this file before later parts of 'bootstrap' use the file.
24160         Bison wants to include lib/gnulib.mk from the top-level makefile,
24161         so it needs the file names in this file to be relative to the top
24162         level, not relative to lib; plus it needs variable names to be
24163         rewritten.
24164         (slurp): Use the new function.
24165
24166         bootstrap: reformat for readability
24167         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
24168
24169 2010-10-08  Eric Blake  <eblake@redhat.com>
24170
24171         docs: update cygwin progress
24172         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
24173         1.7.7.
24174         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
24175         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
24176         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
24177         * doc/posix-functions/carg.texi (carg): Likewise.
24178         * doc/posix-functions/cargf.texi (cargf): Likewise.
24179         * doc/posix-functions/casin.texi (casin): Likewise.
24180         * doc/posix-functions/casinf.texi (casinf): Likewise.
24181         * doc/posix-functions/casinh.texi (casinh): Likewise.
24182         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
24183         * doc/posix-functions/catan.texi (catan): Likewise.
24184         * doc/posix-functions/catanf.texi (catanf): Likewise.
24185         * doc/posix-functions/catanh.texi (catanh): Likewise.
24186         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
24187         * doc/posix-functions/ccos.texi (ccos): Likewise.
24188         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
24189         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
24190         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
24191         * doc/posix-functions/cexp.texi (cexp): Likewise.
24192         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
24193         * doc/posix-functions/cimag.texi (cimag): Likewise.
24194         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
24195         * doc/posix-functions/clog.texi (clog): Likewise.
24196         * doc/posix-functions/clogf.texi (clogf): Likewise.
24197         * doc/posix-functions/conj.texi (conj): Likewise.
24198         * doc/posix-functions/conjf.texi (conjf): Likewise.
24199         * doc/posix-functions/cpow.texi (cpow): Likewise.
24200         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
24201         * doc/posix-functions/cproj.texi (cproj): Likewise.
24202         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
24203         * doc/posix-functions/creal.texi (creal): Likewise.
24204         * doc/posix-functions/crealf.texi (crealf): Likewise.
24205         * doc/posix-functions/csin.texi (csin): Likewise.
24206         * doc/posix-functions/csinf.texi (csinf): Likewise.
24207         * doc/posix-functions/csinh.texi (csinh): Likewise.
24208         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
24209         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
24210         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
24211         * doc/posix-functions/ctan.texi (ctan): Likewise.
24212         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
24213         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
24214         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
24215         * doc/posix-headers/complex.texi (complex.h): Likewise.
24216
24217 2010-10-07  Jim Meyering  <meyering@redhat.com>
24218
24219         parse-datetime: avoid compilation failure on OpenBSD 4.7
24220         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
24221         This works around a compilation failure on OpenBSD 4.7:
24222         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
24223
24224 2010-10-07  Eric Blake  <eblake@redhat.com>
24225
24226         docs: update cygwin progress
24227         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
24228         1.7.6.
24229         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
24230         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
24231         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
24232         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
24233         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
24234         Likewise.
24235         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
24236         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
24237         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
24238         Likewise.
24239         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
24240         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
24241         Likewise.
24242         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
24243         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
24244         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
24245         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
24246         Likewise.
24247         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
24248         Likewise.
24249         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
24250
24251         docs: update parse-datetime history
24252         * doc/parse-datetime.texi (Authors of parse_datetime): Better
24253         documentation of this function's history and alternatives.
24254
24255         cygwin: use more robust version check
24256         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
24257         exclude an eventual cygwin 1.9.1.
24258         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
24259         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
24260         (gl_FUNC_STRCASESTR): Likewise.
24261         Reported by Bruno Haible.
24262
24263 2010-10-06  Bruno Haible  <bruno@clisp.org>
24264
24265         string, sys_select: Avoid #including large headers unless necessary.
24266         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
24267         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
24268         OSF/1, BeOS, Haiku.
24269         Reported by Jim Meyering.
24270
24271 2010-10-05  Eric Blake  <eblake@redhat.com>
24272
24273         memmem, strstr, strcasestr: fix bug with long periodic needle
24274         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
24275         periodic needle having false positive.
24276         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
24277         and cygwin 1.7.7.
24278         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
24279         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
24280         (gl_FUNC_STRCASESTR): Likewise.
24281         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
24282         * tests/test-memmem.c (main): Expose the bug.
24283         * tests/test-strcasestr.c (main): Likewise.
24284         * tests/test-strstr.c (main): Likewise.
24285         * tests/test-c-strcasestr.c (main): Likewise.
24286         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
24287         * doc/posix-functions/strstr.texi (strstr): Likewise.
24288         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
24289         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
24290
24291 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
24292
24293         parse-datetime: do some more renaming
24294         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
24295         parse_datetime, not get_date.  Mention the renaming.
24296         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
24297         in comments.
24298         * m4/bison.m4: Likewise.
24299
24300 2010-10-05  Eric Blake  <eblake@redhat.com>
24301
24302         parse-datetime: better name than get_date
24303         * NEWS: Reword the deprecation notice.
24304         * modules/get_date: Rename to modules/parse-datetime.
24305         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
24306         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
24307         * lib/get_date.y: Rename to lib/parse-datetime.y.
24308         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
24309         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
24310         * doc/getdate.texi: Provide fallback wrapper.
24311         * lib/getdate.h: Move guts, and wrap...
24312         * lib/parse-datetime.h: ...new file.
24313         * lib/parse-datetime.y (get_date): Rename...
24314         (parse_datetime): ...to this.
24315         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
24316         (gl_PARSE_DATETIME): ...to this.
24317         * doc/posix-functions/getdate.texi (get_date): Provide fallback
24318         documentation.
24319         * modules/getdate (Files): Provide fallback docs and header.
24320         (Notice, Depends-on): Update references.
24321         * tests/test-parse-datetime.c: Likewise.
24322         * DEPENDENCIES: Likewise.
24323         * MODULES.html.sh (Date and time <time.h>): Likewise.
24324         * doc/parse-datetime.texi (Date input formats)
24325         (Authors of parse_datetime): Likewise.
24326         * modules/parse-datetime (Files, configure.ac, Makefile.am)
24327         (Include): Likewise.
24328         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
24329         * gnulib-tool: Likewise.
24330         * m4/bison.m4 (gl_BISON): Likewise.
24331         Suggested by Bruno Haible.
24332
24333 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
24334
24335         more ports to Solaris tr, which needs [] around ranges
24336         * gnulib-tool: Solaris tr needs [] around ranges.
24337         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
24338         * tests/test-pipe-filter-gi1.c (main): Likewise.
24339         * tests/test-pipe-filter-ii1.c (main): Likewise.
24340
24341 2010-10-05  Eric Blake  <eblake@redhat.com>
24342
24343         bootstrap: fix Solaris regression
24344         * build-aux/bootstrap (check_versions): Solaris tr still needs []
24345         around ranges.
24346         Reported by Pádraig Brady.
24347
24348         bootstrap: work with pkg-config
24349         * build-aux/bootstrap (check_versions): Also transliterate - in
24350         prerequisite name.
24351         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
24352         prerequisites that were already found, to avoid confusion.
24353         Reported by Justin Clift.
24354
24355         faccessat: remove unused wrappers
24356         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
24357         presence of these wrappers dragged in -lgen on Solaris.
24358         Reported by Clemens Brogi; fix suggested by Paul Eggert.
24359
24360 2010-10-05  Jim Meyering  <meyering@redhat.com>
24361
24362         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
24363         * Makefile (sc_pragma_columns): New syntax-check rule.
24364
24365 2010-10-04  Bruno Haible  <bruno@clisp.org>
24366
24367         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
24368         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
24369         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
24370         Reported by Bruce Korb and Eric Blake.
24371
24372 2010-10-04  Bruno Haible  <bruno@clisp.org>
24373
24374         threadlib: Make option --with-libpth-prefix work.
24375         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
24376         use $LIBPTH, not just -lpth.
24377
24378 2010-10-04  Bruno Haible  <bruno@clisp.org>
24379
24380         Avoid line length limitation from HP NonStop system header files.
24381         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
24382         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
24383         * lib/ctype.in.h: Likewise.
24384         * lib/dirent.in.h: Likewise.
24385         * lib/errno.in.h: Likewise.
24386         * lib/fcntl.in.h: Likewise.
24387         * lib/float.in.h: Likewise.
24388         * lib/getopt.in.h: Likewise.
24389         * lib/iconv.in.h: Likewise.
24390         * lib/inttypes.in.h: Likewise.
24391         * lib/langinfo.in.h: Likewise.
24392         * lib/locale.in.h: Likewise.
24393         * lib/math.in.h: Likewise.
24394         * lib/netdb.in.h: Likewise.
24395         * lib/netinet_in.in.h: Likewise.
24396         * lib/poll.in.h: Likewise.
24397         * lib/pthread.in.h: Likewise.
24398         * lib/pty.in.h: Likewise.
24399         * lib/sched.in.h: Likewise.
24400         * lib/se-selinux.in.h: Likewise.
24401         * lib/search.in.h: Likewise.
24402         * lib/signal.in.h: Likewise.
24403         * lib/spawn.in.h: Likewise.
24404         * lib/stdarg.in.h: Likewise.
24405         * lib/stddef.in.h: Likewise.
24406         * lib/stdint.in.h: Likewise.
24407         * lib/stdio.in.h: Likewise.
24408         * lib/stdlib.in.h: Likewise.
24409         * lib/string.in.h: Likewise.
24410         * lib/strings.in.h: Likewise.
24411         * lib/sys_file.in.h: Likewise.
24412         * lib/sys_ioctl.in.h: Likewise.
24413         * lib/sys_select.in.h: Likewise.
24414         * lib/sys_socket.in.h: Likewise.
24415         * lib/sys_stat.in.h: Likewise.
24416         * lib/sys_time.in.h: Likewise.
24417         * lib/sys_times.in.h: Likewise.
24418         * lib/sys_utsname.in.h: Likewise.
24419         * lib/sys_wait.in.h: Likewise.
24420         * lib/sysexits.in.h: Likewise.
24421         * lib/termios.in.h: Likewise.
24422         * lib/time.in.h: Likewise.
24423         * lib/unistd.in.h: Likewise.
24424         * lib/wchar.in.h: Likewise.
24425         * lib/wctype.in.h: Likewise.
24426         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
24427         * modules/ctype (Makefile.am): Likewise.
24428         * modules/dirent (Makefile.am): Likewise.
24429         * modules/errno (Makefile.am): Likewise.
24430         * modules/fcntl-h (Makefile.am): Likewise.
24431         * modules/float (Makefile.am): Likewise.
24432         * modules/getopt-posix (Makefile.am): Likewise.
24433         * modules/iconv-h (Makefile.am): Likewise.
24434         * modules/inttypes (Makefile.am): Likewise.
24435         * modules/langinfo (Makefile.am): Likewise.
24436         * modules/locale (Makefile.am): Likewise.
24437         * modules/math (Makefile.am): Likewise.
24438         * modules/netdb (Makefile.am): Likewise.
24439         * modules/netinet_in (Makefile.am): Likewise.
24440         * modules/poll-h (Makefile.am): Likewise.
24441         * modules/pthread (Makefile.am): Likewise.
24442         * modules/pty (Makefile.am): Likewise.
24443         * modules/sched (Makefile.am): Likewise.
24444         * modules/search (Makefile.am): Likewise.
24445         * modules/selinux-h (Makefile.am): Likewise.
24446         * modules/signal (Makefile.am): Likewise.
24447         * modules/spawn (Makefile.am): Likewise.
24448         * modules/stdarg (Makefile.am): Likewise.
24449         * modules/stddef (Makefile.am): Likewise.
24450         * modules/stdint (Makefile.am): Likewise.
24451         * modules/stdio (Makefile.am): Likewise.
24452         * modules/stdlib (Makefile.am): Likewise.
24453         * modules/string (Makefile.am): Likewise.
24454         * modules/strings (Makefile.am): Likewise.
24455         * modules/sys_file (Makefile.am): Likewise.
24456         * modules/sys_ioctl (Makefile.am): Likewise.
24457         * modules/sys_select (Makefile.am): Likewise.
24458         * modules/sys_socket (Makefile.am): Likewise.
24459         * modules/sys_stat (Makefile.am): Likewise.
24460         * modules/sys_time (Makefile.am): Likewise.
24461         * modules/sys_times (Makefile.am): Likewise.
24462         * modules/sys_utsname (Makefile.am): Likewise.
24463         * modules/sys_wait (Makefile.am): Likewise.
24464         * modules/sysexits (Makefile.am): Likewise.
24465         * modules/termios (Makefile.am): Likewise.
24466         * modules/time (Makefile.am): Likewise.
24467         * modules/unistd (Makefile.am): Likewise.
24468         * modules/wchar (Makefile.am): Likewise.
24469         * modules/wctype (Makefile.am): Likewise.
24470
24471 2010-10-04  Bruno Haible  <bruno@clisp.org>
24472
24473         read-file tests: Avoid a test failure on NonStop Kernel.
24474         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
24475         a regular file.
24476         Reported by Joachim Schmitz <schmitz@hp.com>.
24477
24478 2010-10-03  Bruno Haible  <bruno@clisp.org>
24479
24480         gnulib-tool: Fixes for --create-testdir with --libtool.
24481         * gnulib-tool (func_get_automake_snippet): Don't augment
24482         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
24483         an executable.
24484         (func_create_testdir): Handle module 'alloca' like func_import.
24485         Reported by Bruce Korb <bruce.korb@gmail.com>.
24486
24487 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
24488
24489         Avoid some lines longer than 80 characters.
24490         * lib/stdint.in.h: Break long comment lines.
24491         * lib/math.in.h: Likewise.
24492         (_GL_NUM_UINT_WORDS): New macro, for readability.
24493         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
24494         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
24495         * lib/stdlib.in.h: Likewise.
24496         * lib/spawn.in.h: Likewise.
24497         * lib/sys_socket.in.h: Update an URL.
24498         * lib/sys_stat.in.h: Break long line.
24499
24500 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
24501
24502         Improve pmccabe2html.
24503         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
24504         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
24505         when the sources change. Remove the line in the HTML about "Used
24506         ranges" (which implied that there might be other unused ranges),
24507         rename "Resume" to "Summary" (easier to understand for more users).
24508         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
24509         styles, and some unnecessary blank lines.
24510
24511 2010-10-03  Bruno Haible  <bruno@clisp.org>
24512             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
24513
24514         acl: Add support for ACLs on NonStop Kernel.
24515         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
24516         Check whether the function aclsort() exists.
24517         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
24518         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
24519         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
24520         (acl_nontrivial [HAVE_ACLSORT]: New function.
24521         (file_has_acl): Implement for NonStop Kernel.
24522         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
24523         (qset_acl): Implement for NonStop Kernel.
24524         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
24525         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
24526         (main): Implement for NonStop Kernel.
24527         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
24528         Kernel. Handle this flavor.
24529         * tests/test-set-mode-acl.sh: Likewise.
24530         * tests/test-copy-acl.sh: Likewise.
24531         * tests/test-copy-file.sh: Likewise.
24532
24533 2010-10-03  Bruno Haible  <bruno@clisp.org>
24534
24535         Info about ACLs on NonStop Kernel.
24536         * doc/acl-resources.txt: Add info about NonStop Kernel.
24537         References by Joachim Schmitz <schmitz@hp.com>.
24538
24539 2010-10-02  Bruno Haible  <bruno@clisp.org>
24540
24541         Define missing EDQUOT on NonStop Kernel.
24542         * lib/errno.in.h (EDQUOT): Assign a value if missing.
24543         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
24544         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
24545         missing.
24546         * doc/posix-headers/errno.texi: Mention the NSK bug.
24547         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
24548         Reported by Joachim Schmitz <schmitz@hp.com>.
24549
24550 2010-10-02  Bruno Haible  <bruno@clisp.org>
24551
24552         Update doc for POSIX:2008.
24553         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
24554         Update URL of POSIX specification.
24555
24556 2010-10-02  Bruno Haible  <bruno@clisp.org>
24557
24558         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
24559         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
24560         from gnulib, not from Automake.
24561
24562 2010-10-02  Bruno Haible  <bruno@clisp.org>
24563
24564         New module 'system-posix'.
24565         * modules/system-posix: New file.
24566         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
24567         module is present.
24568         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
24569         GNULIB_SYSTEM_POSIX.
24570         * modules/stdlib (Depends-on): Remove sys_wait.
24571         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
24572         * doc/posix-functions/system.texi: Mention the new module.
24573         * doc/posix-headers/stdlib.texi: Likewise.
24574         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
24575         define test_sys_wait_macros to a no-op.
24576         Reported by Sam Steingold <sds@gnu.org>.
24577
24578 2010-09-30  Bruno Haible  <bruno@clisp.org>
24579
24580         More renaming from 'getdate' to 'get_date'.
24581         * doc/get_date.texi: Renamed from doc/getdate.texi.
24582         * modules/get_date (Files): Update.
24583         * MODULES.html.sh (Date and time <time.h>): Update.
24584         * DEPENDENCIES: Update.
24585         * gnulib-tool: Update comment.
24586         * m4/bison.m4 (gl_BISON): Likewise.
24587         * m4/get_date.m4 (gl_GET_DATE): Likewise.
24588
24589 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
24590
24591         bootstrap: support ACLOCAL_FLAGS during aclocal
24592         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
24593         can add additional -I dir for third-party .m4 files.
24594
24595 2010-09-30  Eric Blake  <eblake@redhat.com>
24596
24597         bootstrap: use glibtoolize on MacOS
24598         * build-aux/bootstrap (check_versions): Convert libtool into
24599         libtoolize.
24600         (tool search): Move libtool check earlier, and look for
24601         glibtoolize for MacOS.
24602         (gnulib_tool_options): Auto-add --libtool when appropriate.
24603         Reported by Justin Clift.
24604
24605         poll: fix typo that broke test on MacOS
24606         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
24607         Reported by Justin Clift.
24608
24609         getdate: rename to get_date
24610         Note: getdate.h is not renamed, to minimize client impact.
24611         * modules/getdate: Mark obsolete.  Move old contents...
24612         * modules/get_date: ...to new module name.
24613         * modules/getdate-tests: Move...
24614         * modules/get_date-tests: ...here.
24615         * m4/getdate.m4: Move...
24616         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
24617         * lib/getdate.y: Move...
24618         * lib/get_date.y: ...here.
24619         * tests/test-getdate.c: Move...
24620         * tests/test-get_date.c: ...here.
24621         * doc/posix-functions/getdate.texi (getdate): Update name.
24622         * NEWS: Mention the change.
24623
24624 2010-09-29  Bruno Haible  <bruno@clisp.org>
24625
24626         Separate the module 'waitpid' from the module 'sys_wait'.
24627         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
24628         present.
24629         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
24630         gl_MODULE_INDICATOR_FOR_TESTS.
24631         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
24632         * modules/sys_wait (Depends-on): Remove waitpid.
24633         (Makefile.am): Substitute GNULIB_WAITPID.
24634         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
24635         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
24636         signature only if the 'waitpid' module is present.
24637         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
24638         * NEWS: Mention the change.
24639         * modules/grantpt (Depends-on): Add waitpid.
24640         * modules/wait-process (Depends-on): Likewise.
24641
24642 2010-09-29  Bruno Haible  <bruno@clisp.org>
24643
24644         More tests for module 'sys_wait'.
24645         * modules/sys_wait-c++-tests: New file.
24646         * tests/test-sys_wait-c++.cc: New file.
24647         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
24648         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
24649
24650 2010-09-29  Bruno Haible  <bruno@clisp.org>
24651
24652         New module 'waitpid'.
24653         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
24654         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
24655         Don't include <process.h>.
24656         (waitpid): Declare only, using modern idiom.
24657         * m4/waitpid.m4: New file.
24658         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
24659         * modules/waitpid: New file.
24660         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
24661         (Makefile.am): Update.
24662         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
24663
24664 2010-09-28  Bruno Haible  <bruno@clisp.org>
24665
24666         poll: Assume ANSI C.
24667         * lib/poll.c (poll): Use an ANSI C declaration.
24668
24669 2010-09-28  Bruno Haible  <bruno@clisp.org>
24670
24671         poll-h: Create poll.h on all platforms.
24672         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
24673         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
24674         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
24675         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
24676         (gl_REPLACE_POLL_H): Don't set POLL_H.
24677         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
24678         * modules/poll-h (Depends-on): Add include_next.
24679         (Makefile.am): Create poll.h unconditionally. Substitute also
24680         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
24681
24682 2010-09-28  Bruno Haible  <bruno@clisp.org>
24683
24684         Tests for module 'poll-h'.
24685         * modules/poll-h-c++-tests: New file.
24686         * tests/test-poll-h-c++.cc: New file.
24687
24688         Tests for module 'poll-h'.
24689         * modules/poll-h-tests: New file.
24690         * tests/test-poll-h.c: New file.
24691
24692 2010-09-28  Bruno Haible  <bruno@clisp.org>
24693
24694         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
24695         * modules/poll-h (Depends-on): Add 'extensions'.
24696
24697 2010-09-28  Bruno Haible  <bruno@clisp.org>
24698
24699         New module 'poll-h'.
24700         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
24701         (poll): Use modern idiom.
24702         * modules/poll-h: New file.
24703         * modules/poll (Files): Remove lib/poll.in.h.
24704         (Depends-on): Add poll-h.
24705         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
24706         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
24707         * m4/poll_h.m4: New file.
24708         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
24709         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
24710         and invoke gl_REPLACE_POLL_H.
24711         * lib/poll.c: Use common idiom.
24712         * tests/test-poll.c: Likewise.
24713         * doc/posix-headers/poll.texi: Mention the poll-h module.
24714         Suggested by Eric Blake.
24715
24716 2010-09-26  Bruno Haible  <bruno@clisp.org>
24717
24718         sys_wait: Implement WSTOPSIG.
24719         * lib/sys_wait.in.h (WSTOPSIG): New macro.
24720         Reported by Simon Josefsson.
24721
24722 2010-09-26  Simon Josefsson  <simon@josefsson.org>
24723
24724         stdlib, sys_wait: Avoid compilation error on mingw.
24725         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
24726
24727 2010-09-26  Bruno Haible  <bruno@clisp.org>
24728
24729         stdlib tests: Avoid code duplication.
24730         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
24731         * modules/sys_wait-tests (Files): Likewise.
24732         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
24733         * tests/test-stdlib.c: Include test-sys_wait.h.
24734         (main): Invoke test_sys_wait_macros.
24735         * tests/test-sys_wait.c: Include test-sys_wait.h.
24736         (main): Invoke test_sys_wait_macros.
24737
24738 2010-09-25  Simon Josefsson  <simon@josefsson.org>
24739
24740         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
24741         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
24742         sure Windows sockets are working before calling getaddrinfo.
24743         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
24744         * doc/gnulib.texi (Windows sockets): Fix typo.
24745
24746 2010-09-25  Bruno Haible  <bruno@clisp.org>
24747
24748         Tests for module 'regex-quote'.
24749         * modules/regex-quote-tests: New file.
24750         * tests/test-regex-quote.c: New file.
24751
24752         New module 'regex-quote'.
24753         * lib/regex-quote.h: New file.
24754         * lib/regex-quote.c: New file.
24755         * modules/regex-quote: New file.
24756         Suggested by Reuben Thomas <rrt@sc3d.org>.
24757
24758 2010-09-24  Bruno Haible  <bruno@clisp.org>
24759
24760         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
24761         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
24762
24763 2010-09-23  Bruno Haible  <bruno@clisp.org>
24764
24765         setenv: Relax license.
24766         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
24767         Blake.
24768         Requested by Eric Blake.
24769
24770 2010-09-22  Bruno Haible  <bruno@clisp.org>
24771
24772         termios: Relax license.
24773         * modules/termios (License): Change to LGPLv2+.
24774         Requested by Eric Blake.
24775
24776 2010-09-22  Bruno Haible  <bruno@clisp.org>
24777
24778         threadlib: Allow the package to change the default to 'no'.
24779         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
24780         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
24781         Reported by Paul Eggert.
24782
24783 2010-09-22  Pádraig Brady  <P@draigbrady.com>
24784             Bruno Haible  <bruno@clisp.org>
24785
24786         Fix endless loop in mbmemcasecoll.
24787         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
24788         byte.
24789         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
24790
24791 2010-09-22  Bruno Haible  <bruno@clisp.org>
24792
24793         Tests for module 'memcoll'.
24794         * modules/memcoll-tests: New file.
24795         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
24796
24797         memcoll, xmemcoll: Clarify size vs. length.
24798         * modules/memcoll.c (memcoll0): Clarify specification.
24799         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
24800         passed to collate_error.
24801
24802 2010-09-22  Bruno Haible  <bruno@clisp.org>
24803
24804         Tests for module 'memcasecmp'.
24805         * modules/memcasecmp-tests: New file.
24806         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
24807
24808 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
24809
24810         * lib/pthread.in.h: Add split double-inclusion guard, and include
24811         system <pthread.h> if there is one.  Use @@-style as in other
24812         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
24813         pthread.h doesn't.
24814         (pthread_mutexattr_destroy, pthread_mutexattr_init):
24815         (pthread_mutexattr_settype, pthread_mutex_trylock):
24816         New static inline functions, if there's no system <pthread.h>.
24817         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
24818         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
24819         Approximate with mutexes if the system lacks spinlocks, as in
24820         MacOS.
24821         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
24822         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
24823         @@-style.  Check for spinlocks separately.
24824         (gl_PTHREAD_DEFAULTS): New macro.
24825         * modules/pthread: Redo to use a more typical style for in.h files.
24826
24827 2010-09-21  Eric Blake  <eblake@redhat.com>
24828
24829         net_if: enhance tests
24830         * tests/test-net_if.c (main): Move signature checks earlier.
24831         Print failures to stderr.
24832         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
24833         Document the bug that we do not yet fix.
24834
24835 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
24836
24837         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
24838         about gnulib, not GSS.
24839
24840 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
24841
24842         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
24843         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
24844         for Emacs.
24845         * build-aux/pmccabe2html: Make Makefile.am example code more
24846         cut-and-paste friendly.
24847
24848 2010-09-21  Simon Josefsson  <simon@josefsson.org>
24849
24850         * tests/test-net_if.c: New file.
24851         * modules/net_if-tests: New file.
24852
24853 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
24854
24855         pthread: add pthread_spin_destroy
24856         * lib/pthread.in.h (pthread_spin_destroy): New function.
24857
24858 2010-09-19  Bruno Haible  <bruno@clisp.org>
24859
24860         gnulib-tool: Fix --help output.
24861         * gnulib-tool (func_usage): Fix help message.
24862         Reported by Reuben Thomas <rrt@sc3d.org>.
24863
24864 2010-09-18  Jim Meyering  <meyering@redhat.com>
24865
24866         maint.mk: avoid unexpanded \n in two diagnostics
24867         * top/maint.mk (sc_prohibit_always_true_header_tests):
24868         Don't use a literal \n in a halt=... assignment.  It would not be
24869         expanded, and the two \n bytes would appear in the diagnostic output
24870         rather than the desired newline.  Use halt=$$(printf ... instead.
24871         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
24872
24873 2010-09-18  Bruno Haible  <bruno@clisp.org>
24874
24875         netinet_in: Doc tweak.
24876         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
24877         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24878
24879 2010-09-18  Jim Meyering  <meyering@redhat.com>
24880
24881         init.sh: correct an outdated comment
24882         * tests/init.sh (create_exe_shims_):  s/function/alias/
24883
24884         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
24885         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
24886         a file named "*.exe" is removed between the glob expansion and the
24887         processing of that oddly named file.
24888
24889 2010-09-17  Eric Blake  <eblake@redhat.com>
24890
24891         mirbsd: add some more support
24892         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
24893         in BSD family.
24894         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
24895         devices as OpenBSD.
24896         * m4/host-os.m4 (mirbsd): Add MirBSD.
24897
24898         tests: fix unportable assumption on sys/wait.h
24899         * tests/test-sys_wait.c (main): Relax test.
24900         * tests/test-stdlib.c (main): Likewise.
24901
24902         init.sh: accomodate directory with no .exes
24903         * tests/init.sh: Accomodate directory containing only scripts.
24904
24905         tests: avoid compiler warning
24906         * tests/test-stdlib.c (main): Use the variable.
24907
24908         fdutimens, fdutimensat: update signature, again
24909         * lib/utimens.h (gl_futimens): Delete, and move signature...
24910         (fdutimens): ...here.
24911         (fdutimensat): Rearrange signature.
24912         (lutimensat): Rename variable for clarity.
24913         * lib/fdutimensat.c (fdutimensat): Update signature.
24914         * lib/utimens.c (fdutimens): Likewise.
24915         (gl_futimens): Delete.
24916         (utimens, lutimens): Update callers.
24917         * lib/futimens.c (futimens): Likewise.
24918         * tests/test-fdutimensat.c: Likewise.
24919         * tests/test-utimens.c: Likewise.
24920         * tests/test-futimens.h: Update comment.
24921         * NEWS: Mention this.
24922         Suggested by Paul Eggert.
24923
24924 2010-09-17  Bruno Haible  <bruno@clisp.org>
24925
24926         Take over the maintenance of some older macros from Autoconf.
24927         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
24928         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
24929         GNU Autoconf.
24930         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
24931         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
24932
24933 2010-09-17  Eric Blake  <eblake@redhat.com>
24934
24935         fdutimensat: drop atflag validation
24936         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
24937         with valid fd, to close a race scenario where futimens is
24938         unsupported and FILE was replaced by a symlink.
24939         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
24940         accordingly.
24941         Suggested by Paul Eggert.
24942
24943 2010-09-16  Bruno Haible  <bruno@clisp.org>
24944
24945         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
24946         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
24947
24948 2010-09-16  Bruno Haible  <bruno@clisp.org>
24949
24950         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
24951         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
24952         login_tty exists.
24953         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24954
24955 2010-09-16  Bruno Haible  <bruno@clisp.org>
24956
24957         login_tty: Make the replacement code work on BSD systems.
24958         * lib/login_tty.c: Include <sys/ioctl.h>.
24959         (login_tty): Use ioctl TIOCSCTTY when available.
24960         * modules/login_tty (Depends-on): Add sys_ioctl.
24961         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24962
24963 2010-09-16  Bruno Haible  <bruno@clisp.org>
24964
24965         login_tty: Stricter unit test.
24966         * modules/login_tty-tests (Depends-on): Add tcgetsid.
24967         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
24968         and tcgetsid() after login_tty.
24969         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24970
24971 2010-09-16  Bruno Haible  <bruno@clisp.org>
24972
24973         New module 'tcgetsid'.
24974         * lib/tcgetsid.c: New file.
24975         * m4/tcgetsid.m4: New file.
24976         * modules/tcgetsid: New file.
24977         * modules/termios (Depends-on): Add c++defs, warn-on-use.
24978         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
24979         GNULIB_TCGETSID, HAVE_TCGETSID.
24980         * lib/termios.in.h: Include <sys/types.h>.
24981         (tcgetsid): New declaration.
24982         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
24983         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
24984         * doc/posix-functions/tcgetsid.texi: Mention the new module.
24985         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
24986
24987 2010-09-16  Bruno Haible  <bruno@clisp.org>
24988
24989         Tests for module 'termios'.
24990         * modules/termios-c++-tests: New file.
24991         * modules/termios-tests: New file.
24992         * tests/test-termios-c++.cc: New file.
24993         * tests/test-termios.c: New file.
24994
24995         New module 'termios'.
24996         * modules/termios: New file.
24997         * lib/termios.in.h: New file.
24998         * m4/termios_h.m4: New file.
24999         * doc/posix-headers/termios.texi: Mention the new module.
25000
25001 2010-09-16  Eric Blake  <eblake@redhat.com>
25002
25003         fdutimensat: add an atflag parameter
25004         * lib/fdutimensat.c (fdutimensat): Add new parameter.
25005         * lib/utimens.h (fdutimensat): Update prototype.
25006         * tests/test-fdutimensat.c: Adjust test to match.
25007         * NEWS: Document the change.
25008         Suggested by Paul Eggert.
25009
25010 2010-09-16  Bruno Haible  <bruno@clisp.org>
25011
25012         Fix typos in comments.
25013         * lib/striconveh.h: Fix typo in comment.
25014         * lib/login_tty.c (login_tty): Likewise.
25015
25016 2010-09-15  Bruno Haible  <bruno@clisp.org>
25017
25018         stdlib: clarify MirBSD WEXITSTATUS bug
25019         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
25020         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
25021
25022 2010-09-15  Eric Blake  <eblake@redhat.com>
25023
25024         stdlib: work around MirBSD WEXITSTATUS bug
25025         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
25026         * modules/stdlib (Depends-on): Add sys_wait.
25027         * tests/test-sys_wait.c (main): Enhance test.
25028         * tests/test-stdlib.c (main): Likewise.
25029         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
25030
25031         docs: mention MacOS issue with WEXITSTATUS(constant)
25032         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
25033         issue.
25034         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
25035
25036         strnlen: add tests
25037         * modules/strnlen-tests: New file.
25038         * tests/test-strnlen.c: Likewise.
25039
25040 2010-09-14  Bruno Haible  <bruno@clisp.org>
25041
25042         unistr/base: Avoid link errors when module 'libunistring' is also used.
25043         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
25044         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
25045         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
25046         Declare also when HAVE_LIBUNISTRING is set.
25047         Reported by Pádraig Brady <P@draigbrady.com>.
25048
25049 2010-09-14  Eric Blake  <eblake@redhat.com>
25050
25051         test-rawmemchr: make more robust
25052         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
25053         (Depends-on, configure.ac): Add needed prerequisites to use it.
25054         * modules/memchr-tests (Files, Depends-on, configure.ac):
25055         Likewise, to avoid implicit reliance on memchr module prereqs.
25056         * tests/test-memchr.c (main): Ensure proper masking.
25057         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
25058         reads.
25059
25060         memchr: detect glibc Alpha bug
25061         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
25062         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
25063         Alpha.
25064         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
25065         * tests/test-memchr.c (main): Enhance test.
25066         Reported by Nelson H. F. Beebe.
25067
25068 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
25069
25070         fts, getcwd, glob: audit for dirfd returning -1
25071         * lib/fts.c (opendir): Remove #define; no longer used.
25072         (opendirat): New arg PDIR_FD.  All callers changed.
25073         (fts_build, _opendir2): Use new opendirat to avoid the need for
25074         dirfd, or for checking whether dirfd returns a negative value.
25075         Don't use opendir; always use openat followed by fdopendir.
25076         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
25077         it.
25078         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
25079         returns -1 here.
25080         * modules/fts (Depends-on): Remove dirfd.
25081         * modules/getcwd (Depends-on): Likewise.
25082
25083 2010-09-13  Eric Blake  <eblake@redhat.com>
25084
25085         float: fix broken MirBSD header
25086         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
25087         * doc/posix-headers/float.texi (float.h): Document it.
25088
25089 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
25090
25091         fts: use O_NOFOLLOW to avoid race condition when opening a directory
25092         * lib/fts.c (opendirat): New arg extra_flags.
25093         (__opendir2): Use it to avoid following symlinks when opening
25094         a directory, if symlinks are not supposed to be followed.  See
25095         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
25096
25097         fdopendir: preserve argument fd before returning
25098         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
25099         (fdopendir_with_dup, fd_clone_opendir): New static functions.
25100         (fdopendir): Use them, arranging for FD to be open to the same
25101         directory that it was when it started.  (It might be temporarily
25102         closed while fdopendir is running, so this not thread- or
25103         signal-safe.)  Be careful to do the right thing even when file
25104         descriptors are scarce and dup fails with errno == EMFILE.  See
25105         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
25106
25107 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
25108
25109         regex: Pass the system regex if its only problem is 32-bit regoff_t.
25110         * NEWS: Document change.
25111         * m4/regex.m4: Disable test for regoff_t size.
25112
25113 2010-09-13  Jim Meyering  <meyering@redhat.com>
25114
25115         fts: don't operate on an invalid file descriptor after failed dup
25116         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
25117         negative file descriptor.
25118
25119 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
25120
25121         savedir: add streamsavedir, deprecate fdsavedir
25122         * NEWS: Mention deprecation of fdsavedir.
25123         * lib/savedir.c (streamsavedir): New extern function, whose name
25124         ends in "savedir" to be consistent with the others.  This differs
25125         from savedirstream in that it doesn't close its argument.  The
25126         next version of GNU tar will use this instead of fdsavedir, to
25127         avoid some race conditions and conserve file descriptors.
25128         (savedirstream): Reimplement as a wrapper around streamsavedir.
25129         (fdsavedir): Add a comment deprecating this function.  As far as
25130         I know, only GNU tar used it, and GNU tar doesn't need it any more.
25131         * lib/savedir.h (streamsavedir): New decl.
25132         (fdsavedir): Add a comment deprecating this.
25133
25134 2010-09-10  Bruno Haible  <bruno@clisp.org>
25135
25136         langinfo: Fix last commit.
25137         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
25138         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
25139         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25140
25141 2010-09-10  Bruno Haible  <bruno@clisp.org>
25142
25143         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
25144         * lib/progreloc.c (O_EXEC): Define fallback.
25145
25146 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
25147
25148         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
25149         * NEWS: Document recent changes to fcntl-h.
25150         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
25151         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
25152         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
25153         Similarly for O_SEARCH; this last was already true, but not documented.
25154         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
25155         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
25156         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
25157         Likewise.
25158         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
25159         is zero, not whether it is defined.
25160         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
25161         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
25162         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
25163
25164 2010-09-10  Bruno Haible  <bruno@clisp.org>
25165
25166         langinfo, nl_langinfo: Fix for IRIX 5.3.
25167         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
25168         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
25169         HAVE_LANGINFO_YESEXPR.
25170         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
25171         HAVE_LANGINFO_YESEXPR.
25172         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
25173         HAVE_LANGINFO_T_FMT_AMPM is 0.
25174         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
25175         HAVE_LANGINFO_YESEXPR is 0.
25176         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
25177         NOEXPR.
25178         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
25179         * doc/posix-functions/nl_langinfo.texi: Likewise.
25180         Reported by Eric Blake.
25181
25182 2010-09-10  Bruno Haible  <bruno@clisp.org>
25183
25184         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
25185         * doc/glibc-functions/login_tty.texi: Mention the include file problem
25186         on FreeBSD 8.0 and OpenBSD 4.6.
25187         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
25188         * m4/pty_h.m4 (gl_PTY_H): Likewise.
25189         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
25190         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
25191         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
25192         ac_includes_default.
25193         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25194
25195 2010-09-09  Eric Blake  <eblake@redhat.com>
25196
25197         strsignal: work around NetBSD bug
25198         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
25199         * lib/string.in.h (includes): Likewise.
25200         * doc/posix-functions/strsignal.texi (strsignal): Document the
25201         bug.
25202         Reported by Nelson H. F. Beebe.
25203
25204         gnulib-tool: work with NetBSD /bin/sh
25205         * gnulib-tool (func_cache_var, func_cache_lookup_module)
25206         (func_get_description, func_get_comment, func_get_status)
25207         (func_get_notice, func_get_applicability, func_get_filelist)
25208         (func_get_dependencies, func_get_autoconf_early_snippet)
25209         (func_get_autoconf_snippet, func_get_automake_snippet)
25210         (func_get_include_directive, func_get_link_directive)
25211         (func_get_license, func_get_maintainer, func_import): Avoid
25212         shell syntax errors from parsing syntax extensions.
25213
25214 2010-09-09  Bruno Haible  <bruno@clisp.org>
25215
25216         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
25217         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
25218         a reliable way to determine whether the 'alias' command works.
25219
25220 2010-09-08  Jim Meyering  <meyering@redhat.com>
25221
25222         init.sh: penalize a set-x-impaired shell; don't disqualify it
25223         * tests/init.sh: Too many shells corrupt application stderr when
25224         you set -x, so we can't afford to disqualify them, since at least
25225         on Irix-6.5, that would disqualify all bourne shells.
25226         Instead, use a two-pass approach.
25227         On the first pass, try to find a shell that meets the stricter
25228         condition that set -x does not corrupt stderr.
25229         If no shell meets the stricter condition, retest each candidate
25230         shell, but without that extra condition.  Finally, when
25231         VERBOSE=yes is requested and set -x might cause trouble, simply
25232         issue a warning and refrain from enabling debug output.
25233
25234 2010-09-08  Eric Blake  <eblake@redhat.com>
25235
25236         unsetenv: fix OpenBSD bug
25237         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
25238         * doc/posix-functions/unsetenv.texi (unsetenv): Update
25239         documentation.
25240         Reported by Jim Meyering.
25241
25242         strtod: work around IRIX 6.5 bug
25243         * lib/strtod.c (strtod): Reparse number on shorter string if
25244         exponent parse was invalid.
25245         * tests/test-strtod.c (main): Add check for "0x1p 2".
25246         Reported by Tom G. Christensen.
25247
25248         getopt: optimize previous patch
25249         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
25250         empty variable.  Speed up awk script.
25251         Reported by Paolo Bonzini.
25252
25253 2010-09-08  Jim Meyering  <meyering@redhat.com>
25254
25255         test.sh: disqualify shells for which set -x corrupts stderr
25256         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
25257         and OpenBSD 4.7.  They make it so with "set -x", environment settings
25258         appear in stderr output.  For example, this command:
25259             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
25260         prints "P=1" on those two systems:
25261
25262 2010-09-08  Bruno Haible  <bruno@clisp.org>
25263
25264         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
25265         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
25266         commands, because some shells ignore redirections when there is an
25267         error in the command lookup.
25268         Reported by Eric Blake.
25269
25270 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
25271
25272         * lib/regex.h: Fix a mention of `regex_compile' (should be
25273         `re_compile_pattern').
25274         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
25275         (re_set_registers): Correct name of parameter in comment.
25276
25277         * doc/regex.texi: Add documentation for missing syntax flags.
25278         Remove commented-out documentation of defunct syntax option
25279         RE_NO_EMPTY_ALTS.
25280         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
25281         Add documentation of re_set_registers.
25282         Document trick to re-use a pattern buffer by setting fastmap manually.
25283         Update documentation of struct re_pattern_buffer per public members.
25284         Uncomment documentation of equivalence class operators and
25285         collating symbol operators, since they are now implemented,
25286         Explain leftmost-longest matching in relation to alternatives.
25287         Tidy documentation of substring matching.
25288         Remove POSIX documentation, which is done better in
25289         glibc, and refer the reader there. Keep BSD API documentation, as
25290         that is not readily available elsewhere.
25291
25292 2010-09-07  Eric Blake  <eblake@redhat.com>
25293
25294         getopt: handle POSIXLY_CORRECT set but not exported
25295         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
25296         export state of POSIXLY_CORRECT, due to bash set -o posix.
25297         Reported by Dustin J. Mitchell.
25298
25299 2010-09-05  Bruno Haible  <bruno@clisp.org>
25300
25301         gnulib-tool: Highlight the changed options.
25302         * gnulib-tool (func_usage): Display the --import, --add-import,
25303         --remove-import explanations in bold font.
25304
25305 2010-09-06  Karl Berry  <karl@gnu.org>
25306
25307         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
25308
25309 2010-09-05  Bruno Haible  <bruno@clisp.org>
25310
25311         uniwidth/width: Update comment.
25312         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
25313         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
25314
25315 2010-09-05  Bruno Haible  <bruno@clisp.org>
25316
25317         isinf, isnan: Relax license.
25318         * modules/isinf (License): Change from GPL to LGPL, with consent from
25319         Ben Pfaff.
25320         * modules/isnan (License): Likewise.
25321         Requested by Ludovic Courtès.
25322
25323 2010-09-04  Bruno Haible  <bruno@clisp.org>
25324
25325         gnulib-tool: Help migration from --import to --add-import or --update.
25326         * gnulib-tool: Emit a verbose error message when --import is used
25327         without any module name.
25328
25329 2010-09-04  Bruno Haible  <bruno@clisp.org>
25330
25331         Update doc about gnulib-tool.
25332         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
25333         'gnulib-tool --update' in more detail.
25334         Reported by Eric Blake.
25335
25336 2010-09-04  Bruno Haible  <bruno@clisp.org>
25337
25338         gnulib-tool: Change --import. New options --add/remove-import.
25339         * gnulib-tool: New options --add-import, --remove-import.
25340         (func_usage): Document them.
25341         (have_associative): Define always.
25342         (func_import): In import mode, don't merge the specified settings with
25343         the cached settings. Implement remove-import mode.
25344         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
25345         Explain when to use them versus --import.
25346         (Simple update): Use --add-import instead of --import.
25347         * NEWS: Mention the change.
25348
25349 2010-09-04  Bruno Haible  <bruno@clisp.org>
25350
25351         * doc/gnulib-tool.texi (Initial import): Update paragraph about
25352         separate gnulib.mk.
25353
25354 2010-09-04  Bruno Haible  <bruno@clisp.org>
25355
25356         gnulib-tool: Don't talk about CVS any more.
25357         * gnulib-tool (func_usage, func_import): Write "version control"
25358         instead of CVS.
25359
25360 2010-09-04  Jim Meyering  <meyering@redhat.com>
25361
25362         maint.mk: avoid obscure sc_copyright_check failure in coreutils
25363         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
25364         false positives (whose names may be ill-chosen) when searching
25365         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
25366         would cause a false-positive.
25367
25368         avoid coreutils "make distcheck" failure
25369         Coreutils tests with an absolute build directory name that contains
25370         a space.  Not quoting this directory name caused a failure.
25371         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
25372         * tests/test-vc-list-files-cvs.sh: Likewise.
25373
25374 2010-09-04  Bruno Haible  <bruno@clisp.org>
25375
25376         gnulib-tool: Avoid error when run in a package without Makefile.am.
25377         * gnulib-tool: When collecting the m4dirs in a package that does not
25378         have a Makefile.am, eliminate those directories that contain no
25379         gnulib-cache.m4. Fix expression that counts these directories.
25380
25381 2010-09-04  Bruno Haible  <bruno@clisp.org>
25382
25383         update-copyright test: Improve output when perl is missing or too old.
25384         * tests/test-update-copyright.sh: Move test of Perl version down after
25385         the test whether Perl exists. Provide an explanation relating Perl's
25386         error message to Automake's SKIP: message.
25387
25388 2010-09-04  Bruno Haible  <bruno@clisp.org>
25389
25390         Don't augment PATH in TESTS_ENVIRONMENT.
25391         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
25392         set abs_aux_dir instead of augmenting PATH.
25393         * modules/vc-list-files-tests (Makefile.am): Likewise.
25394         * tests/test-update-copyright.sh: Augment PATH here.
25395         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
25396         path_prepend_.
25397         * tests/test-vc-list-files-git.sh: Likewise.
25398
25399 2010-09-04  Jim Meyering  <meyering@redhat.com>
25400
25401         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
25402         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
25403
25404 2010-09-04  Bruno Haible  <bruno@clisp.org>
25405
25406         strdup: Fix compilation error in C++ mode.
25407         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
25408         the macro.
25409
25410 2010-09-04  Bruno Haible  <bruno@clisp.org>
25411
25412         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
25413         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
25414         macro into a function.
25415         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
25416
25417 2010-09-04  Bruno Haible  <bruno@clisp.org>
25418
25419         Set PATH_SEPARATOR the same way autoconf does.
25420         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
25421         the value of PATH_SEPARATOR the same way autoconf-generated configure
25422         scripts do.
25423         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
25424         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
25425
25426 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
25427
25428         Set PATH_SEPARATOR the same way autoconf does.
25429         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
25430         the same way autoconf-generated configure scripts do.
25431         * posix-modules: Likewise.
25432
25433 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
25434
25435         hash: fix safe_hasher const typo
25436         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
25437         const; otherwise, there is a type error later.
25438
25439 2010-09-02  Jim Meyering  <meyering@redhat.com>
25440
25441         test-update-copyright.sh: require perl 5.8.0
25442         * tests/test-update-copyright.sh: Require 5.8.0,
25443         which Tom G. Christensen has confirmed is adequate,
25444         while 5.6.1 is not.
25445
25446 2010-09-02  Eric Blake  <eblake@redhat.com>
25447
25448         tests: init.sh improvements for re-exec'ing with zsh
25449         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
25450         -vx through shell re-exec.
25451         Reported by Tom G. Christensen.
25452
25453         wctype: fix typo in previous commit
25454         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
25455         Reported by Ludovic Courtès.
25456
25457 2010-09-02  Jim Meyering  <meyering@redhat.com>
25458
25459         test-update-copyright.sh: skip test if Perl is too old
25460         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
25461         Reported by Tom G. Christensen.
25462
25463 2010-09-02  Bruno Haible  <bruno@clisp.org>
25464
25465         wctype: Avoid compilation error on IRIX 6.5.30.
25466         * lib/wctype.in.h (iswblank): Declare with a replacement if
25467         REPLACE_ISWBLANK is set.
25468         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
25469         declared. Set REPLACE_ISWBLANK.
25470         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
25471         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
25472         * doc/posix-headers/wctype.texi: Likewise.
25473         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25474
25475 2010-09-01  Bruno Haible  <bruno@clisp.org>
25476
25477         New module 'socketlib'.
25478         * modules/socketlib: New file.
25479         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
25480         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
25481         * modules/sockets (Depends-on): Add socketlib.
25482         Suggested by Sam Steingold <sds@gnu.org>.
25483
25484 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
25485
25486         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
25487
25488         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
25489         when one needs search access to a directory but not read access.
25490         On systems where it is available, it works in some cases where
25491         O_RDONLY does not, namely on directories that are searchable but
25492         not readable, and which need only to be searchable.  If O_SEARCH
25493         is not available, fall back to the traditional method of using
25494         O_RDONLY.
25495
25496         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
25497         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
25498         when opening a directory that needs only to be searchable.
25499         * lib/chdir-safer.c (chdir_no_follow): Likewise.
25500         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
25501         * lib/openat-proc.c (openat_proc_name): Likewise.
25502         * lib/openat.c (openat_needs_fchdir): Likewise.
25503         * lib/save-cwd.c (save_cwd): Likewise.
25504         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
25505
25506 2010-08-28  Bruno Haible  <bruno@clisp.org>
25507
25508         New module 'host-cpu-c-abi'.
25509         * modules/host-cpu-c-abi: New file.
25510         * m4/host-cpu-c-abi.m4: New file, based on part of
25511         clisp/src/m4/general.m4.
25512         Requested by Sam Steingold <sds@gnu.org>.
25513
25514 2010-08-31  Eric Blake  <eblake@redhat.com>
25515         and Jim Meyering  <meyering@redhat.com>
25516
25517         hash: factor, and guard against misbehaving hasher function
25518         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
25519         of table->hasher's return value.  Also protect against a hash value
25520         so large that adding it to table->bucket results in a NULL pointer.
25521         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
25522         Use it in place of open-coded check-and-abort.
25523
25524 2010-08-30  Bruno Haible  <bruno@clisp.org>
25525
25526         hash: silence spurious clang warning
25527         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
25528         Reported by Eric Blake.
25529
25530 2010-08-30  Eric Blake  <eblake@redhat.com>
25531
25532         strstr, memmem, strcasestr: avoid leaked shell message
25533         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
25534         FreeBSD.
25535         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25536         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
25537
25538         tests: silence clang warning
25539         * tests/test-malloca.c (do_allocation): Avoid dead store.
25540
25541 2010-08-29  Bruno Haible  <bruno@clisp.org>
25542
25543         gettext: Fix recent mistake.
25544         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
25545
25546 2010-08-29  Bruno Haible  <bruno@clisp.org>
25547
25548         selinux-h: Offer a --without-selinux option.
25549         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
25550         --without-selinux was specified, skip all tests and define
25551         HAVE_SELINUX_SELINUX_H to 0.
25552         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
25553         set LIB_SELINUX to empty.
25554         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
25555         gl_LIBSELINUX. If --without-selinux was specified, replace
25556         selinux/context.h.
25557         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
25558
25559 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
25560             Bruno Haible  <bruno@clisp.org>
25561
25562         Make the module 'realloc-gnu' work again on AIX and OSF/1.
25563         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
25564         of HAVE_REALLOC.
25565         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
25566         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
25567         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
25568         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
25569
25570 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
25571             Bruno Haible  <bruno@clisp.org>
25572
25573         Make the module 'calloc-gnu' work again on AIX and OSF/1.
25574         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
25575         HAVE_CALLOC.
25576         * lib/xmalloc.c: Update accordingly.
25577         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
25578         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
25579         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
25580
25581 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
25582             Bruno Haible  <bruno@clisp.org>
25583
25584         Make the module 'malloc-gnu' work again on AIX and OSF/1.
25585         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
25586         HAVE_MALLOC.
25587         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
25588         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
25589         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
25590
25591 2010-08-29  Bruno Haible  <bruno@clisp.org>
25592
25593         Update modules list.
25594         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
25595         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
25596         (String handling <string.h>): Add astrxfrm.
25597         (File system functions): Add readlinkat.
25598
25599 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25600
25601         Tests for module 'realloc-gnu'.
25602         * modules/realloc-gnu-tests: New file.
25603         * tests/test-realloc-gnu.c: New file.
25604
25605         Tests for module 'calloc-gnu'.
25606         * modules/calloc-gnu-tests: New file.
25607         * tests/test-calloc-gnu.c: New file.
25608
25609         Tests for module 'malloc-gnu'.
25610         * modules/malloc-gnu-tests: New file.
25611         * tests/test-malloc-gnu.c: New file.
25612
25613 2010-08-28  Bruno Haible  <bruno@clisp.org>
25614
25615         Rename module 'realloc' -> 'realloc-gnu'.
25616         * modules/realloc-gnu: New file, copied from modules/realloc.
25617         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
25618         obsolete.
25619         * modules/mgetgroups (Depends-on): Update.
25620         * doc/posix-functions/realloc.texi: Update.
25621         * NEWS: Mention the change.
25622
25623         Rename module 'calloc' -> 'calloc-gnu'.
25624         * modules/calloc-gnu: New file, copied from modules/calloc.
25625         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
25626         obsolete.
25627         * doc/posix-functions/calloc.texi: Update.
25628         * NEWS: Mention the change.
25629
25630         Rename module 'malloc' -> 'malloc-gnu'.
25631         * modules/malloc-gnu: New file, copied from modules/malloc.
25632         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
25633         obsolete.
25634         * modules/argp (Depends-on): Update.
25635         * modules/regex (Depends-on): Update.
25636         * doc/posix-functions/malloc.texi: Update.
25637         * NEWS: Mention the change.
25638
25639 2010-08-28  Eric Blake  <eblake@redhat.com>
25640
25641         pread, pwrite: add missing dependency
25642         * modules/pread (Depends-on): Add extensions.
25643         * modules/pwrite (Depends-on): Likewise.
25644
25645 2010-08-28  Bruno Haible  <bruno@clisp.org>
25646
25647         unistr/u*-strchr: Fix tests dependencies.
25648         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
25649         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
25650         Reported by Ian Beckwith <ianb@erislabs.net>.
25651
25652 2010-08-28  Bruno Haible  <bruno@clisp.org>
25653
25654         read-file: Don't occupy too much unused memory.
25655         * lib/read-file.c (fread_file): Shrink the buffer at the end.
25656
25657 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
25658             Eric Blake  <eblake@redhat.com>
25659             Bruno Haible  <bruno@clisp.org>
25660
25661         read-file: Avoid memory reallocations with regular files.
25662         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
25663         (fread_file): With regular files, use the remaining length as the
25664         initial buffer size.  Check against overflow.
25665         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
25666         sys_stat.
25667
25668 2010-08-28  Bruno Haible  <bruno@clisp.org>
25669
25670         ftello: Relax license.
25671         * modules/ftello (License): Relax to LGPLv2+.
25672         Reported by Eric Blake.
25673
25674 2010-08-28  Bruno Haible  <bruno@clisp.org>
25675
25676         Avoid relocwrapper link errors due to gnulib replacement functions.
25677         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
25678         function.
25679         Reported by Ben Pfaff <blp@cs.stanford.edu>.
25680
25681 2010-08-28  Bruno Haible  <bruno@clisp.org>
25682
25683         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
25684         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
25685         defined.
25686         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
25687         Suggested by Eric Blake.
25688
25689 2010-08-28  Bruno Haible  <bruno@clisp.org>
25690
25691         sys_socket, netdb: Ensure socklen_t gets defined.
25692         * modules/sys_socket (Depends-on): Add socklen.
25693         * modules/netdb (Depends-on): Likewise.
25694         * modules/getaddrinfo (Depends-on): Remove socklen.
25695         * modules/getsockopt (Depends-on): Likewise.
25696         * modules/setsockopt (Depends-on): Likewise.
25697         * tests/test-sys_socket.c: Check that socklen_t is defined.
25698         * tests/test-netdb.c: Likewise.
25699         * m4/socklen.m4: Update comments.
25700         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25701
25702 2010-08-27  Eric Blake  <eblake@redhat.com>
25703
25704         login_tty: add missing dependency
25705         * modules/login_tty (Depends-on): Add pty.
25706
25707 2010-08-26  Eric Blake  <eblake@redhat.com>
25708
25709         lib-symbol-versions: fix m4 quoting
25710         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
25711         format for AC_LINK_IFELSE.
25712
25713         glob: fix compile test
25714         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
25715
25716         btowc: fix missing file
25717         * modules/btowc (Files): Also ship locale-fr.m4.
25718
25719         lseek: fix link test
25720         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
25721         AC_LINK_IFELSE.
25722
25723         include_next: silence autoconf 2.68 warning
25724         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
25725         AC_COMPILE_IFELSE as special.
25726         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
25727         autoconf < 2.68.
25728
25729         acl: fix compilation test
25730         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
25731         AC_COMPILE_IFELSE.
25732
25733 2010-08-26  Bruno Haible  <bruno@clisp.org>
25734
25735         Modernize AC_TRY_RUN invocations.
25736         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
25737         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
25738         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
25739         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
25740         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
25741         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
25742         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
25743         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
25744         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
25745         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
25746         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
25747         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
25748         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
25749         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
25750         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
25751         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
25752         gl_MBRLEN_NUL_RETVAL): Likewise.
25753         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
25754         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
25755         Likewise.
25756         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
25757         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
25758         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
25759         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
25760         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
25761         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
25762         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
25763         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
25764         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
25765         Likewise.
25766         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
25767         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
25768         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
25769         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
25770         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
25771         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
25772         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
25773         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
25774         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
25775         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
25776
25777 2010-08-26  Bruno Haible  <bruno@clisp.org>
25778
25779         Modernize AC_TRY_LINK invocations.
25780         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
25781         AC_TRY_LINK.
25782         * m4/argp.m4 (gl_ARGP): Likewise.
25783         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
25784         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
25785         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
25786         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
25787         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
25788         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
25789         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
25790         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
25791         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
25792         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
25793         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
25794         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
25795         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
25796         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
25797         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
25798         * m4/hostent.m4 (gl_HOSTENT): Likewise.
25799         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
25800         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
25801         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
25802         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
25803         Likewise.
25804         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
25805         Likewise.
25806         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
25807         Likewise.
25808         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
25809         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
25810         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
25811         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
25812         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
25813         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
25814         * m4/servent.m4 (gl_SERVENT): Likewise.
25815         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
25816         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
25817         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
25818         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
25819         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
25820         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
25821         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
25822         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
25823         * modules/tsearch-tests (configure.ac): Likewise.
25824
25825 2010-08-26  Bruno Haible  <bruno@clisp.org>
25826
25827         Modernize AC_TRY_COMPILE invocations.
25828         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
25829         AC_TRY_COMPILE.
25830         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
25831         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
25832         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
25833         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
25834         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
25835         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
25836         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
25837         * m4/lock.m4 (gl_LOCK): Likewise.
25838         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
25839         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
25840         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
25841         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
25842         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
25843         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
25844         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
25845         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
25846         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
25847         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
25848         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
25849         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
25850         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
25851         extraneous semicolon.
25852
25853 2010-08-26  Jim Meyering  <meyering@redhat.com>
25854
25855         stat-time: relax license LGPL
25856         * modules/stat-time (License): Change from GPL to LGPL,
25857         with consent from all contributors, for use in libguile.
25858         Requested by Ludovic Courtès.
25859
25860 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
25861
25862         poll: return immediately on POLLHUP.
25863         * lib/poll.c (poll): Always set timeout before wait_timeout is
25864         computed.
25865
25866 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25867
25868         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
25869         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
25870         rmdir ("dir/.//"), unlinkat.
25871
25872 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
25873
25874         stdbool: avoid spurious failure with modern xlc
25875         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
25876
25877 2010-08-24  Bruno Haible  <bruno@clisp.org>
25878
25879         getloadavg: simplify code
25880         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
25881         gl_have_func. Update comments.
25882
25883 2010-08-24  Eric Blake  <eblake@redhat.com>
25884
25885         getloadavg: don't define SVR4 on cygwin
25886         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
25887         only define SVR4 when -lkvm is required.
25888         Reported by Yaakov Selkowitz.
25889
25890 2010-08-24  Bruno Haible  <bruno@clisp.org>
25891
25892         priv-set: fix comment
25893         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
25894
25895 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
25896
25897         priv-set: fix comments
25898         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
25899         to match code, as suggested by David Bartley in:
25900         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
25901
25902 2010-08-23  Eric Blake  <eblake@redhat.com>
25903
25904         stdbool: avoid rejecting clang
25905         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
25906         * tests/test-stdbool.c: Enable more tests if using the system
25907         <stdbool.h> instead of the gnulib replacement.
25908         (main): Move xlc bug test to a runtime test for all compilers.
25909         Reported by Anders Kaseorg.
25910
25911         argz: fix shell quoting issue
25912         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
25913         Reported by Charles Wilson.
25914
25915 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
25916             Erik Faye-Lund <kusmabite@gmail.com>
25917
25918         poll, select: handle ERROR_BROKEN_PIPE.
25919         * lib/poll.c (win32_compute_revents): Return POLLHUP when
25920         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
25921         * lib/select.c (win32_compute_revents): Do not mark a pipe
25922         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
25923
25924 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
25925
25926         fts: allow compilation with C++
25927         * lib/fts_.h: Specify extern "C" linkage with C++.
25928
25929 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25930
25931         Fix gnulib-tool sed script de-commentation for AIX sed.
25932         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
25933         sed.
25934
25935 2010-08-17  Eric Blake  <eblake@redhat.com>
25936
25937         test-stddef: test for (some) offsetof bugs
25938         * tests/test-stddef.c: Enhance test to ensure correct type of
25939         offsetof.
25940         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
25941         that we are not fixing at this time.
25942
25943 2010-08-15  Bruno Haible  <bruno@clisp.org>
25944
25945         stpncpy: Allow stpncpy to be defined as a macro.
25946         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
25947         if it's already correctly declared.
25948         * lib/string.in.h (stpncpy): Undefine before redefining.
25949         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
25950
25951 2010-08-14  Bruno Haible  <bruno@clisp.org>
25952
25953         Rename module 'memxfrm' to 'amemxfrm'.
25954         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
25955         (amemxfrm): Renamed from memxfrm.
25956         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
25957         (amemxfrm): Renamed from memxfrm.
25958         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
25959         * NEWS: Mention the change.
25960         * MODULES.html.sh (String handling <string.h>): Update.
25961         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
25962         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
25963         * lib/unicase/u16-casexfrm.c: Likewise.
25964         * lib/unicase/u32-casexfrm.c: Likewise.
25965         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
25966         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
25967         * lib/uninorm/u16-normxfrm.c: Likewise.
25968         * lib/uninorm/u32-normxfrm.c: Likewise.
25969         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
25970         memxfrm.
25971         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
25972         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
25973         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
25974         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
25975         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
25976         Suggested by Paul Eggert.
25977
25978 2010-08-14  Bruno Haible  <bruno@clisp.org>
25979
25980         Tests for module 'astrxfrm'.
25981         * modules/astrxfrm-tests: New file.
25982         * tests/test-astrxfrm.c: New file.
25983
25984         New module 'astrxfrm'.
25985         * lib/astrxfrm.h: New file.
25986         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
25987         * modules/astrxfrm: New file.
25988
25989 2010-08-14  Reuben Thomas <rrt@sc3d.org>
25990
25991         regex: Tweak doc.
25992         * doc/regex.texi (Overview): Don't mention regex.c.
25993         (GNU Regular Expression Compiling): Likewise.
25994         (Match-end-of-line Operator): Mention 'not_eol'.
25995
25996 2010-08-14  Brian Gough  <bjg@gnu.org>
25997             Bruno Haible  <bruno@clisp.org>
25998
25999         git-merge-changelog: add doc relating to use with bzr and hg.
26000         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
26001
26002 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
26003
26004         pthread: fix pthread.h creation for srcdir != builddir
26005         * modules/pthread (Makefile.am): Fix the rule to work also in a
26006         non-srcdir build.
26007
26008 2010-08-13  Karl Berry  <karl@gnu.org>
26009
26010         * doc/regex.texi (Predefined Syntaxes): @smallexample.
26011         * doc/posix-*/*: force line break before @url of POSIX
26012         specifications.
26013         Suggested by Werner Lemberg.
26014
26015 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
26016
26017         strtod: fix const diagnostic
26018         * lib/strtod.c (strtod): Don't assign const char * to char *,
26019         as this elicits a warning from GCC when warnings are enabled.
26020
26021 2010-08-10  Pádraig Brady <P@draigbrady.com>
26022         and Eric Blake  <eblake@redhat.com>
26023
26024         copy-acl: ignore ENOTSUP on HP-UX
26025         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
26026         so that it is available for HP-UX.
26027         * lib/copy-acl.c (qcopy_acl): Use it.
26028         Reported by Patrick M. Callahan.
26029
26030 2010-08-10  Eric Blake  <eblake@redhat.com>
26031
26032         open, chown: relax license
26033         * modules/open (License): Change to LGPLv2+, with consent by all
26034         authors, for use in augeas.
26035         * modules/chown (License): Likewise.
26036         * modules/lchown (Likewise): Likewise.
26037         Requested by Adam Stokes.
26038
26039 2010-08-09  Karl Berry  <karl@gnu.org>
26040
26041         * build-aux/ar-lib: new file, import from Automake.
26042         * config/srclist.txt: autocheck for updates.
26043
26044 2010-08-09  Eric Blake  <eblake@redhat.com>
26045
26046         readlinkat: adjust client modules
26047         * modules/areadlinkat (Depends-on): Use readlinkat, not
26048         symlinkat.
26049         * modules/areadlinkat-with-size (Depends-on): Likewise.
26050
26051         mknod: be more vocal about danger of running tests as root
26052         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
26053         root, since that is just asking for problems.
26054         Suggested by Bruno Haible, based on a report by Rainer Tammer.
26055
26056         readlinkat: split into its own module
26057         * modules/symlinkat: Split readlinkat...
26058         * modules/readlinkat: ...into separate module.
26059         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
26060         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
26061         * lib/symlinkat.c (readlinkat): Move...
26062         * lib/readlinkat.c: ...into new file.
26063         * modules/symlinkat-tests: Split readlinkat test...
26064         * modules/readlinkat-tests: ...into separate module.
26065         * tests/test-symlinkat.c: Split...
26066         * tests/test-readlinkat.c: ...into new file.
26067         * NEWS: Document the split.
26068         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
26069         * lib/unistd.in.h (readlinkat): Likewise.
26070         Suggested by Bruno Haible.
26071
26072 2010-08-08  Bruno Haible  <bruno@clisp.org>
26073
26074         memxfrm: Speed up.
26075         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
26076         that usually only one call to strxfrm is necessary for each string
26077         part.
26078         Reported by Paul Eggert <eggert@cs.ucla.edu>.
26079
26080 2010-08-07  Karl Berry  <karl@gnu.org>
26081
26082         * doc/posix-headers/limits.texi,
26083         * doc/posix-functions/malloc.texi,
26084         * doc/posix-functions/strsignal.texi: missing @item.
26085         * doc/ld-version-script.texi: spurious leading i.
26086         * doc/regex.texi (Interval Operators): no commas inside @var.
26087
26088 2010-08-01  Bruno Haible  <bruno@clisp.org>
26089
26090         Integrate the regex documentation.
26091         * doc/gnulib.texi: Define 'cn' index.
26092         (Regular expressions): New a chapter that includes regex.texi and
26093         regexprops-generic.texi.
26094         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
26095         syntax.
26096
26097         Whitespace cleanup.
26098         * doc/regex.texi: Remove trailing spaces.
26099
26100         Add regex documentation.
26101         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
26102         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
26103         Written by Kathy A. Hargreaves and Karl Berry.
26104
26105 2010-08-01  Bruno Haible  <bruno@clisp.org>
26106
26107         link: Update documentation.
26108         * doc/posix-functions/link.texi: Update regarding Solaris.
26109
26110 2010-07-31  Bruno Haible  <bruno@clisp.org>
26111
26112         Update modules list.
26113         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
26114         (String handling <string.h>): Add memcmp2, memxfrm.
26115         (Container data structures): Add xlist, xsublist, xoset.
26116         (Core language properties): Add alignof, unused-parameter.
26117         (Process control, Numeric conversion functions <stdlib.h>): Renamed
26118         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
26119         (Unibyte characters <ctype.h>): New section.
26120         (String handling <string.h>): New section.
26121         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
26122         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
26123         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
26124         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
26125         tan, tanh, tanl, y0, y1, yn.
26126         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
26127         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
26128         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
26129         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
26130         unlockpt, vdprintf, vdprintf-posix.
26131         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
26132         (File system functions): Add concat-filename, sys_file, sys_ioctl,
26133         xconcat-filename.
26134         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
26135         getdtablesize, pipe2, pipe2-safer.
26136         (Security): New section.
26137         (Networking functions): Add accept4.
26138         (Signal handling): Add sigpipe.
26139         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
26140         mbmemcasecoll.
26141         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
26142         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
26143         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
26144         pipe-filter-ii.
26145         (Misc): Add argp-version-etc, login_tty, parse-duration.
26146
26147 2010-07-31  Bruno Haible  <bruno@clisp.org>
26148
26149         Improve doc in MODULES.html.
26150         * modules/linkat (Description): Add the word "function".
26151         * modules/mkfifo (Description): Likewise.
26152         * modules/mknod (Description): Likewise.
26153         * modules/remove (Description): Likewise.
26154         * modules/renameat (Description): Likewise.
26155         * modules/stat (Description): Likewise.
26156         * modules/symlink (Description): Likewise.
26157         * modules/unlink (Description): Likewise.
26158
26159 2010-07-31  Bruno Haible  <bruno@clisp.org>
26160
26161         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
26162         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
26163         option --enable/disable-c++ instead of --enable/disable-cxx.
26164         * NEWS: Mention the change.
26165
26166 2010-07-31  Bruno Haible  <bruno@clisp.org>
26167
26168         readlink, areadlink: Relax test a bit.
26169         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
26170         alternative to ENOTDIR.
26171         * tests/test-areadlink.h (test_areadlink): Likewise.
26172         Reported by Rainer Tammer.
26173
26174 2010-07-31  Bruno Haible  <bruno@clisp.org>
26175
26176         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
26177         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
26178         character, perform the search using U_STRCHR.
26179         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
26180         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
26181         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
26182         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
26183         Suggested by Paolo Bonzini.
26184
26185 2010-07-31  Bruno Haible  <bruno@clisp.org>
26186
26187         unistr/u*-strstr: Fix dependencies.
26188         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
26189         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
26190         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
26191
26192 2010-07-31  Bruno Haible  <bruno@clisp.org>
26193
26194         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
26195         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
26196         the beginning of the loop.
26197         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
26198         cases in 'switch' statement.
26199
26200         unistr/u8-strchr: Fix several bugs.
26201         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
26202         the string. When not found, return NULL, not a pointer near the end.
26203
26204         More tests for unistr/u8-strchr.
26205         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
26206         that the function does not read past the first occurrence of the byte
26207         being searched.
26208         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
26209         * tests/unistr/test-u16-strchr.c (main): New function.
26210         * tests/unistr/test-u32-strchr.c (main): New function.
26211
26212 2010-07-31  Bruno Haible  <bruno@clisp.org>
26213
26214         posix-modules: Ignore backup files of documentation files.
26215         * posix-modules: grep only through files named *.texi.
26216
26217 2010-07-31  Bruno Haible  <bruno@clisp.org>
26218
26219         symlinkat: Fix documentation.
26220         * doc/posix-functions/readlinkat.texi: Fix module name.
26221
26222 2010-07-31  Bruno Haible  <bruno@clisp.org>
26223
26224         fchownat: Replace also when chown has the trailing slash bug.
26225         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
26226         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
26227         introduced on 2010-04-10.
26228         Reported by Rainer Tammer.
26229
26230 2010-07-31  Bruno Haible  <bruno@clisp.org>
26231
26232         linkat: Work around AIX 7.1 bug.
26233         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
26234         whether linkat handles trailing slash correctly. If not, replace linkat
26235         and define LINKAT_TRAILING_SLASH_BUG.
26236         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
26237         check whether (fd1,file1) points to a directory if file1 or file2 ends
26238         in a slash. Code taken from lib/link.c.
26239         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
26240         Reported by Rainer Tammer.
26241
26242 2010-07-31  Bruno Haible  <bruno@clisp.org>
26243
26244         Correctly determine whether pow is available in libc on AIX 7 with xlc.
26245         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
26246         This disables an xlc optimization that was causing wrong test results.
26247         Reported by Rainer Tammer.
26248
26249 2010-07-31  Bruno Haible  <bruno@clisp.org>
26250
26251         iconv: Work around AIX 6.1..7.1 bug.
26252         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
26253         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
26254         cross-compiling, guess no on all versions of AIX.
26255         Reported by Rainer Tammer.
26256
26257 2010-07-31  Bruno Haible  <bruno@clisp.org>
26258
26259         readlink: Relax test a bit.
26260         * tests/test-readlink.h (test_readlink): Allow different errno value
26261         when readlink is called with a file name that ends in / and refers to
26262         a file.
26263         Suggested by Eric Blake.
26264         Reported by Rainer Tammer.
26265
26266 2010-07-31  Bruno Haible  <bruno@clisp.org>
26267
26268         copysign: Does not require -lm on glibc systems.
26269         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
26270         gl_COMMON_DOUBLE_MATHFUNC.
26271         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
26272
26273 2010-07-31  Bruno Haible  <bruno@clisp.org>
26274
26275         duplocale: Work around AIX 7.1 bug.
26276         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
26277         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
26278         * lib/duplocale.c (rpl_duplocale): Update comment.
26279         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
26280         Reported by Rainer Tammer.
26281
26282 2010-07-30  Bruno Haible  <bruno@clisp.org>
26283
26284         dirfd: Avoid link error on AIX 7.1.
26285         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
26286         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
26287         exist, set REPLACE_DIRFD.
26288         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
26289         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
26290         * doc/posix-functions/dirfd.texi: Update.
26291         Reported by Rainer Tammer.
26292
26293 2010-07-30  Eric Blake  <eblake@redhat.com>
26294
26295         strtod: next round of AIX fixes
26296         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
26297         exponent.
26298         * tests/test-strtod.c (main): Enhance tests.
26299         * doc/posix-functions/strtod.texi (strtod): Document next bug.
26300         Reported by Rainer Tammer.
26301
26302         futimens: fix configure check
26303         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
26304         Reported by Bruno Haible.
26305
26306 2010-07-30  Bruno Haible  <bruno@clisp.org>
26307
26308         getline: Update regarding AIX.
26309         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
26310         Reported by Rainer Tammer.
26311
26312 2010-07-30  Bruno Haible  <bruno@clisp.org>
26313
26314         wcwidth: Drop replacement on AIX 7.
26315         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
26316         AIX 7.
26317         Reported by Rainer Tammer.
26318
26319 2010-07-30  Bruno Haible  <bruno@clisp.org>
26320
26321         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
26322         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
26323         a 'char *'.
26324         Reported by Rainer Tammer.
26325
26326 2010-07-30  Bruno Haible  <bruno@clisp.org>
26327
26328         unlink: Update regarding AIX.
26329         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
26330         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
26331         Reported by Rainer Tammer.
26332
26333 2010-07-30  Bruno Haible  <bruno@clisp.org>
26334
26335         symlink: Update regarding AIX.
26336         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
26337         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
26338         Reported by Rainer Tammer.
26339
26340 2010-07-30  Bruno Haible  <bruno@clisp.org>
26341
26342         strndup: Update regarding AIX.
26343         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
26344         AIX 7.
26345         Reported by Rainer Tammer.
26346
26347 2010-07-30  Bruno Haible  <bruno@clisp.org>
26348
26349         stat: Update regarding AIX.
26350         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
26351         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
26352         Reported by Rainer Tammer.
26353
26354 2010-07-30  Bruno Haible  <bruno@clisp.org>
26355
26356         truncl: Fix autoconf test.
26357         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
26358         whether truncl works.
26359         Reported by Rainer Tammer.
26360
26361 2010-07-30  Bruno Haible  <bruno@clisp.org>
26362
26363         round: Update regarding AIX.
26364         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
26365         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
26366         Reported by Rainer Tammer.
26367
26368 2010-07-30  Bruno Haible  <bruno@clisp.org>
26369
26370         rename: Update regarding AIX.
26371         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
26372         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
26373         Reported by Rainer Tammer.
26374
26375 2010-07-30  Bruno Haible  <bruno@clisp.org>
26376
26377         printf.m4: Update regarding AIX.
26378         * m4/printf.m4: Update comments regarding AIX.
26379         Reported by Rainer Tammer.
26380
26381 2010-07-30  Bruno Haible  <bruno@clisp.org>
26382
26383         iconv: Update regarding AIX.
26384         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
26385         AIX 7.
26386         Reported by Rainer Tammer.
26387
26388 2010-07-30  Bruno Haible  <bruno@clisp.org>
26389
26390         getopt: Update regarding AIX.
26391         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
26392         no on AIX.
26393         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
26394         Reported by Rainer Tammer.
26395
26396 2010-07-30  Bruno Haible  <bruno@clisp.org>
26397
26398         ldexpl; Update regarding AIX.
26399         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
26400         on AIX 7.
26401         Reported by Rainer Tammer.
26402
26403 2010-07-30  Bruno Haible  <bruno@clisp.org>
26404
26405         frexpl: Update regarding AIX.
26406         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
26407         on AIX 7.
26408         Reported by Rainer Tammer.
26409
26410 2010-07-30  Bruno Haible  <bruno@clisp.org>
26411
26412         open, fopen: Update regarding AIX.
26413         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
26414         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
26415         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
26416         * doc/posix-functions/fopen.texi: Likewise.
26417         Reported by Rainer Tammer.
26418
26419 2010-07-30  Bruno Haible  <bruno@clisp.org>
26420
26421         chown: Update doc regarding AIX.
26422         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
26423         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
26424         Reported by Rainer Tammer.
26425
26426 2010-07-30  Eric Blake  <eblake@redhat.com>
26427
26428         strtod: fix bug in replacement function on AIX
26429         * lib/strtod.c (strtod): Special case broken "0x" parse in
26430         underlying strtod.
26431         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
26432         * doc/posix-functions/strtod.texi (strtod): Likewise.
26433         Reported by Rainer Tammer.
26434
26435 2010-07-30  Bruno Haible  <bruno@clisp.org>
26436
26437         mbrlen: Fix cross-compilation guess for AIX.
26438         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
26439         guess. Leftover from 2008-12-22.
26440
26441 2010-07-30  Bruno Haible  <bruno@clisp.org>
26442
26443         mbrtowc: Fix cross-compilation guess for AIX.
26444         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
26445         guess. Leftover from 2008-12-21.
26446
26447 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
26448
26449         init.sh: work around trap limitation of some shells
26450         * tests/init.sh (setup_): Move exit trap outside of shell function.
26451
26452 2010-07-29  Eric Blake  <eblake@redhat.com>
26453
26454         strtod: aid debugging
26455         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
26456         understanding why strtod is rejected.
26457
26458 2010-07-28  Bruno Haible  <bruno@clisp.org>
26459
26460         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
26461         * lib/unistr/u8-chr.c: Include <string.h>.
26462         * tests/unistr/test-u8-chr.c: Likewise.
26463         * tests/unistr/test-u16-chr.c: Likewise.
26464         * tests/unistr/test-u32-chr.c: Likewise.
26465         * tests/unistr/test-u8-strchr.c: Likewise.
26466         * tests/unistr/test-u16-strchr.c: Likewise.
26467         * tests/unistr/test-u32-strchr.c: Likewise.
26468         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
26469         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
26470         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
26471         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
26472
26473 2010-07-28  Bruno Haible  <bruno@clisp.org>
26474
26475         Use spaces for indentation, not tabs.
26476         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
26477
26478 2010-07-27  Bruno Haible  <bruno@clisp.org>
26479
26480         mbspcasecmp: Fix function specification.
26481         * lib/string.in.h (mbspcasecmp): Fix specification comment.
26482         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
26483         Reported by Eric Blake <eblake@redhat.com>.
26484
26485 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
26486
26487         timespec: use cast and not conditional, as truncation isn't possible
26488         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
26489         instead of a conditional.  Comment about the situation in more detail.
26490         This undoes most of the 2009-10-29 patch.
26491
26492 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
26493
26494         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
26495         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
26496         * lib/unistr/u8-strchr.c: Likewise.
26497         * modules/unistr/u8-chr: Depend on memchr.
26498
26499         unistr/u*-strchr: add tests
26500         * modules/unistr/u8-strchr-tests: New file.
26501         * modules/unistr/u16-strchr-tests: New file.
26502         * modules/unistr/u32-strchr-tests: New file.
26503         * tests/unistr/test-strchr.h: New file.
26504         * tests/unistr/test-u8-strchr.c: New file.
26505         * tests/unistr/test-u16-strchr.c: New file.
26506         * tests/unistr/test-u32-strchr.c: New file.
26507
26508         unistr/u*-chr: test multibyte sequences more
26509         * tests/unistr/test-chr.h: Do complete testing of the characters in the
26510         test vector.
26511         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
26512         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
26513         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
26514
26515         unistr/u*-chr: test multibyte sequences
26516         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
26517
26518         unistr/u*-chr: prepare for multibyte tests
26519         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
26520         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
26521         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
26522         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
26523         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
26524         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
26525
26526 2010-07-18  Bruno Haible  <bruno@clisp.org>
26527
26528         unistr/u8-strchr: Optimize non-ASCII argument case.
26529         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
26530         because the first byte often matches anyway.
26531         Reported by Pádraig Brady <P@draigbrady.com>.
26532
26533 2010-07-15  Karl Berry  <karl@gnu.org>
26534
26535         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
26536
26537 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
26538
26539         getcwd: on Solaris, work better if ancestors are inaccessible
26540         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
26541         buffer and size, try again with a large buffer.  This works better
26542         on Solaris, since its getcwd succeeds even if the path to the root
26543         is inaccessible, and this is helpful in common cases such as .zfs
26544         hidden directories.  Problem reported by J Chapman Flack in
26545         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
26546         Use system getcwd if it's declared, not merely if it's partly
26547         working; use the partly-working test only to avoid needless effort
26548         if the system getcwd fails.
26549         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
26550         comment that was already obsolete and is now even more obsolete.
26551         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
26552         now might call strdup.
26553
26554 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
26555
26556         pthread: Add enough so that coreutils/src/sort.c compiles.
26557         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
26558         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
26559         gnulib. Include <sched.h> and <time.h>, as per POSIX.
26560         Include <sys/types.h>, in case it defines pthread_t.
26561         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
26562         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
26563         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
26564         (pthread_rwlockattr_t, pthread_spinlock_t):
26565         New typedefs, if HAVE_PTHREAD_T is not defined.
26566         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
26567         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
26568         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
26569         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
26570         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
26571         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
26572         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
26573         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
26574         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
26575         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
26576         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
26577         New macros.
26578         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
26579         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
26580         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
26581         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
26582         (pthread_spin_unlock): New dummy functions.
26583         (pthread_create): Return EAGAIN; don't set errno.
26584         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
26585         require AC_C_INLINE.
26586         * modules/pthread (Depends-on): Add sched, time.
26587         (pthread.h): Use AM_V_GEN.
26588
26589 2010-07-13  Bruno Haible  <bruno@clisp.org>
26590
26591         striconveh: Don't malloc memory if the result buffer is sufficient.
26592         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
26593         buffer if its size is sufficient.
26594         Reported by Ludovic Courtès <ludo@gnu.org>.
26595
26596 2010-07-13  Bruno Haible  <bruno@clisp.org>
26597
26598         strtod: Add safety check.
26599         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
26600
26601 2010-07-12  Bruno Haible  <bruno@clisp.org>
26602
26603         Unify tests that set gl_cv_func_ldexpl_no_libm.
26604         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
26605         gl_FUNC_LDEXPL.
26606         (gl_FUNC_LDEXPL): Invoke it.
26607         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
26608
26609 2010-07-12  Bruno Haible  <bruno@clisp.org>
26610
26611         Unify tests that set gl_cv_func_ldexp_no_libm.
26612         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
26613         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
26614         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
26615         (configure.ac): Simply invoke gl_FUNC_LDEXP.
26616         * modules/strtod (Files): Add m4/ldexp.m4.
26617
26618 2010-07-12  Bruno Haible  <bruno@clisp.org>
26619
26620         Unify tests that set gl_cv_func_frexpl_no_libm.
26621         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
26622         gl_FUNC_FREXPL_NO_LIBM.
26623         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
26624         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
26625
26626 2010-07-12  Bruno Haible  <bruno@clisp.org>
26627
26628         Unify tests that set gl_cv_func_frexp_no_libm.
26629         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
26630         gl_FUNC_FREXP_NO_LIBM.
26631         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
26632         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
26633
26634 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
26635
26636         memcoll: clarify sizes versus lengths, document better, and tweak perf
26637         * lib/memcoll.c (strcoll_loop, memcoll0):
26638         Improve quality of descriptive comments.  Name variables
26639         consistently as to whether they are lengths (which do not include
26640         terminating null) versus sizes (which do).
26641         * lib/xmemcoll.c (xmemcoll0): Likewise.
26642         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
26643         returned when s1size == 0; this is easier to compile and saves
26644         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
26645
26646 2010-07-12  Bruno Haible  <bruno@clisp.org>
26647
26648         Tests for module '_Exit'.
26649         * modules/_Exit-tests: New file.
26650         * tests/test-_Exit.sh: New file.
26651         * tests/test-_Exit.c: New file.
26652
26653         New module '_Exit'.
26654         * lib/stdlib.in.h (__attribute__): New macro.
26655         (_Exit): New declaration.
26656         * lib/_Exit.c: New file.
26657         * m4/_Exit.m4: New file.
26658         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
26659         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
26660         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
26661         * modules/_Exit: New file.
26662         * tests/test-stdlib-c++.cc (_Exit): Check signature.
26663         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
26664
26665 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
26666
26667         strtod: make it more-accurate typically, and don't require libm
26668         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
26669         Include limits.h.  Don't include string.h.
26670         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
26671         (locale_isspace): New function, so that no casts are needed to
26672         check whether *s is a space.
26673         (ldexp): Provide an unused dummy if not available.
26674         (scale_radix_exp, parse_number, underlying_strtod): New functions.
26675         (strtod): Use them.  This implementation prefers to use the
26676         underlying strtod if available, falling back on our own code
26677         only to fix known bugs.  This is more likely to produce an
26678         accurate result.  Also, it avoids the use of libm functions.
26679         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
26680         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
26681         was absent, but it caused a test failure with coreutils.
26682         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
26683         with libm.
26684         * modules/strtod (Makefile.am, Link): libm is no longer needed.
26685         * modules/strtod-tests (Makefile.am): Likewise.
26686
26687 2010-07-11  Pádraig Brady  <P@draigBrady.com>
26688             Bruno Haible  <bruno@clisp.org>
26689
26690         unistr/u8-strchr: Optimize ASCII argument case.
26691         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
26692
26693 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
26694
26695         (x)memcoll: minor tweaks
26696         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
26697         is after the type that it qualifies.
26698         (memcoll0): Likewise.
26699         * lib/memcoll.h (memcoll0): Likewise.
26700         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
26701         * lib/xmemcoll.h (xmemcoll0): Likewise.
26702         * lib/memcoll.c (memcoll0): Correct the comment.  This function
26703         differs from memcoll in that the NUL byte is part of the argument.
26704         Omit the abort-checks, as performance is a real issue here.  Plus,
26705         the checks were wrong anyway (an off-by-one error).  Omit local
26706         variable 'diff', as it's a bit clearer that way.
26707         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
26708         no longer needed.
26709
26710 2010-07-08  Chen Guo <chenguo4@yahoo.com>
26711
26712         (x)memcoll: speedup when input is known to be NUL delimited
26713         * lib/memcoll.c: Include stdlib.
26714         (memcoll0): New function.
26715         (strcoll_loop): New function, refactored for use in both memcoll
26716         and memcoll0.
26717         * lib/memcoll.h (memcoll0): Add prototype.
26718         * lib/xmemcoll.c (xmemcoll0): New function.
26719         (collate_error): New function, refactored for use in both xmemcoll
26720         and xmemcoll0.
26721         * lib/xmemcoll.h (xmemcoll0): Add prototype.
26722         * m4/memcoll.m4: add inline invocation.
26723
26724 2010-07-06  Pádraig Brady  <P@draigBrady.com>
26725
26726         * build-aux/bootstrap: Remove any local translations
26727         from the translation project synchronization directory,
26728         so that local only translations are not distributed.
26729
26730 2010-07-04  Bruno Haible  <bruno@clisp.org>
26731
26732         fsusage: Clarify which code applies to which platforms.
26733         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
26734         platform.
26735         * lib/fsusage.c (get_fs_usage): Likewise.
26736
26737 2010-07-04  Bruno Haible  <bruno@clisp.org>
26738
26739         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
26740         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
26741         Reported by Martin Lambers <marlam@marlam.de>.
26742
26743 2010-07-04  Jim Meyering  <meyering@redhat.com>
26744
26745         hash: once again explicitly disallow insertion of NULL
26746         * lib/hash.c (hash_insert0): Reinstate just-removed test:
26747         inserting a NULL pointer cannot work with these functions.
26748         Add a comment with details.
26749         This reverts part of the 2010-07-01 commit, 5bef1a35
26750         "hash: extend module to deal with non-pointer keys".
26751
26752 2010-07-01  Bruno Haible  <bruno@clisp.org>
26753
26754         stdbool: Update doc.
26755         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
26756         Info from Christian Weisgerber <naddy@mips.inka.de>.
26757
26758 2010-07-01  Jim Meyering  <meyering@redhat.com>
26759
26760         hash: extend module to deal with non-pointer keys
26761         * lib/hash.c (hash_insert0): New interface, much like hash_insert
26762         but that allows insertion of non-pointer entries.
26763         Do not disallow an ENTRY value of NULL.
26764         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
26765         * lib/hash.h (hash_insert0): Declare.
26766
26767 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
26768
26769         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
26770         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
26771         not present (i.e. with autoconf 2.59 and when using gettextize, not
26772         gnulib), require AC_GNU_SOURCE instead.
26773
26774 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
26775
26776         idpriv-drop: Fix tests.
26777         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
26778         not to the test-idpriv-droptemp program.
26779
26780 2010-06-29  Bruno Haible  <bruno@clisp.org>
26781
26782         string: Fix syntax error with g++ 2.96.
26783         * lib/string.in.h (__pure__): Remove definition.
26784         (_GL_ATTRIBUTE_PURE): New macro.
26785         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
26786         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
26787         Reported by Christian Weisgerber <naddy@mips.inka.de>.
26788
26789 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
26790
26791         unitypes: Fix bug introduced on 2010-05-18.
26792         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
26793
26794 2010-06-22  Eric Blake  <eblake@redhat.com>
26795
26796         memmem: slight optimization
26797         * lib/str-two-way.h (critical_factorization): Update comments.
26798         Reduce work during factorization phase.
26799         Reported by Carlos Bueno <carlos@bueno.org>.
26800
26801 2010-06-21  Bruno Haible  <bruno@clisp.org>
26802
26803         Fix HAVE_CALLOC_POSIX misnomer.
26804         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
26805         !HAVE_CALLOC_POSIX.
26806         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
26807         HAVE_CALLOC_POSIX.
26808         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
26809         instead of HAVE_CALLOC_POSIX.
26810         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
26811         HAVE_CALLOC_POSIX.
26812
26813         Use modern idiom for calloc() replacement.
26814         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
26815         AC_FUNC_CALLOC.
26816         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
26817         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
26818         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26819         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
26820         (gl_REPLACE_CALLOC): New macro.
26821
26822 2010-06-21  Bruno Haible  <bruno@clisp.org>
26823
26824         Fix HAVE_REALLOC_POSIX misnomer.
26825         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
26826         !HAVE_REALLOC_POSIX.
26827         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
26828         HAVE_REALLOC_POSIX.
26829         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
26830         instead of HAVE_REALLOC_POSIX.
26831         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
26832         HAVE_REALLOC_POSIX.
26833
26834         Use modern idiom for realloc() replacement.
26835         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
26836         AC_FUNC_REALLOC.
26837         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
26838         Autoconf's AC_FUNC_REALLOC.
26839         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26840         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
26841         (gl_REPLACE_REALLOC): New macro.
26842         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
26843
26844 2010-06-21  Bruno Haible  <bruno@clisp.org>
26845
26846         Fix HAVE_MALLOC_POSIX misnomer.
26847         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
26848         !HAVE_MALLOC_POSIX.
26849         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
26850         HAVE_MALLOC_POSIX.
26851         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
26852         instead of HAVE_MALLOC_POSIX.
26853         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
26854         HAVE_MALLOC_POSIX.
26855
26856         Use modern idiom for malloc() replacement.
26857         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
26858         AC_FUNC_MALLOC.
26859         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
26860         Autoconf's AC_FUNC_MALLOC.
26861         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26862         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
26863         (gl_REPLACE_MALLOC): New macro.
26864         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
26865
26866 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
26867
26868         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
26869         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
26870         This macro takes 3 arguments, not 4.
26871
26872 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
26873
26874         ipv6: fix detection under mingw
26875         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
26876         in6_addr.
26877
26878 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
26879
26880         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
26881         that strtod() works when cross-compiling to a glibc version known
26882         to work.
26883
26884 2010-06-15  Bruno Haible  <bruno@clisp.org>
26885
26886         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
26887
26888 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
26889
26890         select: Correct timeout.
26891         * lib/select.c (rpl_select): Compute wait_timeout correctly.
26892
26893 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
26894
26895         git-version-gen: init shell var to avoid env var influence
26896         * build-aux/git-version-gen (v): Init shell var to empty.
26897
26898 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
26899
26900         priv-set: Don't assume that priv.h exists merely because getppriv does.
26901         See Jan Andersen's bug report about AIX 5L in
26902         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
26903         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
26904         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
26905         * lib/priv-set.h: Likewise.
26906         * tests/test-priv-set.c: Likewise.
26907
26908 2010-06-13  Bruno Haible  <bruno@clisp.org>
26909
26910         relocatable: Make it easier to test whether to install wrappers.
26911         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
26912         RELOCATABLE_VIA_WRAPPER.
26913
26914 2010-06-13  Bruno Haible  <bruno@clisp.org>
26915
26916         gnulib-tool: Display specified modules and dependencies differently.
26917         * gnulib-tool (func_show_module_list): New function.
26918         (func_import, func_create_testdir): Invoke it.
26919         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
26920
26921 2010-06-13  Bruno Haible  <bruno@clisp.org>
26922
26923         gnulib-tool: Align code of func_import and func_create_testdir.
26924         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
26925         specified_modules.
26926
26927 2010-06-12  Jim Meyering  <meyering@redhat.com>
26928
26929         test-inttostr: avoid spurious failure on Solaris 9
26930         * tests/test-inttostr.c (main): Skip the test when snprintf fails
26931         to accept "%ju".  Reported by Bruno Haible.
26932
26933 2010-06-11  Jim Meyering  <meyering@redhat.com>
26934
26935         test-sys_socket: mark variables as used more readably
26936         * tests/test-sys_socket.c (main): Mark otherwise unused variables
26937         as "used" explicitly via (void) statement casts.  This is more
26938         readable than using them in an artificial return expression.
26939         Suggestion from Bruno Haible.
26940
26941 2010-06-11  Bruno Haible  <bruno@clisp.org>
26942
26943         Avoid some more warnings from "gcc -Wwrite-strings".
26944         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
26945         to 'const char *'.
26946         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
26947         * tests/test-c-strcasestr.c (main): Likewise.
26948         * tests/test-mbscasestr1.c (main): Likewise.
26949         * tests/test-mbscasestr2.c (main): Likewise.
26950         * tests/test-memmem.c (main): Likewise.
26951         * tests/test-strstr.c (main): Likewise.
26952         * tests/test-strcasestr.c (main): Likewise.
26953
26954 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26955
26956         init.sh: change framework_failure_ to fail with status 99, not 1
26957         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
26958         automake's parallel-tests rule that this is an unexpected failure,
26959         even if the test is listed in XFAIL_TESTS.
26960
26961 2010-06-11  Jim Meyering  <meyering@redhat.com>
26962
26963         test-inttostr: avoid warnings about 4-6KB literal strings
26964         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
26965         Include "macros.h", for its definition of ASSERT.
26966         (CK): s/assert/ASSERT/
26967         * modules/inttostr-tests (Files): Add macros.h.
26968
26969         init.sh: don't use $ME_ or skip_ before they are defined
26970         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
26971         their first uses.  Also hoist their companions: warn_, fail_,
26972         framework_failure_, $stderr_fileno.  Prompted by a patch from
26973         Stefano Lattarini.
26974
26975         test-sys_socket: avoid set-but-not-used warnings from gcc
26976         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
26977         avoid warning about set-but-not-used variables.
26978
26979         test-xvasprintf: avoid 'const' discard warnings
26980         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
26981         "const" when assigning from literal strings.
26982         (test_xasprintf): Add "void" in function argument list to placate
26983         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
26984
26985         tests: avoid compilation warnings in argmatch and exclude tests...
26986         in packages that define ARGMATCH_DIE_DECL, like coreutils.
26987         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
26988         Since it always exits, declare with the "noreturn" attribute.
26989         * tests/test-argmatch.c: Likewise.
26990
26991         tests: avoid 'const' discard warnings in mbsstr tests
26992         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
26993         * tests/test-mbsstr2.c (main): Likewise.
26994
26995         test-verify: avoid warning from gcc's -Wmissing-declarations
26996         * tests/test-verify.c (function): Declare to be static.
26997
26998         test-inttostr.c: include <string.h> for use of strcmp
26999         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
27000
27001         test-linkat: avoid failed assertion on "other" architectures
27002         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
27003         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
27004         sparc: https://bugs.launchpad.net/bugs/591968
27005
27006 2010-06-11  Jim Meyering  <meyering@redhat.com>
27007
27008         printf.m4: avoid autoconf's "Expanded Before Required" warning
27009         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
27010         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
27011         autoconf warning.
27012
27013 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
27014
27015         Replacement header templates are now named with ".in", not "_".
27016         * doc/gnulib-intro.texi: Correct.
27017
27018 2010-06-10  Jim Meyering  <meyering@redhat.com>
27019
27020         inttostr-tests: depend on snprintf, not snprintf-posix
27021         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
27022         snprintf-posix, to avoid this aclocal failure:
27023           missing file gnulib-tests/vasnprintf.c
27024           configure.ac:45: error: expected source file, required through \
27025           AC_LIBSOURCES, not found
27026
27027 2010-06-10  Jim Meyering  <meyering@redhat.com>
27028
27029         inttostr: add a new function, inttostr, and tests
27030         The namesake function was not available.  The existence of the
27031         template file, inttostr.c makes its addition nontrivial.
27032         * lib/anytostr.c: Rename from inttostr.c.
27033         (anytostr): Rename from inttostr.
27034         * lib/inttostr.c: New file.
27035         * modules/inttostr (Files): Add anytostr.c.
27036         (Makefile.am): Set lib_SOURCES instead of ...
27037         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
27038         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
27039         * lib/offtostr.c: Likewise.
27040         * lib/uinttostr.c: Likewise.
27041         * lib/umaxtostr.c: Likewise.
27042         * modules/inttostr-tests: New file.
27043         * tests/test-inttostr.c: New file.  Test these functions.
27044
27045 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
27046             Bruno Haible  <bruno@clisp.org>
27047
27048         Add "Extending Gnulib" chapter to manual.
27049         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
27050         chapter.
27051         (Extending Gnulib): New chapter.
27052         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
27053         chapter.
27054
27055 2010-06-09  Bruno Haible  <bruno@clisp.org>
27056
27057         Avoid relocwrapper link errors due to gnulib replacement functions.
27058         * lib/areadlink.c: Use the system's malloc, realloc functions.
27059         (areadlink): Set errno to ENOMEM explicitly.
27060         * modules/areadlink (Depends-on): Remove malloc-posix.
27061         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27062
27063 2010-06-09  Bruno Haible  <bruno@clisp.org>
27064
27065         Avoid relocwrapper link errors due to gnulib replacement functions.
27066         * lib/canonicalize-lgpl.c: Use the system's malloc function.
27067         * lib/malloca.c: Likewise.
27068         * lib/relocatable.c: Likewise.
27069         * lib/progreloc.c: Use the system's malloc, sprintf functions.
27070         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
27071         * lib/setenv.c: Use the system's malloc, realloc functions.
27072         * lib/strerror.c: Use the system's sprintf function.
27073         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27074
27075 2010-06-04  Bruno Haible  <bruno@clisp.org>
27076
27077         Prefer documented low-level autoconf macro names.
27078         * m4/lib-link.m4: Use m4_translit instead of translit.
27079         * m4/environ.m4: Likewise.
27080         * m4/mathfunc.m4: Likewise.
27081         * m4/onceonly.m4: Likewise.
27082         * m4/stdint.m4: Likewise.
27083         Suggested by Eric Blake.
27084
27085 2010-06-04  Martin Lambers  <marlam@marlam.de>
27086             Bruno Haible  <bruno@clisp.org>
27087
27088         havelib: Allow library names with '+' characters.
27089         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
27090         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
27091
27092 2010-06-09  Bruno Haible  <bruno@clisp.org>
27093
27094         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
27095         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
27096         realloc failed.
27097
27098 2010-06-08  Peter Simons  <simons@cryp.to>
27099
27100         maint.mk: make the news-check rule more configurable
27101         * top/maint.mk (news-check-lines-spec): New variable.
27102         (news-check): Use "sed -n 1,10p" in place of "head".
27103
27104 2010-06-07  Jim Meyering  <meyering@redhat.com>
27105
27106         do-release-commit-and-tag: fix typo in --help
27107         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
27108
27109         regex: avoid new dead-code warning with gcc-4.6.0
27110         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
27111         if-block containing a while-loop.  It's been unused for at least
27112         5 years.
27113
27114 2010-06-05  Bruno Haible  <bruno@clisp.org>
27115
27116         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
27117         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
27118
27119 2010-06-04  Bruno Haible  <bruno@clisp.org>
27120
27121         Update to GNU gettext 0.18.1.
27122         * modules/gettext (configure.ac): Require gettext infrastructure from
27123         version 0.18.1.
27124
27125 2010-06-03  Bruno Haible  <bruno@clisp.org>
27126
27127         Don't use AC_LIBOBJ with file names in subdirectories.
27128         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
27129         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
27130         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
27131         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
27132         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
27133         gl_LIBUNISTRING_LIBSOURCE.
27134         (Makefile.am): Augment lib_SOURCES here, conditionally.
27135         * NEWS: Drop requirement for Automake option 'subdir-objects'.
27136
27137 2010-06-03  Bruno Haible  <bruno@clisp.org>
27138
27139         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
27140         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
27141         expansion does not end with a newline.
27142         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
27143         unnecessary newline.
27144
27145 2010-06-03  Bruno Haible  <bruno@clisp.org>
27146
27147         Reduce dependencies.
27148         * tests/test-quotearg.h: New file, extracted from
27149         tests/test-quotearg.c.
27150         * tests/test-quotearg-simple.c: New file, extracted from
27151         tests/test-quotearg.c.
27152         * tests/test-quotearg.c: Don't include <ctype.h>.
27153         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
27154         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
27155         use_quote_double_quotes, use_quotearg_colon): Moved to
27156         tests/test-quotearg.h.
27157         (results_g, flag_results, custom_quotes, custom_results): Moved
27158         to tests/test-quotearg-simple.c.
27159         (main): Moved the part that does not depend on gettext to
27160         tests/test-quotearg-simple.c. Return 77 if the test cannot be
27161         performed.
27162         * modules/quotearg-simple: New file.
27163         * modules/quotearg-simple-tests: New file.
27164         * modules/quotearg (Depends-on): Add quotearg-simple.
27165         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
27166         (Files): Add tests/test-quotearg.h.
27167         Reported by Paolo Bonzini.
27168
27169 2010-06-03  Bruno Haible  <bruno@clisp.org>
27170
27171         Reduce dependencies.
27172         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
27173
27174 2010-06-03  Bruno Haible  <bruno@clisp.org>
27175
27176         time: Undefine more broken macros.
27177         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
27178         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
27179         Reported by Eric Blake.
27180
27181 2010-06-03  Bruno Haible  <bruno@clisp.org>
27182
27183         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
27184         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
27185         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
27186         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
27187         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
27188         Reported by Ludovic Courtès <ludo@gnu.org>.
27189
27190 2010-06-02  Eric Blake  <eblake@redhat.com>
27191
27192         time: work with mingw + pthreads-win32 library
27193         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
27194         if timespec is defined only in pthread.h.
27195         * modules/time (Makefile.am): Substitute it.
27196         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
27197         <pthread.h>, when needed.
27198         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
27199         from the library.
27200
27201 2010-05-31  Bruno Haible  <bruno@clisp.org>
27202
27203         Avoid expanding two macros in the wrong order.
27204         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
27205         gl_LIBUNISTRING if it is defined.
27206         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
27207         autoconf >= 2.64.
27208         Reported by Ludovic Courtès <ludo@gnu.org>.
27209
27210 2010-05-27  Jim Meyering  <meyering@redhat.com>
27211
27212         maint.mk: also prohibit "#undef" of always-defined symbols
27213         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
27214         Allow more than one space before the symbol name.
27215         (sc_prohibit_always-defined_macros): Use grep's -E, now that
27216         the regexp uses alternation.
27217
27218 2010-05-26  Eric Blake  <eblake@redhat.com>
27219
27220         maint.mk: avoid echo -e
27221         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
27222         Convert all uses of echo -* to printf.
27223         Reported by Matthias Bolte.
27224
27225 2010-05-25  Bruno Haible  <bruno@clisp.org>
27226
27227         Update to GNU gettext 0.18, part 2.
27228         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
27229         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
27230
27231 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27232
27233         Add missing include in test-pwrite.c.
27234         * tests/test-pwrite.c: Include string.h, for strcmp.
27235
27236 2010-05-24  Bruno Haible  <bruno@clisp.org>
27237
27238         * NEWS: Mention requirement for Automake option 'subdir-objects'.
27239
27240 2010-05-24  Bruno Haible  <bruno@clisp.org>
27241
27242         Don't use conversion with transliteration in u{8,16,32}_strcoll.
27243         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
27244         iconveh_error argument.
27245         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
27246         U_STRCONV_TO_LOCALE.
27247         * lib/unistr/u16-strcoll.c: Likewise.
27248         * lib/unistr/u32-strcoll.c: Likewise.
27249         * modules/unistr/u8-strcoll (Depends-on): Add
27250         uniconv/u8-strconv-to-enc, localcharset. Remove
27251         uniconv/u8-strconv-to-locale.
27252         (configure.ac): Bump version number.
27253         * modules/unistr/u16-strcoll (Depends-on): Add
27254         uniconv/u16-strconv-to-enc, localcharset. Remove
27255         uniconv/u16-strconv-to-locale.
27256         (configure.ac): Bump version number.
27257         * modules/unistr/u32-strcoll (Depends-on): Add
27258         uniconv/u32-strconv-to-enc, localcharset. Remove
27259         uniconv/u32-strconv-to-locale.
27260         (configure.ac): Bump version number.
27261
27262 2010-05-24  Bruno Haible  <bruno@clisp.org>
27263
27264         Avoid a test failure on NetBSD 5.0.
27265         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
27266         an iconv() bug.
27267
27268 2010-05-24  Bruno Haible  <bruno@clisp.org>
27269
27270         Adjust #include directive style.
27271         * modules/regex (Includes): Recommend to write <regex.h>.
27272
27273 2010-05-24  Bruno Haible  <bruno@clisp.org>
27274
27275         regex: Don't require alloca.
27276         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
27277         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
27278         only inside if (0).
27279
27280 2010-05-23  Jim Meyering  <meyering@redhat.com>
27281
27282         test-renameat.c: include <sys/stat.h>
27283         * tests/test-renameat.c: Include <sys/stat.h>; required for
27284         definition of S_IS* macros.
27285
27286 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
27287
27288         Update maintainer documentation for 'relocatable-prog' module.
27289         * doc/relocatable-maint.texi: Update.
27290         Comments by Bruno Haible.
27291
27292 2010-05-23  Bruno Haible  <bruno@clisp.org>
27293
27294         git-merge-changelog: Enable --split-merged-entry by default.
27295         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
27296         (usage): Don't mention this option any more.
27297         Reported by Ralf Wildenhues.
27298
27299 2010-05-23  Jim Meyering  <meyering@redhat.com>
27300
27301         test-pwrite: do not leave behind a test file named "out"
27302         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
27303         The trivial-looking use of init.sh is really necessary.
27304         It ensures that the temporary file, "out", is created in
27305         a temporary directory, and removed upon termination.
27306         * tests/test-pwrite.sh: Re-add file.
27307         * modules/pwrite-tests: Reference it.
27308
27309 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27310
27311         Fix output redirection buglet in init.sh.
27312         * tests/init.sh: Fix redirection of stderr.
27313
27314 2010-05-20  Simon Josefsson  <simon@josefsson.org>
27315
27316         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
27317
27318 2010-05-17  Simon Josefsson  <simon@josefsson.org>
27319
27320         * modules/valgrind-tests: New file.
27321         * m4/valgrind-tests.m4: New file.
27322         * doc/valgrind-tests.texi: New file.
27323         * doc/gnulib.texi (Running self-tests under valgrind): New
27324         section.
27325
27326 2010-05-19  Bruno Haible  <bruno@clisp.org>
27327
27328         Clean up dead code in recent commit.
27329         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
27330         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
27331         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
27332         Suggested by Paolo Bonzini.
27333
27334 2010-05-19  Bruno Haible  <bruno@clisp.org>
27335
27336         Avoid valgrind error reports from libunistring.
27337         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
27338         * modules/libunistring (Files): Add it.
27339         * modules/libunistring-optional (Files): Likewise.
27340
27341 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
27342             Bruno Haible  <bruno@clisp.org>
27343
27344         New module 'libunistring-optional'.
27345         * modules/libunistring-optional: New file.
27346         * m4/libunistring-base.m4: New file.
27347         * m4/libunistring-optional.m4: New file.
27348         * lib/unicase.in.h: Renamed from lib/unicase.h.
27349         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
27350         * lib/unictype.in.h: Renamed from lib/unictype.h.
27351         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
27352         * lib/uniname.in.h: Renamed from lib/uniname.h.
27353         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
27354         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
27355         * lib/unistr.in.h: Renamed from lib/unistr.h.
27356         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
27357         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
27358         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
27359         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
27360         gl_LIBUNISTRING. If the library was found, determine the installed
27361         version and set LIBUNISTRING_VERSION.
27362         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
27363         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
27364         handle a configuration option --with-included-libunistring.
27365         * modules/libunistring (Files): Add m4/absolute-header.m4.
27366         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
27367         Add m4/libunistring-base.m4.
27368         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27369         (Makefile.am): Build unicase.h from unicase.in.h.
27370         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
27371         Add m4/libunistring-base.m4.
27372         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27373         (Makefile.am): Build uniconv.h from uniconv.in.h.
27374         * modules/unictype/base (Files): Use unictype.in.h instead of
27375         unictype.h. Add m4/libunistring-base.m4.
27376         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27377         (Makefile.am): Build unictype.h from unictype.in.h.
27378         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
27379         Add m4/libunistring-base.m4.
27380         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27381         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
27382         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
27383         Add m4/libunistring-base.m4.
27384         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27385         (Makefile.am): Build uniname.h from uniname.in.h.
27386         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
27387         Add m4/libunistring-base.m4.
27388         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27389         (Makefile.am): Build uninorm.h from uninorm.in.h.
27390         * modules/unistdio/base (Files): Use unistdio.in.h instead of
27391         unistdio.h. Add m4/libunistring-base.m4.
27392         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27393         (Makefile.am): Build unistdio.h from unistdio.in.h.
27394         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
27395         Add m4/libunistring-base.m4.
27396         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27397         (Makefile.am): Build unistr.h from unistr.in.h.
27398         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
27399         Add m4/libunistring-base.m4.
27400         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27401         (Makefile.am): Build unitypes.h from unitypes.in.h.
27402         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
27403         Add m4/libunistring-base.m4.
27404         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27405         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
27406         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
27407         uniwidth.h. Add m4/libunistring-base.m4.
27408         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27409         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
27410         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
27411         instead of augmenting lib_SOURCES.
27412         * modules/unicase/empty-suffix-context: Likewise.
27413         * modules/unicase/locale-language: Likewise.
27414         * modules/unicase/tolower: Likewise.
27415         * modules/unicase/totitle: Likewise.
27416         * modules/unicase/toupper: Likewise.
27417         * modules/unicase/u8-casecmp: Likewise.
27418         * modules/unicase/u8-casecoll: Likewise.
27419         * modules/unicase/u8-casefold: Likewise.
27420         * modules/unicase/u8-casexfrm: Likewise.
27421         * modules/unicase/u8-ct-casefold: Likewise.
27422         * modules/unicase/u8-ct-tolower: Likewise.
27423         * modules/unicase/u8-ct-totitle: Likewise.
27424         * modules/unicase/u8-ct-toupper: Likewise.
27425         * modules/unicase/u8-is-cased: Likewise.
27426         * modules/unicase/u8-is-casefolded: Likewise.
27427         * modules/unicase/u8-is-lowercase: Likewise.
27428         * modules/unicase/u8-is-titlecase: Likewise.
27429         * modules/unicase/u8-is-uppercase: Likewise.
27430         * modules/unicase/u8-prefix-context: Likewise.
27431         * modules/unicase/u8-suffix-context: Likewise.
27432         * modules/unicase/u8-tolower: Likewise.
27433         * modules/unicase/u8-totitle: Likewise.
27434         * modules/unicase/u8-toupper: Likewise.
27435         * modules/unicase/u16-casecmp: Likewise.
27436         * modules/unicase/u16-casecoll: Likewise.
27437         * modules/unicase/u16-casefold: Likewise.
27438         * modules/unicase/u16-casexfrm: Likewise.
27439         * modules/unicase/u16-ct-casefold: Likewise.
27440         * modules/unicase/u16-ct-tolower: Likewise.
27441         * modules/unicase/u16-ct-totitle: Likewise.
27442         * modules/unicase/u16-ct-toupper: Likewise.
27443         * modules/unicase/u16-is-cased: Likewise.
27444         * modules/unicase/u16-is-casefolded: Likewise.
27445         * modules/unicase/u16-is-lowercase: Likewise.
27446         * modules/unicase/u16-is-titlecase: Likewise.
27447         * modules/unicase/u16-is-uppercase: Likewise.
27448         * modules/unicase/u16-prefix-context: Likewise.
27449         * modules/unicase/u16-suffix-context: Likewise.
27450         * modules/unicase/u16-tolower: Likewise.
27451         * modules/unicase/u16-totitle: Likewise.
27452         * modules/unicase/u16-toupper: Likewise.
27453         * modules/unicase/u32-casecmp: Likewise.
27454         * modules/unicase/u32-casecoll: Likewise.
27455         * modules/unicase/u32-casefold: Likewise.
27456         * modules/unicase/u32-casexfrm: Likewise.
27457         * modules/unicase/u32-ct-casefold: Likewise.
27458         * modules/unicase/u32-ct-tolower: Likewise.
27459         * modules/unicase/u32-ct-totitle: Likewise.
27460         * modules/unicase/u32-ct-toupper: Likewise.
27461         * modules/unicase/u32-is-cased: Likewise.
27462         * modules/unicase/u32-is-casefolded: Likewise.
27463         * modules/unicase/u32-is-lowercase: Likewise.
27464         * modules/unicase/u32-is-titlecase: Likewise.
27465         * modules/unicase/u32-is-uppercase: Likewise.
27466         * modules/unicase/u32-prefix-context: Likewise.
27467         * modules/unicase/u32-suffix-context: Likewise.
27468         * modules/unicase/u32-tolower: Likewise.
27469         * modules/unicase/u32-totitle: Likewise.
27470         * modules/unicase/u32-toupper: Likewise.
27471         * modules/unicase/ulc-casecmp: Likewise.
27472         * modules/unicase/ulc-casecoll: Likewise.
27473         * modules/unicase/ulc-casexfrm: Likewise.
27474         * modules/uniconv/u8-conv-from-enc: Likewise.
27475         * modules/uniconv/u8-conv-to-enc: Likewise.
27476         * modules/uniconv/u8-strconv-from-enc: Likewise.
27477         * modules/uniconv/u8-strconv-from-locale: Likewise.
27478         * modules/uniconv/u8-strconv-to-enc: Likewise.
27479         * modules/uniconv/u8-strconv-to-locale: Likewise.
27480         * modules/uniconv/u16-conv-from-enc: Likewise.
27481         * modules/uniconv/u16-conv-to-enc: Likewise.
27482         * modules/uniconv/u16-strconv-from-enc: Likewise.
27483         * modules/uniconv/u16-strconv-from-locale: Likewise.
27484         * modules/uniconv/u16-strconv-to-enc: Likewise.
27485         * modules/uniconv/u16-strconv-to-locale: Likewise.
27486         * modules/uniconv/u32-conv-from-enc: Likewise.
27487         * modules/uniconv/u32-conv-to-enc: Likewise.
27488         * modules/uniconv/u32-strconv-from-enc: Likewise.
27489         * modules/uniconv/u32-strconv-from-locale: Likewise.
27490         * modules/uniconv/u32-strconv-to-enc: Likewise.
27491         * modules/uniconv/u32-strconv-to-locale: Likewise.
27492         * modules/unictype/bidicategory-byname: Likewise.
27493         * modules/unictype/bidicategory-name: Likewise.
27494         * modules/unictype/bidicategory-of: Likewise.
27495         * modules/unictype/bidicategory-test: Likewise.
27496         * modules/unictype/block-list: Likewise.
27497         * modules/unictype/block-test: Likewise.
27498         * modules/unictype/category-C: Likewise.
27499         * modules/unictype/category-Cc: Likewise.
27500         * modules/unictype/category-Cf: Likewise.
27501         * modules/unictype/category-Cn: Likewise.
27502         * modules/unictype/category-Co: Likewise.
27503         * modules/unictype/category-Cs: Likewise.
27504         * modules/unictype/category-L: Likewise.
27505         * modules/unictype/category-Ll: Likewise.
27506         * modules/unictype/category-Lm: Likewise.
27507         * modules/unictype/category-Lo: Likewise.
27508         * modules/unictype/category-Lt: Likewise.
27509         * modules/unictype/category-Lu: Likewise.
27510         * modules/unictype/category-M: Likewise.
27511         * modules/unictype/category-Mc: Likewise.
27512         * modules/unictype/category-Me: Likewise.
27513         * modules/unictype/category-Mn: Likewise.
27514         * modules/unictype/category-N: Likewise.
27515         * modules/unictype/category-Nd: Likewise.
27516         * modules/unictype/category-Nl: Likewise.
27517         * modules/unictype/category-No: Likewise.
27518         * modules/unictype/category-P: Likewise.
27519         * modules/unictype/category-Pc: Likewise.
27520         * modules/unictype/category-Pd: Likewise.
27521         * modules/unictype/category-Pe: Likewise.
27522         * modules/unictype/category-Pf: Likewise.
27523         * modules/unictype/category-Pi: Likewise.
27524         * modules/unictype/category-Po: Likewise.
27525         * modules/unictype/category-Ps: Likewise.
27526         * modules/unictype/category-S: Likewise.
27527         * modules/unictype/category-Sc: Likewise.
27528         * modules/unictype/category-Sk: Likewise.
27529         * modules/unictype/category-Sm: Likewise.
27530         * modules/unictype/category-So: Likewise.
27531         * modules/unictype/category-Z: Likewise.
27532         * modules/unictype/category-Zl: Likewise.
27533         * modules/unictype/category-Zp: Likewise.
27534         * modules/unictype/category-Zs: Likewise.
27535         * modules/unictype/category-and: Likewise.
27536         * modules/unictype/category-and-not: Likewise.
27537         * modules/unictype/category-byname: Likewise.
27538         * modules/unictype/category-name: Likewise.
27539         * modules/unictype/category-none: Likewise.
27540         * modules/unictype/category-of: Likewise.
27541         * modules/unictype/category-or: Likewise.
27542         * modules/unictype/category-test: Likewise.
27543         * modules/unictype/combining-class: Likewise.
27544         * modules/unictype/ctype-alnum: Likewise.
27545         * modules/unictype/ctype-alpha: Likewise.
27546         * modules/unictype/ctype-blank: Likewise.
27547         * modules/unictype/ctype-cntrl: Likewise.
27548         * modules/unictype/ctype-digit: Likewise.
27549         * modules/unictype/ctype-graph: Likewise.
27550         * modules/unictype/ctype-lower: Likewise.
27551         * modules/unictype/ctype-print: Likewise.
27552         * modules/unictype/ctype-punct: Likewise.
27553         * modules/unictype/ctype-space: Likewise.
27554         * modules/unictype/ctype-upper: Likewise.
27555         * modules/unictype/ctype-xdigit: Likewise.
27556         * modules/unictype/decimal-digit: Likewise.
27557         * modules/unictype/digit: Likewise.
27558         * modules/unictype/mirror: Likewise.
27559         * modules/unictype/numeric: Likewise.
27560         * modules/unictype/property-alphabetic: Likewise.
27561         * modules/unictype/property-ascii-hex-digit: Likewise.
27562         * modules/unictype/property-bidi-arabic-digit: Likewise.
27563         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
27564         * modules/unictype/property-bidi-block-separator: Likewise.
27565         * modules/unictype/property-bidi-boundary-neutral: Likewise.
27566         * modules/unictype/property-bidi-common-separator: Likewise.
27567         * modules/unictype/property-bidi-control: Likewise.
27568         * modules/unictype/property-bidi-embedding-or-override: Likewise.
27569         * modules/unictype/property-bidi-eur-num-separator: Likewise.
27570         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
27571         * modules/unictype/property-bidi-european-digit: Likewise.
27572         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
27573         * modules/unictype/property-bidi-left-to-right: Likewise.
27574         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
27575         * modules/unictype/property-bidi-other-neutral: Likewise.
27576         * modules/unictype/property-bidi-pdf: Likewise.
27577         * modules/unictype/property-bidi-segment-separator: Likewise.
27578         * modules/unictype/property-bidi-whitespace: Likewise.
27579         * modules/unictype/property-byname: Likewise.
27580         * modules/unictype/property-combining: Likewise.
27581         * modules/unictype/property-composite: Likewise.
27582         * modules/unictype/property-currency-symbol: Likewise.
27583         * modules/unictype/property-dash: Likewise.
27584         * modules/unictype/property-decimal-digit: Likewise.
27585         * modules/unictype/property-default-ignorable-code-point: Likewise.
27586         * modules/unictype/property-deprecated: Likewise.
27587         * modules/unictype/property-diacritic: Likewise.
27588         * modules/unictype/property-extender: Likewise.
27589         * modules/unictype/property-format-control: Likewise.
27590         * modules/unictype/property-grapheme-base: Likewise.
27591         * modules/unictype/property-grapheme-extend: Likewise.
27592         * modules/unictype/property-grapheme-link: Likewise.
27593         * modules/unictype/property-hex-digit: Likewise.
27594         * modules/unictype/property-hyphen: Likewise.
27595         * modules/unictype/property-id-continue: Likewise.
27596         * modules/unictype/property-id-start: Likewise.
27597         * modules/unictype/property-ideographic: Likewise.
27598         * modules/unictype/property-ids-binary-operator: Likewise.
27599         * modules/unictype/property-ids-trinary-operator: Likewise.
27600         * modules/unictype/property-ignorable-control: Likewise.
27601         * modules/unictype/property-iso-control: Likewise.
27602         * modules/unictype/property-join-control: Likewise.
27603         * modules/unictype/property-left-of-pair: Likewise.
27604         * modules/unictype/property-line-separator: Likewise.
27605         * modules/unictype/property-logical-order-exception: Likewise.
27606         * modules/unictype/property-lowercase: Likewise.
27607         * modules/unictype/property-math: Likewise.
27608         * modules/unictype/property-non-break: Likewise.
27609         * modules/unictype/property-not-a-character: Likewise.
27610         * modules/unictype/property-numeric: Likewise.
27611         * modules/unictype/property-other-alphabetic: Likewise.
27612         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
27613         * modules/unictype/property-other-grapheme-extend: Likewise.
27614         * modules/unictype/property-other-id-continue: Likewise.
27615         * modules/unictype/property-other-id-start: Likewise.
27616         * modules/unictype/property-other-lowercase: Likewise.
27617         * modules/unictype/property-other-math: Likewise.
27618         * modules/unictype/property-other-uppercase: Likewise.
27619         * modules/unictype/property-paired-punctuation: Likewise.
27620         * modules/unictype/property-paragraph-separator: Likewise.
27621         * modules/unictype/property-pattern-syntax: Likewise.
27622         * modules/unictype/property-pattern-white-space: Likewise.
27623         * modules/unictype/property-private-use: Likewise.
27624         * modules/unictype/property-punctuation: Likewise.
27625         * modules/unictype/property-quotation-mark: Likewise.
27626         * modules/unictype/property-radical: Likewise.
27627         * modules/unictype/property-sentence-terminal: Likewise.
27628         * modules/unictype/property-soft-dotted: Likewise.
27629         * modules/unictype/property-space: Likewise.
27630         * modules/unictype/property-terminal-punctuation: Likewise.
27631         * modules/unictype/property-test: Likewise.
27632         * modules/unictype/property-titlecase: Likewise.
27633         * modules/unictype/property-unassigned-code-value: Likewise.
27634         * modules/unictype/property-unified-ideograph: Likewise.
27635         * modules/unictype/property-uppercase: Likewise.
27636         * modules/unictype/property-variation-selector: Likewise.
27637         * modules/unictype/property-white-space: Likewise.
27638         * modules/unictype/property-xid-continue: Likewise.
27639         * modules/unictype/property-xid-start: Likewise.
27640         * modules/unictype/property-zero-width: Likewise.
27641         * modules/unictype/scripts: Likewise.
27642         * modules/unictype/syntax-c-ident: Likewise.
27643         * modules/unictype/syntax-c-whitespace: Likewise.
27644         * modules/unictype/syntax-java-ident: Likewise.
27645         * modules/unictype/syntax-java-whitespace: Likewise.
27646         * modules/unilbrk/u8-possible-linebreaks: Likewise.
27647         * modules/unilbrk/u8-width-linebreaks: Likewise.
27648         * modules/unilbrk/u16-possible-linebreaks: Likewise.
27649         * modules/unilbrk/u16-width-linebreaks: Likewise.
27650         * modules/unilbrk/u32-possible-linebreaks: Likewise.
27651         * modules/unilbrk/u32-width-linebreaks: Likewise.
27652         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
27653         * modules/unilbrk/ulc-width-linebreaks: Likewise.
27654         * modules/uniname/uniname: Likewise.
27655         * modules/uninorm/canonical-decomposition: Likewise.
27656         * modules/uninorm/composition: Likewise.
27657         * modules/uninorm/decomposing-form: Likewise.
27658         * modules/uninorm/decomposition: Likewise.
27659         * modules/uninorm/filter: Likewise.
27660         * modules/uninorm/nfc: Likewise.
27661         * modules/uninorm/nfd: Likewise.
27662         * modules/uninorm/nfkc: Likewise.
27663         * modules/uninorm/nfkd: Likewise.
27664         * modules/uninorm/u8-normalize: Likewise.
27665         * modules/uninorm/u8-normcmp: Likewise.
27666         * modules/uninorm/u8-normcoll: Likewise.
27667         * modules/uninorm/u8-normxfrm: Likewise.
27668         * modules/uninorm/u16-normalize: Likewise.
27669         * modules/uninorm/u16-normcmp: Likewise.
27670         * modules/uninorm/u16-normcoll: Likewise.
27671         * modules/uninorm/u16-normxfrm: Likewise.
27672         * modules/uninorm/u32-normalize: Likewise.
27673         * modules/uninorm/u32-normcmp: Likewise.
27674         * modules/uninorm/u32-normcoll: Likewise.
27675         * modules/uninorm/u32-normxfrm: Likewise.
27676         * modules/unistdio/u8-asnprintf: Likewise.
27677         * modules/unistdio/u8-asprintf: Likewise.
27678         * modules/unistdio/u8-snprintf: Likewise.
27679         * modules/unistdio/u8-sprintf: Likewise.
27680         * modules/unistdio/u8-u8-asnprintf: Likewise.
27681         * modules/unistdio/u8-u8-asprintf: Likewise.
27682         * modules/unistdio/u8-u8-snprintf: Likewise.
27683         * modules/unistdio/u8-u8-sprintf: Likewise.
27684         * modules/unistdio/u8-u8-vasnprintf: Likewise.
27685         * modules/unistdio/u8-u8-vasprintf: Likewise.
27686         * modules/unistdio/u8-u8-vsnprintf: Likewise.
27687         * modules/unistdio/u8-u8-vsprintf: Likewise.
27688         * modules/unistdio/u8-vasnprintf: Likewise.
27689         * modules/unistdio/u8-vasprintf: Likewise.
27690         * modules/unistdio/u8-vsnprintf: Likewise.
27691         * modules/unistdio/u8-vsprintf: Likewise.
27692         * modules/unistdio/u16-asnprintf: Likewise.
27693         * modules/unistdio/u16-asprintf: Likewise.
27694         * modules/unistdio/u16-snprintf: Likewise.
27695         * modules/unistdio/u16-sprintf: Likewise.
27696         * modules/unistdio/u16-u16-asnprintf: Likewise.
27697         * modules/unistdio/u16-u16-asprintf: Likewise.
27698         * modules/unistdio/u16-u16-snprintf: Likewise.
27699         * modules/unistdio/u16-u16-sprintf: Likewise.
27700         * modules/unistdio/u16-u16-vasnprintf: Likewise.
27701         * modules/unistdio/u16-u16-vasprintf: Likewise.
27702         * modules/unistdio/u16-u16-vsnprintf: Likewise.
27703         * modules/unistdio/u16-u16-vsprintf: Likewise.
27704         * modules/unistdio/u16-vasnprintf: Likewise.
27705         * modules/unistdio/u16-vasprintf: Likewise.
27706         * modules/unistdio/u16-vsnprintf: Likewise.
27707         * modules/unistdio/u16-vsprintf: Likewise.
27708         * modules/unistdio/u32-asnprintf: Likewise.
27709         * modules/unistdio/u32-asprintf: Likewise.
27710         * modules/unistdio/u32-snprintf: Likewise.
27711         * modules/unistdio/u32-sprintf: Likewise.
27712         * modules/unistdio/u32-u32-asnprintf: Likewise.
27713         * modules/unistdio/u32-u32-asprintf: Likewise.
27714         * modules/unistdio/u32-u32-snprintf: Likewise.
27715         * modules/unistdio/u32-u32-sprintf: Likewise.
27716         * modules/unistdio/u32-u32-vasnprintf: Likewise.
27717         * modules/unistdio/u32-u32-vasprintf: Likewise.
27718         * modules/unistdio/u32-u32-vsnprintf: Likewise.
27719         * modules/unistdio/u32-u32-vsprintf: Likewise.
27720         * modules/unistdio/u32-vasnprintf: Likewise.
27721         * modules/unistdio/u32-vasprintf: Likewise.
27722         * modules/unistdio/u32-vsnprintf: Likewise.
27723         * modules/unistdio/u32-vsprintf: Likewise.
27724         * modules/unistdio/ulc-asnprintf: Likewise.
27725         * modules/unistdio/ulc-asprintf: Likewise.
27726         * modules/unistdio/ulc-fprintf: Likewise.
27727         * modules/unistdio/ulc-snprintf: Likewise.
27728         * modules/unistdio/ulc-sprintf: Likewise.
27729         * modules/unistdio/ulc-vasnprintf: Likewise.
27730         * modules/unistdio/ulc-vasprintf: Likewise.
27731         * modules/unistdio/ulc-vfprintf: Likewise.
27732         * modules/unistdio/ulc-vsnprintf: Likewise.
27733         * modules/unistdio/ulc-vsprintf: Likewise.
27734         * modules/unistr/u8-check: Likewise.
27735         * modules/unistr/u8-chr: Likewise.
27736         * modules/unistr/u8-cmp: Likewise.
27737         * modules/unistr/u8-cmp2: Likewise.
27738         * modules/unistr/u8-cpy: Likewise.
27739         * modules/unistr/u8-cpy-alloc: Likewise.
27740         * modules/unistr/u8-endswith: Likewise.
27741         * modules/unistr/u8-mblen: Likewise.
27742         * modules/unistr/u8-mbsnlen: Likewise.
27743         * modules/unistr/u8-mbtouc: Likewise.
27744         * modules/unistr/u8-mbtouc-unsafe: Likewise.
27745         * modules/unistr/u8-mbtoucr: Likewise.
27746         * modules/unistr/u8-move: Likewise.
27747         * modules/unistr/u8-next: Likewise.
27748         * modules/unistr/u8-prev: Likewise.
27749         * modules/unistr/u8-set: Likewise.
27750         * modules/unistr/u8-startswith: Likewise.
27751         * modules/unistr/u8-stpcpy: Likewise.
27752         * modules/unistr/u8-stpncpy: Likewise.
27753         * modules/unistr/u8-strcat: Likewise.
27754         * modules/unistr/u8-strchr: Likewise.
27755         * modules/unistr/u8-strcmp: Likewise.
27756         * modules/unistr/u8-strcoll: Likewise.
27757         * modules/unistr/u8-strcpy: Likewise.
27758         * modules/unistr/u8-strcspn: Likewise.
27759         * modules/unistr/u8-strdup: Likewise.
27760         * modules/unistr/u8-strlen: Likewise.
27761         * modules/unistr/u8-strmblen: Likewise.
27762         * modules/unistr/u8-strmbtouc: Likewise.
27763         * modules/unistr/u8-strncat: Likewise.
27764         * modules/unistr/u8-strncmp: Likewise.
27765         * modules/unistr/u8-strncpy: Likewise.
27766         * modules/unistr/u8-strnlen: Likewise.
27767         * modules/unistr/u8-strpbrk: Likewise.
27768         * modules/unistr/u8-strrchr: Likewise.
27769         * modules/unistr/u8-strspn: Likewise.
27770         * modules/unistr/u8-strstr: Likewise.
27771         * modules/unistr/u8-strtok: Likewise.
27772         * modules/unistr/u8-to-u16: Likewise.
27773         * modules/unistr/u8-to-u32: Likewise.
27774         * modules/unistr/u8-uctomb: Likewise.
27775         * modules/unistr/u16-check: Likewise.
27776         * modules/unistr/u16-chr: Likewise.
27777         * modules/unistr/u16-cmp: Likewise.
27778         * modules/unistr/u16-cmp2: Likewise.
27779         * modules/unistr/u16-cpy: Likewise.
27780         * modules/unistr/u16-cpy-alloc: Likewise.
27781         * modules/unistr/u16-endswith: Likewise.
27782         * modules/unistr/u16-mblen: Likewise.
27783         * modules/unistr/u16-mbsnlen: Likewise.
27784         * modules/unistr/u16-mbtouc: Likewise.
27785         * modules/unistr/u16-mbtouc-unsafe: Likewise.
27786         * modules/unistr/u16-mbtoucr: Likewise.
27787         * modules/unistr/u16-move: Likewise.
27788         * modules/unistr/u16-next: Likewise.
27789         * modules/unistr/u16-prev: Likewise.
27790         * modules/unistr/u16-set: Likewise.
27791         * modules/unistr/u16-startswith: Likewise.
27792         * modules/unistr/u16-stpcpy: Likewise.
27793         * modules/unistr/u16-stpncpy: Likewise.
27794         * modules/unistr/u16-strcat: Likewise.
27795         * modules/unistr/u16-strchr: Likewise.
27796         * modules/unistr/u16-strcmp: Likewise.
27797         * modules/unistr/u16-strcoll: Likewise.
27798         * modules/unistr/u16-strcpy: Likewise.
27799         * modules/unistr/u16-strcspn: Likewise.
27800         * modules/unistr/u16-strdup: Likewise.
27801         * modules/unistr/u16-strlen: Likewise.
27802         * modules/unistr/u16-strmblen: Likewise.
27803         * modules/unistr/u16-strmbtouc: Likewise.
27804         * modules/unistr/u16-strncat: Likewise.
27805         * modules/unistr/u16-strncmp: Likewise.
27806         * modules/unistr/u16-strncpy: Likewise.
27807         * modules/unistr/u16-strnlen: Likewise.
27808         * modules/unistr/u16-strpbrk: Likewise.
27809         * modules/unistr/u16-strrchr: Likewise.
27810         * modules/unistr/u16-strspn: Likewise.
27811         * modules/unistr/u16-strstr: Likewise.
27812         * modules/unistr/u16-strtok: Likewise.
27813         * modules/unistr/u16-to-u32: Likewise.
27814         * modules/unistr/u16-to-u8: Likewise.
27815         * modules/unistr/u16-uctomb: Likewise.
27816         * modules/unistr/u32-check: Likewise.
27817         * modules/unistr/u32-chr: Likewise.
27818         * modules/unistr/u32-cmp: Likewise.
27819         * modules/unistr/u32-cmp2: Likewise.
27820         * modules/unistr/u32-cpy: Likewise.
27821         * modules/unistr/u32-cpy-alloc: Likewise.
27822         * modules/unistr/u32-endswith: Likewise.
27823         * modules/unistr/u32-mblen: Likewise.
27824         * modules/unistr/u32-mbsnlen: Likewise.
27825         * modules/unistr/u32-mbtouc: Likewise.
27826         * modules/unistr/u32-mbtouc-unsafe: Likewise.
27827         * modules/unistr/u32-mbtoucr: Likewise.
27828         * modules/unistr/u32-move: Likewise.
27829         * modules/unistr/u32-next: Likewise.
27830         * modules/unistr/u32-prev: Likewise.
27831         * modules/unistr/u32-set: Likewise.
27832         * modules/unistr/u32-startswith: Likewise.
27833         * modules/unistr/u32-stpcpy: Likewise.
27834         * modules/unistr/u32-stpncpy: Likewise.
27835         * modules/unistr/u32-strcat: Likewise.
27836         * modules/unistr/u32-strchr: Likewise.
27837         * modules/unistr/u32-strcmp: Likewise.
27838         * modules/unistr/u32-strcoll: Likewise.
27839         * modules/unistr/u32-strcpy: Likewise.
27840         * modules/unistr/u32-strcspn: Likewise.
27841         * modules/unistr/u32-strdup: Likewise.
27842         * modules/unistr/u32-strlen: Likewise.
27843         * modules/unistr/u32-strmblen: Likewise.
27844         * modules/unistr/u32-strmbtouc: Likewise.
27845         * modules/unistr/u32-strncat: Likewise.
27846         * modules/unistr/u32-strncmp: Likewise.
27847         * modules/unistr/u32-strncpy: Likewise.
27848         * modules/unistr/u32-strnlen: Likewise.
27849         * modules/unistr/u32-strpbrk: Likewise.
27850         * modules/unistr/u32-strrchr: Likewise.
27851         * modules/unistr/u32-strspn: Likewise.
27852         * modules/unistr/u32-strstr: Likewise.
27853         * modules/unistr/u32-strtok: Likewise.
27854         * modules/unistr/u32-to-u16: Likewise.
27855         * modules/unistr/u32-to-u8: Likewise.
27856         * modules/unistr/u32-uctomb: Likewise.
27857         * modules/uniwbrk/u8-wordbreaks: Likewise.
27858         * modules/uniwbrk/u16-wordbreaks: Likewise.
27859         * modules/uniwbrk/u32-wordbreaks: Likewise.
27860         * modules/uniwbrk/ulc-wordbreaks: Likewise.
27861         * modules/uniwbrk/wordbreak-property: Likewise.
27862         * modules/uniwidth/u8-strwidth: Likewise.
27863         * modules/uniwidth/u8-width: Likewise.
27864         * modules/uniwidth/u16-strwidth: Likewise.
27865         * modules/uniwidth/u16-width: Likewise.
27866         * modules/uniwidth/u32-strwidth: Likewise.
27867         * modules/uniwidth/u32-width: Likewise.
27868         * modules/uniwidth/width: Likewise.
27869         * modules/unicase/cased-tests (Makefile.am): Link all test programs
27870         with $(LIBUNISTRING).
27871         * modules/unicase/ignorable-tests: Likewise.
27872         * modules/unicase/locale-language-tests: Likewise.
27873         * modules/unicase/tolower-tests: Likewise.
27874         * modules/unicase/totitle-tests: Likewise.
27875         * modules/unicase/toupper-tests: Likewise.
27876         * modules/unicase/u8-casecmp-tests: Likewise.
27877         * modules/unicase/u8-casecoll-tests: Likewise.
27878         * modules/unicase/u8-casefold-tests: Likewise.
27879         * modules/unicase/u8-is-cased-tests: Likewise.
27880         * modules/unicase/u8-is-casefolded-tests: Likewise.
27881         * modules/unicase/u8-is-lowercase-tests: Likewise.
27882         * modules/unicase/u8-is-titlecase-tests: Likewise.
27883         * modules/unicase/u8-is-uppercase-tests: Likewise.
27884         * modules/unicase/u8-tolower-tests: Likewise.
27885         * modules/unicase/u8-totitle-tests: Likewise.
27886         * modules/unicase/u8-toupper-tests: Likewise.
27887         * modules/unicase/u16-casecmp-tests: Likewise.
27888         * modules/unicase/u16-casecoll-tests: Likewise.
27889         * modules/unicase/u16-casefold-tests: Likewise.
27890         * modules/unicase/u16-is-cased-tests: Likewise.
27891         * modules/unicase/u16-is-casefolded-tests: Likewise.
27892         * modules/unicase/u16-is-lowercase-tests: Likewise.
27893         * modules/unicase/u16-is-titlecase-tests: Likewise.
27894         * modules/unicase/u16-is-uppercase-tests: Likewise.
27895         * modules/unicase/u16-tolower-tests: Likewise.
27896         * modules/unicase/u16-totitle-tests: Likewise.
27897         * modules/unicase/u16-toupper-tests: Likewise.
27898         * modules/unicase/u32-casecmp-tests: Likewise.
27899         * modules/unicase/u32-casecoll-tests: Likewise.
27900         * modules/unicase/u32-casefold-tests: Likewise.
27901         * modules/unicase/u32-is-cased-tests: Likewise.
27902         * modules/unicase/u32-is-casefolded-tests: Likewise.
27903         * modules/unicase/u32-is-lowercase-tests: Likewise.
27904         * modules/unicase/u32-is-titlecase-tests: Likewise.
27905         * modules/unicase/u32-is-uppercase-tests: Likewise.
27906         * modules/unicase/u32-tolower-tests: Likewise.
27907         * modules/unicase/u32-totitle-tests: Likewise.
27908         * modules/unicase/u32-toupper-tests: Likewise.
27909         * modules/unicase/ulc-casecmp-tests: Likewise.
27910         * modules/unicase/ulc-casecoll-tests: Likewise.
27911         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
27912         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
27913         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
27914         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
27915         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
27916         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
27917         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
27918         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
27919         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
27920         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
27921         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
27922         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
27923         * modules/unictype/bidicategory-byname-tests: Likewise.
27924         * modules/unictype/bidicategory-name-tests: Likewise.
27925         * modules/unictype/bidicategory-of-tests: Likewise.
27926         * modules/unictype/bidicategory-test-tests: Likewise.
27927         * modules/unictype/block-list-tests: Likewise.
27928         * modules/unictype/block-of-tests: Likewise.
27929         * modules/unictype/block-test-tests: Likewise.
27930         * modules/unictype/category-C-tests: Likewise.
27931         * modules/unictype/category-Cc-tests: Likewise.
27932         * modules/unictype/category-Cf-tests: Likewise.
27933         * modules/unictype/category-Cn-tests: Likewise.
27934         * modules/unictype/category-Co-tests: Likewise.
27935         * modules/unictype/category-Cs-tests: Likewise.
27936         * modules/unictype/category-L-tests: Likewise.
27937         * modules/unictype/category-Ll-tests: Likewise.
27938         * modules/unictype/category-Lm-tests: Likewise.
27939         * modules/unictype/category-Lo-tests: Likewise.
27940         * modules/unictype/category-Lt-tests: Likewise.
27941         * modules/unictype/category-Lu-tests: Likewise.
27942         * modules/unictype/category-M-tests: Likewise.
27943         * modules/unictype/category-Mc-tests: Likewise.
27944         * modules/unictype/category-Me-tests: Likewise.
27945         * modules/unictype/category-Mn-tests: Likewise.
27946         * modules/unictype/category-N-tests: Likewise.
27947         * modules/unictype/category-Nd-tests: Likewise.
27948         * modules/unictype/category-Nl-tests: Likewise.
27949         * modules/unictype/category-No-tests: Likewise.
27950         * modules/unictype/category-P-tests: Likewise.
27951         * modules/unictype/category-Pc-tests: Likewise.
27952         * modules/unictype/category-Pd-tests: Likewise.
27953         * modules/unictype/category-Pe-tests: Likewise.
27954         * modules/unictype/category-Pf-tests: Likewise.
27955         * modules/unictype/category-Pi-tests: Likewise.
27956         * modules/unictype/category-Po-tests: Likewise.
27957         * modules/unictype/category-Ps-tests: Likewise.
27958         * modules/unictype/category-S-tests: Likewise.
27959         * modules/unictype/category-Sc-tests: Likewise.
27960         * modules/unictype/category-Sk-tests: Likewise.
27961         * modules/unictype/category-Sm-tests: Likewise.
27962         * modules/unictype/category-So-tests: Likewise.
27963         * modules/unictype/category-Z-tests: Likewise.
27964         * modules/unictype/category-Zl-tests: Likewise.
27965         * modules/unictype/category-Zp-tests: Likewise.
27966         * modules/unictype/category-Zs-tests: Likewise.
27967         * modules/unictype/category-and-not-tests: Likewise.
27968         * modules/unictype/category-and-tests: Likewise.
27969         * modules/unictype/category-byname-tests: Likewise.
27970         * modules/unictype/category-name-tests: Likewise.
27971         * modules/unictype/category-none-tests: Likewise.
27972         * modules/unictype/category-of-tests: Likewise.
27973         * modules/unictype/category-or-tests: Likewise.
27974         * modules/unictype/category-test-withtable-tests: Likewise.
27975         * modules/unictype/combining-class-tests: Likewise.
27976         * modules/unictype/ctype-alnum-tests: Likewise.
27977         * modules/unictype/ctype-alpha-tests: Likewise.
27978         * modules/unictype/ctype-blank-tests: Likewise.
27979         * modules/unictype/ctype-cntrl-tests: Likewise.
27980         * modules/unictype/ctype-digit-tests: Likewise.
27981         * modules/unictype/ctype-graph-tests: Likewise.
27982         * modules/unictype/ctype-lower-tests: Likewise.
27983         * modules/unictype/ctype-print-tests: Likewise.
27984         * modules/unictype/ctype-punct-tests: Likewise.
27985         * modules/unictype/ctype-space-tests: Likewise.
27986         * modules/unictype/ctype-upper-tests: Likewise.
27987         * modules/unictype/ctype-xdigit-tests: Likewise.
27988         * modules/unictype/decimal-digit-tests: Likewise.
27989         * modules/unictype/digit-tests: Likewise.
27990         * modules/unictype/mirror-tests: Likewise.
27991         * modules/unictype/numeric-tests: Likewise.
27992         * modules/unictype/property-alphabetic-tests: Likewise.
27993         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
27994         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
27995         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
27996         * modules/unictype/property-bidi-block-separator-tests: Likewise.
27997         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
27998         * modules/unictype/property-bidi-common-separator-tests: Likewise.
27999         * modules/unictype/property-bidi-control-tests: Likewise.
28000         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
28001         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
28002         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
28003         * modules/unictype/property-bidi-european-digit-tests: Likewise.
28004         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
28005         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
28006         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
28007         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
28008         * modules/unictype/property-bidi-pdf-tests: Likewise.
28009         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
28010         * modules/unictype/property-bidi-whitespace-tests: Likewise.
28011         * modules/unictype/property-byname-tests: Likewise.
28012         * modules/unictype/property-combining-tests: Likewise.
28013         * modules/unictype/property-composite-tests: Likewise.
28014         * modules/unictype/property-currency-symbol-tests: Likewise.
28015         * modules/unictype/property-dash-tests: Likewise.
28016         * modules/unictype/property-decimal-digit-tests: Likewise.
28017         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
28018         * modules/unictype/property-deprecated-tests: Likewise.
28019         * modules/unictype/property-diacritic-tests: Likewise.
28020         * modules/unictype/property-extender-tests: Likewise.
28021         * modules/unictype/property-format-control-tests: Likewise.
28022         * modules/unictype/property-grapheme-base-tests: Likewise.
28023         * modules/unictype/property-grapheme-extend-tests: Likewise.
28024         * modules/unictype/property-grapheme-link-tests: Likewise.
28025         * modules/unictype/property-hex-digit-tests: Likewise.
28026         * modules/unictype/property-hyphen-tests: Likewise.
28027         * modules/unictype/property-id-continue-tests: Likewise.
28028         * modules/unictype/property-id-start-tests: Likewise.
28029         * modules/unictype/property-ideographic-tests: Likewise.
28030         * modules/unictype/property-ids-binary-operator-tests: Likewise.
28031         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
28032         * modules/unictype/property-ignorable-control-tests: Likewise.
28033         * modules/unictype/property-iso-control-tests: Likewise.
28034         * modules/unictype/property-join-control-tests: Likewise.
28035         * modules/unictype/property-left-of-pair-tests: Likewise.
28036         * modules/unictype/property-line-separator-tests: Likewise.
28037         * modules/unictype/property-logical-order-exception-tests: Likewise.
28038         * modules/unictype/property-lowercase-tests: Likewise.
28039         * modules/unictype/property-math-tests: Likewise.
28040         * modules/unictype/property-non-break-tests: Likewise.
28041         * modules/unictype/property-not-a-character-tests: Likewise.
28042         * modules/unictype/property-numeric-tests: Likewise.
28043         * modules/unictype/property-other-alphabetic-tests: Likewise.
28044         * modules/unictype/property-other-default-ignorable-code-point-tests:
28045         Likewise.
28046         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
28047         * modules/unictype/property-other-id-continue-tests: Likewise.
28048         * modules/unictype/property-other-id-start-tests: Likewise.
28049         * modules/unictype/property-other-lowercase-tests: Likewise.
28050         * modules/unictype/property-other-math-tests: Likewise.
28051         * modules/unictype/property-other-uppercase-tests: Likewise.
28052         * modules/unictype/property-paired-punctuation-tests: Likewise.
28053         * modules/unictype/property-paragraph-separator-tests: Likewise.
28054         * modules/unictype/property-pattern-syntax-tests: Likewise.
28055         * modules/unictype/property-pattern-white-space-tests: Likewise.
28056         * modules/unictype/property-private-use-tests: Likewise.
28057         * modules/unictype/property-punctuation-tests: Likewise.
28058         * modules/unictype/property-quotation-mark-tests: Likewise.
28059         * modules/unictype/property-radical-tests: Likewise.
28060         * modules/unictype/property-sentence-terminal-tests: Likewise.
28061         * modules/unictype/property-soft-dotted-tests: Likewise.
28062         * modules/unictype/property-space-tests: Likewise.
28063         * modules/unictype/property-terminal-punctuation-tests: Likewise.
28064         * modules/unictype/property-test-tests: Likewise.
28065         * modules/unictype/property-titlecase-tests: Likewise.
28066         * modules/unictype/property-unassigned-code-value-tests: Likewise.
28067         * modules/unictype/property-unified-ideograph-tests: Likewise.
28068         * modules/unictype/property-uppercase-tests: Likewise.
28069         * modules/unictype/property-variation-selector-tests: Likewise.
28070         * modules/unictype/property-white-space-tests: Likewise.
28071         * modules/unictype/property-xid-continue-tests: Likewise.
28072         * modules/unictype/property-xid-start-tests: Likewise.
28073         * modules/unictype/property-zero-width-tests: Likewise.
28074         * modules/unictype/scripts-tests: Likewise.
28075         * modules/unictype/syntax-c-ident-tests: Likewise.
28076         * modules/unictype/syntax-c-whitespace-tests: Likewise.
28077         * modules/unictype/syntax-java-ident-tests: Likewise.
28078         * modules/unictype/syntax-java-whitespace-tests: Likewise.
28079         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
28080         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
28081         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
28082         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
28083         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
28084         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
28085         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
28086         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
28087         * modules/uniname/uniname-tests: Likewise.
28088         * modules/uninorm/canonical-decomposition-tests: Likewise.
28089         * modules/uninorm/compat-decomposition-tests: Likewise.
28090         * modules/uninorm/composition-tests: Likewise.
28091         * modules/uninorm/decomposing-form-tests: Likewise.
28092         * modules/uninorm/decomposition-tests: Likewise.
28093         * modules/uninorm/filter-tests: Likewise.
28094         * modules/uninorm/nfc-tests: Likewise.
28095         * modules/uninorm/nfd-tests: Likewise.
28096         * modules/uninorm/nfkc-tests: Likewise.
28097         * modules/uninorm/nfkd-tests: Likewise.
28098         * modules/uninorm/u8-normcmp-tests: Likewise.
28099         * modules/uninorm/u8-normcoll-tests: Likewise.
28100         * modules/uninorm/u16-normcmp-tests: Likewise.
28101         * modules/uninorm/u16-normcoll-tests: Likewise.
28102         * modules/uninorm/u32-normcmp-tests: Likewise.
28103         * modules/uninorm/u32-normcoll-tests: Likewise.
28104         * modules/unistdio/u8-asnprintf-tests: Likewise.
28105         * modules/unistdio/u8-vasnprintf-tests: Likewise.
28106         * modules/unistdio/u8-vasprintf-tests: Likewise.
28107         * modules/unistdio/u8-vsnprintf-tests: Likewise.
28108         * modules/unistdio/u8-vsprintf-tests: Likewise.
28109         * modules/unistdio/u16-asnprintf-tests: Likewise.
28110         * modules/unistdio/u16-vasnprintf-tests: Likewise.
28111         * modules/unistdio/u16-vasprintf-tests: Likewise.
28112         * modules/unistdio/u16-vsnprintf-tests: Likewise.
28113         * modules/unistdio/u16-vsprintf-tests: Likewise.
28114         * modules/unistdio/u32-asnprintf-tests: Likewise.
28115         * modules/unistdio/u32-vasnprintf-tests: Likewise.
28116         * modules/unistdio/u32-vasprintf-tests: Likewise.
28117         * modules/unistdio/u32-vsnprintf-tests: Likewise.
28118         * modules/unistdio/u32-vsprintf-tests: Likewise.
28119         * modules/unistdio/ulc-asnprintf-tests: Likewise.
28120         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
28121         * modules/unistdio/ulc-vasprintf-tests: Likewise.
28122         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
28123         * modules/unistdio/ulc-vsprintf-tests: Likewise.
28124         * modules/unistr/u8-check-tests: Likewise.
28125         * modules/unistr/u8-chr-tests: Likewise.
28126         * modules/unistr/u8-cmp-tests: Likewise.
28127         * modules/unistr/u8-cmp2-tests: Likewise.
28128         * modules/unistr/u8-cpy-alloc-tests: Likewise.
28129         * modules/unistr/u8-cpy-tests: Likewise.
28130         * modules/unistr/u8-mblen-tests: Likewise.
28131         * modules/unistr/u8-mbsnlen-tests: Likewise.
28132         * modules/unistr/u8-mbtouc-tests: Likewise.
28133         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
28134         * modules/unistr/u8-mbtoucr-tests: Likewise.
28135         * modules/unistr/u8-move-tests: Likewise.
28136         * modules/unistr/u8-next-tests: Likewise.
28137         * modules/unistr/u8-prev-tests: Likewise.
28138         * modules/unistr/u8-set-tests: Likewise.
28139         * modules/unistr/u8-stpcpy-tests: Likewise.
28140         * modules/unistr/u8-stpncpy-tests: Likewise.
28141         * modules/unistr/u8-strcat-tests: Likewise.
28142         * modules/unistr/u8-strcmp-tests: Likewise.
28143         * modules/unistr/u8-strcoll-tests: Likewise.
28144         * modules/unistr/u8-strcpy-tests: Likewise.
28145         * modules/unistr/u8-strdup-tests: Likewise.
28146         * modules/unistr/u8-strlen-tests: Likewise.
28147         * modules/unistr/u8-strmblen-tests: Likewise.
28148         * modules/unistr/u8-strmbtouc-tests: Likewise.
28149         * modules/unistr/u8-strncat-tests: Likewise.
28150         * modules/unistr/u8-strncmp-tests: Likewise.
28151         * modules/unistr/u8-strncpy-tests: Likewise.
28152         * modules/unistr/u8-strnlen-tests: Likewise.
28153         * modules/unistr/u8-to-u16-tests: Likewise.
28154         * modules/unistr/u8-to-u32-tests: Likewise.
28155         * modules/unistr/u8-uctomb-tests: Likewise.
28156         * modules/unistr/u16-check-tests: Likewise.
28157         * modules/unistr/u16-chr-tests: Likewise.
28158         * modules/unistr/u16-cmp-tests: Likewise.
28159         * modules/unistr/u16-cmp2-tests: Likewise.
28160         * modules/unistr/u16-cpy-alloc-tests: Likewise.
28161         * modules/unistr/u16-cpy-tests: Likewise.
28162         * modules/unistr/u16-mblen-tests: Likewise.
28163         * modules/unistr/u16-mbsnlen-tests: Likewise.
28164         * modules/unistr/u16-mbtouc-tests: Likewise.
28165         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
28166         * modules/unistr/u16-mbtoucr-tests: Likewise.
28167         * modules/unistr/u16-move-tests: Likewise.
28168         * modules/unistr/u16-next-tests: Likewise.
28169         * modules/unistr/u16-prev-tests: Likewise.
28170         * modules/unistr/u16-set-tests: Likewise.
28171         * modules/unistr/u16-stpcpy-tests: Likewise.
28172         * modules/unistr/u16-stpncpy-tests: Likewise.
28173         * modules/unistr/u16-strcat-tests: Likewise.
28174         * modules/unistr/u16-strcmp-tests: Likewise.
28175         * modules/unistr/u16-strcoll-tests: Likewise.
28176         * modules/unistr/u16-strcpy-tests: Likewise.
28177         * modules/unistr/u16-strdup-tests: Likewise.
28178         * modules/unistr/u16-strlen-tests: Likewise.
28179         * modules/unistr/u16-strmblen-tests: Likewise.
28180         * modules/unistr/u16-strmbtouc-tests: Likewise.
28181         * modules/unistr/u16-strncat-tests: Likewise.
28182         * modules/unistr/u16-strncmp-tests: Likewise.
28183         * modules/unistr/u16-strncpy-tests: Likewise.
28184         * modules/unistr/u16-strnlen-tests: Likewise.
28185         * modules/unistr/u16-to-u32-tests: Likewise.
28186         * modules/unistr/u16-to-u8-tests: Likewise.
28187         * modules/unistr/u16-uctomb-tests: Likewise.
28188         * modules/unistr/u32-check-tests: Likewise.
28189         * modules/unistr/u32-chr-tests: Likewise.
28190         * modules/unistr/u32-cmp-tests: Likewise.
28191         * modules/unistr/u32-cmp2-tests: Likewise.
28192         * modules/unistr/u32-cpy-alloc-tests: Likewise.
28193         * modules/unistr/u32-cpy-tests: Likewise.
28194         * modules/unistr/u32-mblen-tests: Likewise.
28195         * modules/unistr/u32-mbsnlen-tests: Likewise.
28196         * modules/unistr/u32-mbtouc-tests: Likewise.
28197         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
28198         * modules/unistr/u32-mbtoucr-tests: Likewise.
28199         * modules/unistr/u32-move-tests: Likewise.
28200         * modules/unistr/u32-next-tests: Likewise.
28201         * modules/unistr/u32-prev-tests: Likewise.
28202         * modules/unistr/u32-set-tests: Likewise.
28203         * modules/unistr/u32-stpcpy-tests: Likewise.
28204         * modules/unistr/u32-stpncpy-tests: Likewise.
28205         * modules/unistr/u32-strcat-tests: Likewise.
28206         * modules/unistr/u32-strcmp-tests: Likewise.
28207         * modules/unistr/u32-strcoll-tests: Likewise.
28208         * modules/unistr/u32-strcpy-tests: Likewise.
28209         * modules/unistr/u32-strdup-tests: Likewise.
28210         * modules/unistr/u32-strlen-tests: Likewise.
28211         * modules/unistr/u32-strmblen-tests: Likewise.
28212         * modules/unistr/u32-strmbtouc-tests: Likewise.
28213         * modules/unistr/u32-strncat-tests: Likewise.
28214         * modules/unistr/u32-strncmp-tests: Likewise.
28215         * modules/unistr/u32-strncpy-tests: Likewise.
28216         * modules/unistr/u32-strnlen-tests: Likewise.
28217         * modules/unistr/u32-to-u16-tests: Likewise.
28218         * modules/unistr/u32-to-u8-tests: Likewise.
28219         * modules/unistr/u32-uctomb-tests: Likewise.
28220         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
28221         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
28222         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
28223         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
28224         * modules/uniwidth/u8-strwidth-tests: Likewise.
28225         * modules/uniwidth/u8-width-tests: Likewise.
28226         * modules/uniwidth/u16-strwidth-tests: Likewise.
28227         * modules/uniwidth/u16-width-tests: Likewise.
28228         * modules/uniwidth/u32-strwidth-tests: Likewise.
28229         * modules/uniwidth/u32-width-tests: Likewise.
28230         * modules/uniwidth/width-tests: Likewise.
28231
28232 2010-05-18  Richard Jones  <rjones@redhat.com>
28233
28234         doc: users.txt: list hivex
28235         * users.txt: Add hivex.
28236
28237 2010-05-18  Richard Jones  <rjones@redhat.com>
28238
28239         doc: users.txt: list febootstrap
28240         * users.txt: Add febootstrap.
28241
28242 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
28243
28244         bootstrap: fix an error when gnulib is not used as a git submodule
28245         * build-aux/bootstrap (gnulib_path): If its length is zero then
28246         assign "gnulib" to it.
28247         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
28248
28249 2010-05-16  Bruno Haible  <bruno@clisp.org>
28250
28251         Avoid autoconf warnings about AM_ICONV.
28252         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
28253         2.64.
28254
28255 2010-05-16  Bruno Haible  <bruno@clisp.org>
28256
28257         absolute-header: Make the macro usable in more situations.
28258         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
28259         from gl_ABSOLUTE_HEADER.
28260         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
28261
28262 2010-05-16  James Youngman  <jay@gnu.org>
28263
28264         doc: update users.txt
28265         * users.txt: Add CSSC.
28266
28267 2010-05-16  Jim Meyering  <meyering@redhat.com>
28268
28269         init.sh: fix an error in the previous change; add more comments
28270         * tests/init.sh: Compare exit code in loop against 9, not 2.
28271         Patch by Bruno Haible.
28272         Make the two tests more similar by adding an empty "then" clause.
28273         Add comments.
28274
28275         init.sh: avoid unnecessary shell re-exec
28276         * tests/init.sh: Improve the re-exec-required check to first test the
28277         current shell.  If it passes the test, do not search for a shell that
28278         does pass, and do not re-exec.  This test is particularly contorted to
28279         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
28280         of $(...) evokes a syntax error and causes immediate shell exit with
28281         status 2.  Bruno Haible reported that the re-exec made it impossible
28282         to single-step through any init.sh-using script.
28283
28284 2010-05-16  Bruno Haible  <bruno@clisp.org>
28285
28286         Fix collision between gnulib's and libintl's printf replacements.
28287         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
28288         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
28289         (printf): When using GNU C, map the __printf__ function to rpl_printf
28290         via __asm__. When not using GNU C, define rpl_printf instead of
28291         __printf__.
28292         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
28293         commit.
28294         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
28295         commit.
28296         * m4/asm-underscore.m4: New file.
28297         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
28298         * modules/stdio (Files): Add m4/asm-underscore.m4.
28299         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
28300         Reported by Ben Pfaff.
28301
28302 2010-05-16  Bruno Haible  <bruno@clisp.org>
28303
28304         verify: Avoid skipping the test on openSUSE 11.0.
28305         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
28306
28307 2010-05-13  Bruno Haible  <bruno@clisp.org>
28308
28309         Avoid useless warnings from G++.
28310         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
28311         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
28312         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28313
28314 2010-05-11  Jim Meyering  <meyering@redhat.com>
28315
28316         maint.mk: tweak preceding change
28317         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
28318         regexps tighter by anchoring at EOL, and make the new group "shy"
28319         for slightly decreased overhead.
28320
28321 2010-05-11  Eric Blake  <eblake@redhat.com>
28322
28323         maint.mk: gnulib doesn't guarantee NSIG
28324         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
28325
28326 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
28327
28328         test-pwrite.c: Remove unused variable declaration.
28329         * tests/test-pwrite.c (main): Remove read_buf declaration.
28330
28331         Remove useless test-pwrite.sh file.
28332         * tests/test-pwrite.sh: Delete file.
28333         * modules/pwrite-tests: Remove references.
28334         Reported by Bruno Haible.
28335
28336 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
28337
28338         init.sh: fix a typo
28339         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
28340
28341 2010-05-10  Jim Meyering  <meyering@redhat.com>
28342
28343         maint.mk: avoid using a temporary file in the always-defined-macros check
28344         * top/maint.mk (.re-defmac): Remove rule.
28345         (gl_trap_): Remove definition.
28346         (sc_prohibit_always-defined_macros): Rewrite not to create and
28347         depend on a temporary file.  Instead, depend on GNU grep's ability
28348         to read a list of regular expressions from stdin when given "-f -".
28349
28350 2010-05-09  Bruno Haible  <bruno@clisp.org>
28351
28352         Update to GNU gettext 0.18, part 1.
28353         * m4/gettext.m4: Update to GNU gettext 0.18.
28354         * m4/intl.m4: Likewise.
28355         * m4/po.m4: Likewise.
28356         * modules/gettext (Files): Add m4/fcntl-o.m4.
28357         (configure.ac): Require gettext infrastructure from version 0.18.
28358
28359 2010-05-09  Jim Meyering  <meyering@redhat.com>
28360
28361         init.sh: enable MALLOC_PERTURB_
28362         * tests/init.sh: Enable glibc's malloc-perturbing option.
28363
28364         maint.mk: improve sc_cross_check_PATH_usage_in_tests
28365         With my recent change in init.sh from the two-line form:
28366             -#   : ${srcdir=.}
28367             -#   . "$srcdir/init.sh"; path_prepend_ .
28368             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
28369         I noticed that using the one-line form would cause this test
28370         to fail with a false-positive, or to stop working altogether,
28371         depending on whether help-version changed or all the tests did.
28372         * top/maint.mk (_hv_regex): Remove this definition.
28373         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
28374         (_hv_regex_strong): Use a stronger regex to check for conformance.
28375         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
28376         Give a separate diagnostic for lack of conforming use.
28377
28378         maint.mk: prohibit definition of symbols defined by gnulib
28379         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
28380         definition of symbols defined by gnulib.
28381
28382 2010-05-09  Bruno Haible  <bruno@clisp.org>
28383
28384         acl: Avoid test failure on Cygwin-hosted mingw.
28385         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
28386
28387 2010-05-09  Bruno Haible  <bruno@clisp.org>
28388
28389         error: Use system's fcntl function.
28390         * lib/error.c (fcntl): Undefine.
28391
28392 2010-05-09  Jim Meyering  <meyering@redhat.com>
28393
28394         verify: adjust formatting to be more consistent
28395         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
28396         argument-list '('s, and after one comma.
28397
28398 2010-05-09  Bruno Haible  <bruno@clisp.org>
28399
28400         error: More reliable output on mingw.
28401         * lib/error.c: Include <windows.h>.
28402         (is_open): New function.
28403         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
28404         defined.
28405
28406 2010-05-09  Bruno Haible  <bruno@clisp.org>
28407
28408         vasnprintf: Fix syntax errors in libintl build on mingw.
28409         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
28410         pad_ourselves and prec_ourselves after use.
28411
28412 2010-05-08  Bruno Haible  <bruno@clisp.org>
28413
28414         * lib/config.charset: Update comments for Cygwin 1.7.
28415         * lib/localcharset.c: Likewise.
28416
28417 2010-05-07  Jim Meyering  <meyering@redhat.com>
28418
28419         init.sh: improve comments
28420         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
28421         . "${srcdir=.}/init.sh"; path_prepend_ .
28422         Add a note about path_prepend_ and the alternative of using
28423         TESTS_ENVIRONMENT.
28424
28425 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
28426
28427         exclude: Unescape hashed patterns in wildcard mode.
28428         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
28429         to the hash list.
28430         * tests/test-exclude8.sh: New test case.
28431         * modules/exclude-tests: Add new test.
28432
28433 2010-05-05  Eric Blake  <eblake@redhat.com>
28434
28435         verify: automate tests
28436         * modules/verify-tests: New module.
28437         * tests/test-verify.sh: New file.
28438         * tests/test-verify.c: Guard each negative test with a unique id.
28439         Also avoid warning about unused left hand of comma expressions.
28440
28441 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
28442
28443         Further improvements to verify.h, suggested by Eric Blake.
28444         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
28445         the GL_* versions, to avoid collision with OpenGL.
28446         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
28447         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
28448         than testing merely whether it's defined.
28449
28450         Modify verify.h to pacify gcc -Wredundant_decls.
28451         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
28452         These use the prefix "GL_" since they're likely to be useful elsewhere.
28453         We may need to break them out into a different .h file.
28454         (__COUNTER__): Define to 0 if the compiler doesn't support it.
28455         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
28456         of verify_function__.
28457
28458 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
28459
28460         Tests for module pwrite.
28461         * modules/pwrite-tests: New file.
28462         * tests/test-pwrite.sh: New file.
28463         * tests/test-pwrite.c: New file.
28464
28465         New module pwrite.
28466         * lib/unistd.in.h (pwrite): New declaration.
28467         * lib/pwrite.c: New file, from glibc with modifications.
28468         * m4/pwrite.m4: New file.
28469         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
28470         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
28471         REPLACE_PWRITE.
28472         * modules/pwrite: New file.
28473         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
28474         REPLACE_PWRITE.
28475         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
28476         * doc/posix-functions/pwrite.texi: Mention the new module.
28477
28478 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
28479
28480         pread: Update documentation.
28481         * doc/posix-functions/pread.texi: Mention the 'pread' module.
28482
28483 2010-05-04  Eric Blake  <eblake@redhat.com>
28484
28485         docs: update cygwin progress
28486         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
28487         this bug.
28488         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
28489         Added in cygwin 1.7.2.
28490         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
28491         Likewise.
28492         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
28493         Likewise.
28494         * doc/glibc-functions/dup3.texi (dup3): Likewise.
28495         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
28496         * doc/glibc-functions/accept4.texi (accept4): Likewise.
28497         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
28498         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
28499         Mention nproc module.
28500         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
28501         bug in cygwin 1.7.5 addition.
28502         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
28503         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
28504         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
28505         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
28506         1.7.5.
28507         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
28508         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
28509         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
28510         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
28511         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
28512         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
28513         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
28514         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
28515         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
28516         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
28517         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
28518         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
28519         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
28520         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
28521         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
28522         Likewise.
28523         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
28524         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
28525         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
28526         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
28527         Likewise.
28528         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
28529         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
28530         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
28531         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
28532         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
28533         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
28534         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
28535         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
28536         Likewise.
28537         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
28538         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
28539         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
28540         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
28541         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
28542         Likewise.
28543         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
28544         Likewise.
28545         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
28546         Likewise.
28547         * doc/glibc-functions/xdrrec_endofrecord.texi
28548         (xdrrec_endofrecord): Likewise.
28549         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
28550         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
28551         Likewise.
28552         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
28553         Likewise.
28554
28555 2010-05-04  Jim Meyering  <meyering@redhat.com>
28556
28557         gendocs.sh: make its "-s FILE" option more useful
28558         * build-aux/gendocs.sh: When honoring the -s FILE option, update
28559         $PACKAGE to reflect the probably-different basename of "FILE".
28560
28561 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
28562
28563         bootstrap: don't ignore download_po_files failure
28564         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
28565         failure.
28566
28567 2010-05-03  Jim Meyering  <meyering@redhat.com>
28568
28569         maint.mk: allow to pass options to gendocs.sh
28570         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
28571         (gendocs_options_): New overridable variable.
28572
28573         gnu-web-doc-update: don't ignore configure or build failure
28574         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
28575
28576         announce-gen: backslash-escape '@'s in --help output
28577         * build-aux/announce-gen: Fix syntax errors.
28578
28579         maint.mk, announce-gen: allow project-specific announcement mail headers
28580         * top/maint.mk (translation_project_): Define default.
28581         (announcement_Cc_, announcement_mail_headers_): Likewise.
28582         (announcement): Invoke announce-gen with new --mail-headers option.
28583         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
28584
28585         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
28586         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
28587         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
28588         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
28589         line in the "err2" output file when running "make check" in verbose
28590         mode (i.e., with set -x enabled).
28591
28592 2010-05-03  Bruno Haible  <bruno@clisp.org>
28593
28594         wctob: Fix for weird platforms.
28595         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
28596         argument value.
28597
28598 2010-05-03  Jim Meyering  <meyering@redhat.com>
28599
28600         maint.mk: prohibit unwarranted use of <strings.h>
28601         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
28602         strings.h in a file that does not also use strcasecmp, strncasecmp,
28603         ffs or ffsll.
28604
28605         maint.mk: remove obsolete comments
28606         * top/maint.mk: Remove stale, commented-out rules.
28607
28608 2010-05-02  Bruno Haible  <bruno@clisp.org>
28609
28610         wcwidth: Declare also when it's aliased.
28611         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
28612         macro.
28613
28614 2010-05-02  Bruno Haible  <bruno@clisp.org>
28615
28616         Fix regression from 2010-04-25.
28617         * gnulib-tool (func_modules_transitive_closure): Check the status of
28618         all modules, not only of the tests that are of the form foo-tests where
28619         foo is a module.
28620
28621 2010-05-02  Bruno Haible  <bruno@clisp.org>
28622
28623         wctob: Work around nasty Cygwin 1.7.2 bug.
28624         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
28625         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
28626
28627 2010-05-01  Bruno Haible  <bruno@clisp.org>
28628
28629         fpurge: Sharper test.
28630         * tests/test-fpurge.c (main): Add one more ftell check.
28631         * modules/fpurge-tests (Depends-on): Add ftell.
28632         Suggested by Eric Blake.
28633
28634 2010-05-01  Bruno Haible  <bruno@clisp.org>
28635
28636         ftello: Another test.
28637         * tests/test-ftello3.c: New file.
28638         * modules/ftello-tests (Files): Add it.
28639         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
28640         MOSTLYCLEANFILES.
28641
28642         ftell: Another test.
28643         * tests/test-ftell3.c: New file.
28644         * modules/ftell-tests (Files): Add it.
28645         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
28646         MOSTLYCLEANFILES.
28647
28648 2010-05-01  Bruno Haible  <bruno@clisp.org>
28649
28650         ftell, ftello: Work around Solaris bug.
28651         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
28652         * lib/ftello.c: Include stdio-impl.h.
28653         (ftello): On Solaris, when _IOWRT is set, compute the result without
28654         looking at _IOREAD.
28655         * modules/ftello (Files): Add lib/stdio-impl.h.
28656         * doc/posix-functions/ftell.texi: Mention Solaris bug.
28657         * doc/posix-functions/ftello.texi: Likewise.
28658         Reported by Eric Blake.
28659
28660 2010-05-01  Bruno Haible  <bruno@clisp.org>
28661
28662         freading: Adapt to special meaning of _IOREAD flag on Solaris.
28663         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
28664         the _IOWRT flag is also set.
28665
28666 2010-05-01  Bruno Haible  <bruno@clisp.org>
28667
28668         Fix doc about a HP-UX stdio bug.
28669         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
28670         * doc/posix-functions/ftello.texi: Likewise.
28671
28672 2010-05-01  Bruno Haible  <bruno@clisp.org>
28673
28674         lseek test: Fix failure on Solaris.
28675         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
28676         output.
28677
28678 2010-04-30  Jim Meyering  <meyering@redhat.com>
28679
28680         bootstrap: don't ignore failure to generate po*/Makevars
28681         * build-aux/bootstrap (with_gettext): Don't ignore failure
28682         to create po/Makevars or runtime-po/Makevars.
28683
28684 2010-04-29  Eric Blake  <eblake@redhat.com>
28685
28686         headers: relax license to LGPLv2+
28687         * modules/fcntl-h (License): Relax license.
28688         * modules/getopt-posix (License): Likewise.
28689         * modules/locale (License): Likewise.
28690         * modules/math (License): Likewise.
28691         * modules/pty (License): Likewise.
28692         * modules/sched (License): Likewise.
28693         * modules/search (License): Likewise.
28694         * modules/spawn (License): Likewise.
28695         * modules/stdarg (License): Likewise.
28696         * modules/sysexits (License): Likewise.
28697
28698 2010-04-29  Jim Meyering  <meyering@redhat.com>
28699
28700         inttypes: relax license to LGPLv2+
28701         * modules/inttypes (License): Relax license.
28702
28703 2010-04-29  Simon Josefsson  <simon@josefsson.org>
28704
28705         * top/maint.mk (indent): Run twice to produce idempotent results.
28706
28707 2010-04-28  Bruno Haible  <bruno@clisp.org>
28708
28709         getdate: Generate getdate.c in the source directory.
28710         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
28711         MOSTLYCLEANFILES.
28712         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
28713
28714 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
28715
28716         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
28717         is not declared as a const *; avoid warnings in that case.
28718
28719 2010-04-28  Eric Blake  <eblake@redhat.com>
28720
28721         canonicalize-lgpl: avoid compiler warning
28722         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
28723         declaration' / 'extraneous semicolon' warning with some compilers.
28724         Reported by Andreas Gruenbacher.
28725
28726 2010-04-28  Jim Meyering  <meyering@redhat.com>
28727
28728         init.sh: ensure a more reliable exit status when exiting via trap
28729         * tests/init.sh (setup_): Don't rely on $? in signal handler.
28730         Inspired by patches from Dmitry V. Levin.
28731         Also trap on signal 3 (SIGQUIT).
28732
28733 2010-04-27  Bruno Haible  <bruno@clisp.org>
28734
28735         Update doc about utimes().
28736         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
28737         'utimens' module.
28738         Reported by Andreas Gruenbacher <agruen@suse.de>.
28739
28740 2010-04-27  Eric Blake  <eblake@redhat.com>
28741
28742         full-read, full-write: relax license
28743         * modules/full-read (License): Drop to LGPLv2+.
28744         * modules/full-write (License): Likewise.
28745         * modules/safe-read (License): Likewise.
28746         * modules/safe-write (License): Likewise.
28747
28748         pthread: mention library for linking
28749         * modules/pthread (Link): Mention $(LIB_PTHREAD).
28750
28751 2010-04-27  Jim Meyering  <meyering@redhat.com>
28752
28753         maint.mk: fix a bug introduced in last change
28754         * top/maint.mk (gl_assured_headers_): Now that all names are on
28755         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
28756         is not anchored to end of word, it should be adequate.
28757
28758         maint.mk: avoid side-effect in latest syntax-check
28759         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
28760         to run commands via $(shell...), and hence to incur cost only when
28761         the new rule is actually run.
28762
28763         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
28764         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
28765         and use that to create a regexp used to detect all #if HAVE_..._H uses.
28766         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
28767         (gl_assured_headers_, az_, AZ_): Define.
28768         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
28769
28770 2010-04-26  Jim Meyering  <jim@meyering.net>
28771             Bruno Haible  <bruno@clisp.org>
28772
28773         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
28774         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
28775         Prompted by an exchange with Gilles Espinasse.
28776
28777 2010-04-26  Jim Meyering  <meyering@redhat.com>
28778
28779         git-version-gen: aesthetic tweak
28780         * build-aux/git-version-gen: Use "$nl" rather than a literal,
28781         so that the command remains on a single line.
28782
28783 2010-04-26  Eric Blake  <eblake@redhat.com>
28784
28785         git-version-gen: allow use on EBCDIC hosts
28786         * build-aux/git-version-gen (dirty): Use literal rather than tying
28787         ourselves to ascii.
28788         Reported by Steve Goetze.
28789
28790 2010-04-25  Bruno Haible  <bruno@clisp.org>
28791
28792         netdb: Add support for GNULIB_POSIXCHECK.
28793         * lib/netdb.in.h: Include warn-on-use.h.
28794         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
28795         functions are used when GNULIB_POSIXCHECK is defined and the
28796         getaddrinfo module is not in use.
28797         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
28798         freeaddrinfo, gai_strerror, getnameinfo are declared.
28799         * modules/netdb (Depends-on): Add warn-on-use.
28800         (Makefile.am): Include warn-on-use.h in netdb.h.
28801
28802 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
28803
28804         build: avoid "make check" failure without .git/ directory
28805         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
28806         there is no .git/ directory.
28807
28808 2010-04-25  Bruno Haible  <bruno@clisp.org>
28809
28810         ptsname: Fix misuse of ttyname_r.
28811         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
28812         of errno.
28813
28814 2010-04-25  Bruno Haible  <bruno@clisp.org>
28815
28816         ttyname_r: Make it work on Solaris 10.
28817         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
28818         if the system function has the POSIX declaration. Test whether the
28819         function fails if the buffer is less than 128 bytes large.
28820         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
28821         system's ttyname_r function. Provide a reasonably large buffer.
28822         * modules/ttyname_r (Depends-on): Add extensions.
28823         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
28824
28825 2010-04-25  Bruno Haible  <bruno@clisp.org>
28826
28827         Use the 'extensions' module for some more functions on Solaris.
28828         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
28829         module.
28830         * doc/posix-functions/ctime_r.texi: Likewise.
28831         * doc/posix-functions/getgrgid_r.texi: Likewise.
28832         * doc/posix-functions/getgrnam_r.texi: Likewise.
28833         * doc/posix-functions/getpwnam_r.texi: Likewise.
28834         * doc/posix-functions/getpwuid_r.texi: Likewise.
28835         * doc/posix-functions/readdir_r.texi: Likewise.
28836         * doc/posix-functions/sigwait.texi: Likewise.
28837         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
28838         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
28839
28840 2010-04-25  Bruno Haible  <bruno@clisp.org>
28841
28842         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
28843         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
28844         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
28845         * lib/ttyname_r.c: Include <limits.h>.
28846         (ttyname_r): Define using the system's ttyname_r function, if it exists
28847         and not on Solaris.
28848         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
28849         set.
28850         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
28851         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
28852         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
28853         Reported by Simon Josefsson.
28854
28855 2010-04-25  Bruno Haible  <bruno@clisp.org>
28856
28857         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
28858         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
28859         * doc/posix-functions/ctime_r.texi: Likewise.
28860         * doc/posix-functions/getgrgid_r.texi: Likewise.
28861         * doc/posix-functions/getgrnam_r.texi: Likewise.
28862         * doc/posix-functions/getlogin_r.texi: Likewise.
28863         * doc/posix-functions/getpwnam_r.texi: Likewise.
28864         * doc/posix-functions/getpwuid_r.texi: Likewise.
28865         * doc/posix-functions/readdir_r.texi: Likewise.
28866         * doc/posix-functions/sigwait.texi: Likewise.
28867         * doc/posix-functions/ttyname_r.texi: Likewise.
28868         Reported by Simon Josefsson.
28869
28870 2010-04-25  Bruno Haible  <bruno@clisp.org>
28871
28872         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
28873         * gnulib-tool (func_usage): Document that --with-*-tests options apply
28874         also to --create-testdir.
28875         (func_acceptable): Don't consider the status of *-tests modules here.
28876         (func_modules_transitive_closure): Consider it here, before including a
28877         test module.
28878         (func_import, func_create_testdir): Set inc_all_direct_tests,
28879         inc_all_indirect_tests.
28880         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
28881         --create-testdir and --create-megatestdir.
28882
28883 2010-04-25  Bruno Haible  <bruno@clisp.org>
28884
28885         gnulib-tool: Add --without-*-tests options.
28886         * gnulib-tool (func_usage): Document the --without-*-tests options.
28887         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
28888         excl_unportable_tests): New variables.
28889         Fail if they are specified with --import or --update.
28890         (func_acceptable): Respect the excl_*_tests variables.
28891         (func_import): Set the excl_*_tests variables to empty.
28892
28893 2010-04-25  Simon Josefsson  <simon@josefsson.org>
28894             Bruno Haible  <bruno@clisp.org>
28895
28896         Work around a MacOS X 10.4 bug with openpty.
28897         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
28898         * tests/test-openpty.c (main): Close the master side explicitly.
28899
28900 2010-04-25  Bruno Haible  <bruno@clisp.org>
28901
28902         strnlen: Fix a C++ test error on MacOS X and Solaris.
28903         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
28904         the function is not declared.
28905         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
28906         Simon Josefsson.
28907
28908 2010-04-24  Bruno Haible  <bruno@clisp.org>
28909
28910         Avoid a gcc warning.
28911         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
28912         of correct type for %08lx directive.
28913         Reported by Eric Blake.
28914
28915 2010-04-24  Bruno Haible  <bruno@clisp.org>
28916
28917         vasnprintf: Correct errno value in case of out-of-memory.
28918         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
28919         or sprintf. Use the errno value from SNPRINTF or sprintf.
28920         Reported by Ian Beckwith <ianb@erislabs.net>.
28921
28922 2010-04-24  Bruno Haible  <bruno@clisp.org>
28923
28924         ansi-c++-opt: Find correct compiler when cross-compiling.
28925         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
28926         AC_CHECK_PROGS.
28927         Reported by Simon Josefsson.
28928
28929 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
28930
28931         vc-list-files: Add support for subversion
28932         * build-aux/vc-list-files: Use "svn list" to generate the list of
28933         files controlled by subversion.
28934
28935 2010-04-23  Jim Meyering  <meyering@redhat.com>
28936
28937         vc-list-files tests: convert to use init.sh
28938         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
28939         path_prepend_.
28940         Use Exit, not exit.
28941         Use skip_ rather than open coding it.
28942         Remove trap set-up and compare definitions.
28943         * tests/test-vc-list-files-git.sh: Likewise.
28944         * modules/vc-list-files-tests (Files): Add tests/init.sh.
28945
28946 2010-04-22  Simon Josefsson  <simon@josefsson.org>
28947
28948         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
28949         backup files.
28950
28951 2010-04-21  Simon Josefsson  <simon@josefsson.org>
28952
28953         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
28954
28955 2010-04-20  Eric Blake  <eblake@redhat.com>
28956
28957         tests: be robust to ignored SIGPIPE
28958         * tests/test-select-in.sh: Consume all output.
28959         * tests/test-lseek.sh: Check correct exit status, while avoiding
28960         EPIPE.
28961
28962 2010-04-20  Simon Josefsson  <simon@josefsson.org>
28963             Bruno Haible  <bruno@clisp.org>
28964
28965         visibility: Don't use -fvisibility if it leads to a warning.
28966         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
28967         yes, don't pretend that visibility works if it leads to a warning.
28968         Reported by Mike Gran <spk121@yahoo.com>.
28969
28970 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
28971
28972         * build-aux/bootstrap: Use "git -h" for testing for supported options
28973         instead of "git --help".  The short-form option only shows a summary,
28974         and doesn't layout the full man page.  Grep for the full option name
28975         in the summary, too.
28976
28977 2010-04-19  Bruno Haible  <bruno@clisp.org>
28978
28979         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
28980         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
28981         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
28982         mention of RELOCATABLE_STRIP.
28983         Reported by Sylvain Beucler <beuc@beuc.net>.
28984
28985 2010-04-19  Bruno Haible  <bruno@clisp.org>
28986
28987         * lib/diffseq.h: Fix typo in comment.
28988         Reported by Eric Blake.
28989
28990 2010-04-19  Bruno Haible  <bruno@clisp.org>
28991
28992         ioctl: Move autoconf macro to a .m4 file.
28993         * m4/ioctl.m4: New file, extracted from modules/ioctl.
28994         * modules/ioctl (Files): Add it.
28995         (configure.ac): Simply invoke gl_FUNC_IOCTL.
28996         Reported by Ian Beckwith <ianb@erislabs.net>.
28997
28998 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
28999             Bruno Haible  <bruno@clisp.org>
29000
29001         diffseq: Accommodate use-case with abstract arrays.
29002         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
29003         is not defined.
29004         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
29005         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
29006
29007 2010-04-18  Bruno Haible  <bruno@clisp.org>
29008
29009         * doc/posix-headers/stdbool.texi: More precise wording.
29010
29011 2010-04-17  Jim Meyering  <meyering@redhat.com>
29012
29013         maint.mk: use gnu-style indentation in an embedded perl script
29014         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
29015         Rename variable: s/two/last_two_bytes/
29016
29017 2010-04-16  Eric Blake  <eblake@redhat.com>
29018
29019         test-stdbool: skip test that fails with Solaris CC
29020         * tests/test-stdbool.c (f): Skip test that causes compilation
29021         error under buggy C++ compiler.
29022         * lib/stdbool.in.h: Document the limitation.
29023         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
29024
29025         setenv: allow compilation with C++
29026         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
29027         register keyword.
29028
29029         stdint: allow test to pass with C++
29030         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
29031
29032         getopt: allow compilation with C++
29033         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
29034         struct.
29035         * lib/getopt.c (_getopt_internal_r): Use correct type.
29036         Reported by Dagobert Michelson, via Joel E. Denny.
29037
29038 2010-04-16  Bruno Haible  <bruno@clisp.org>
29039
29040         Override netdb.h always.
29041         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
29042         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
29043         Reported by Ludovic Courtès <ludo@gnu.org>.
29044
29045 2010-04-15  Bruno Haible  <bruno@clisp.org>
29046
29047         openpty: Fix mistake from 2010-03-21.
29048         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
29049         Reported by Simon Josefsson.
29050
29051 2010-04-15  Eric Blake  <eblake@redhat.com>
29052
29053         test-forkpty: fix expected signature
29054         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
29055         Reported by Simon Josefsson.
29056
29057 2010-04-15  Jim Meyering  <meyering@redhat.com>
29058
29059         maint.mk: texinfo_suffix_re_: correct the default regexp
29060         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
29061
29062         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
29063         make it configurable via texinfo_suffix_re_.
29064
29065 2010-04-14  Eric Blake  <eblake@redhat.com>
29066
29067         strtok_r: relax license to LGPLv2+
29068         * modules/strtok_r (License): Relax license.
29069         Reported by Matthias Bolte.
29070
29071 2010-04-14  Simon Josefsson  <simon@josefsson.org>
29072
29073         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
29074         version 1.4.4 by default instead of requiring the libgcrypt
29075         version used during build.  This makes it possible to use the
29076         application with older but still binary compatible libgcrypt
29077         versions.
29078
29079 2010-04-13  Eric Blake  <eblake@redhat.com>
29080
29081         getopt-gnu: match recent glibc fixes and posix ruling
29082         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
29083         '+' handling, when requesting extensions.
29084         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
29085         'W;' handling.
29086         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
29087         * doc/posix-functions/getopt.texi (getopt): Document this.
29088         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
29089         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
29090         Likewise.
29091
29092         getopt: merge bug fixes from glibc
29093         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
29094         diagnostics.  Honor '+:' correctly.  Reject ';'.
29095
29096         getopt-posix: detect MacOS bug
29097         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
29098         optind when missing a required argument.
29099         * doc/posix-functions/getopt.texi (getopt): Document the bug.
29100         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
29101         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
29102         Likewise.
29103
29104         getopt-posix: avoid spurious failure on Solaris
29105         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
29106         an indicator that setting optind=1 is sufficient for reset.
29107
29108         getopt-posix: avoid spurious failure on FreeBSD
29109         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
29110         in POSIX mode, since the m4 test uses it.
29111
29112         gnulib-tool: silence warning on BSD sh
29113         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
29114
29115 2010-04-13  Jim Meyering  <meyering@redhat.com>
29116
29117         doc: users.txt: GNU patch now uses gnulib
29118         * users.txt: Add patch.
29119
29120 2010-04-12  Jim Meyering  <meyering@redhat.com>
29121
29122         maint.mk: generate more concise timing data for syntax-check rules
29123         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
29124         " done" from each line that reports a syntax-check test duration.
29125
29126 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
29127
29128         git-version-gen: use "git update-index..." rather than "git status"
29129         * build-aux/git-version-gen: Use git update-index --refresh, not
29130         "git status".  With some versions of git, "git status" would fail
29131         to update the index and result in an unwarranted "-dirty" suffix.
29132
29133 2010-04-11  Jim Meyering  <meyering@redhat.com>
29134
29135         openat: correct formatting (no semantic change)
29136         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
29137         Suggested by Bruno Haible.
29138
29139 2010-04-11  Bruno Haible  <bruno@clisp.org>
29140
29141         Stricter declaration checking in testdirs.
29142         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
29143         If for_tests is true, augment AM_CPPFLAGS to define
29144         GNULIB_STRICT_CHECKING.
29145         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
29146         GNULIB_STRICT_CHECKING is defined, verify that the function is
29147         declared.
29148
29149 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
29150             Bruno Haible  <bruno@clisp.org>
29151
29152         libunistring: Improve configure output.
29153         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
29154         Don't say "consider installing GNU libunistring" when checking again
29155         with libiconv.
29156
29157 2010-04-11  Bruno Haible  <bruno@clisp.org>
29158
29159         libunistring: Correct value of $LTLIBUNISTRING.
29160         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
29161         correct the value of $LTLIBUNISTRING.
29162
29163 2010-04-11  Bruno Haible  <bruno@clisp.org>
29164
29165         havelib: Add static libraries to LIBS in the right order.
29166         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
29167         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
29168
29169 2010-04-11  Bruno Haible  <bruno@clisp.org>
29170
29171         libunistring: Detect libunistring also when it depends on libiconv.
29172         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
29173         the second AC_LIB_HAVE_LINKFLAGS invocation.
29174
29175 2010-04-11  James Youngman  <jay@gnu.org>
29176
29177         close-stream: declare local scalars to be "const"
29178         * lib/close-stream.c (close_stream): Make boolean variables const
29179         to document the fact that we set but do not change them.
29180
29181 2010-04-11  Bruno Haible  <bruno@clisp.org>
29182
29183         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
29184
29185 2010-04-11  Jim Meyering  <meyering@redhat.com>
29186
29187         maint.mk: don't include dist-check.mk
29188         * top/maint.mk: Remove bogus include directive.
29189
29190         maint.mk: improve empty-line-at-EOF check
29191         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
29192         solution, rather than tail+Perl-based one.  The latter would read
29193         a few kilobytes from the end of each file, and did not handle empty
29194         files properly.
29195
29196         maint.mk: print the elapsed time for each syntax-check rule
29197         * top/maint.mk (sc_m_rules_): Save start time in a file.
29198         (sc_z_rules_): New rules: remove temp file and print elapsed time.
29199         (local-check): Interpose the .z rules
29200
29201 2010-04-11  Jim Meyering  <meyering@redhat.com>
29202
29203         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
29204         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
29205         empty file with one that ends in an empty line.
29206
29207 2010-04-10  Bruno Haible  <bruno@clisp.org>
29208
29209         mkdir: Make it work on mingw64.
29210         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
29211         * lib/mkdir.c: Update comment.
29212         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
29213
29214 2010-04-10  Bruno Haible  <bruno@clisp.org>
29215
29216         Don't override improved macro from newer autoconf.
29217         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
29218         autoconf >= 2.62.
29219         Reported by Joel E. Denny <jdenny@clemson.edu>.
29220
29221 2010-04-10  Jim Meyering  <meyering@redhat.com>
29222
29223         maint.mk: new syntax-check rule: prohibit empty lines at end of file
29224         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
29225
29226         maint.mk: correct a diagnostic
29227         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
29228         in diagnostic; now use $prohibit.
29229
29230 2010-04-10  Bruno Haible  <address@hidden>
29231
29232         fchownat: Fix a C++ test error on Solaris 8.
29233         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
29234         the function does not exist.
29235
29236 2010-04-10  Bruno Haible  <bruno@clisp.org>
29237
29238         vasnprintf: Add more tests.
29239         * tests/test-vasnprintf-posix.c: Include <errno.h>.
29240         (test_function): Test converting an invalid wide string.
29241
29242         vasnprintf: Correct handling of unconvertible wide string arguments.
29243         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
29244         VASNPRINTF.
29245         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
29246         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
29247         smaller than the expected maximum need for the directive. Set errno to
29248         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
29249         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
29250         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
29251         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
29252         * modules/vasnprintf (Files): Add m4/printf.m4.
29253         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
29254
29255 2010-04-10  Bruno Haible  <bruno@clisp.org>
29256
29257         vasnprintf: Fix crash in %ls directive.
29258         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
29259         string is passed as argument to %ls, with no precision and no width.
29260         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
29261
29262 2010-04-10  Bruno Haible  <bruno@clisp.org>
29263
29264         vasnprintf: Fix multiple test failures on mingw.
29265         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
29266         _snprintf, or snwprintf, not _snwprintf.
29267
29268 2010-04-10  Bruno Haible  <bruno@clisp.org>
29269
29270         write: Fix a C++ test error on mingw.
29271         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
29272
29273 2010-04-10  Bruno Haible  <bruno@clisp.org>
29274
29275         vasnprintf test: Reduce code duplication.
29276         * tests/test-vasnprintf.c (test_function): New function, extracted from
29277         test_vasnprintf.
29278         (test_vasnprintf, test_asnprintf): Invoke it.
29279
29280 2010-04-10  Bruno Haible  <bruno@clisp.org>
29281
29282         strnlen: Fix warning in C++ mode on MacOS X.
29283         * lib/string.in.h (strnlen): Use the modern idiom.
29284         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
29285         defining strnlen as a macro already in <config.h>.
29286         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
29287         REPLACE_STRNLEN.
29288         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
29289         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
29290
29291 2010-04-08  James Youngman  <jay@gnu.org>
29292
29293         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
29294         the example.
29295
29296 2010-04-09  Jim Meyering  <meyering@redhat.com>
29297
29298         maint.mk: print better diagnostic when there is no $(_hv_file)
29299         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
29300         announce that when $(_hv_file) (aka help-version) does not exist.
29301
29302         init.sh: run tr in the "C" locale to avoid multibyte interpretation
29303         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
29304         not try to interpret its random input bytes.  Jarno Rajahalme reported
29305         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
29306         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
29307         (mktempd_): Likewise, just in case.
29308
29309         ftruncate: add two years to projected module removal date: 2012
29310         * m4/ftruncate.m4: Adjust comments.
29311
29312         ftruncate: mark module as obsolete; even MinGW provides it, now
29313         * modules/ftruncate (Status): Obsolete.
29314         (Notice): Say that.
29315         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
29316         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
29317
29318 2010-04-08  Bruno Haible  <bruno@clisp.org>
29319
29320         Fix side effects from tests-related modules.
29321         * modules/dprintf-posix (Comment): New section.
29322         * modules/fprintf-posix (Comment): Likewise.
29323         * modules/obstack-printf-posix (Comment): Likewise.
29324         * modules/printf-posix (Comment): Likewise.
29325         * modules/snprintf-posix (Comment): Likewise.
29326         * modules/sprintf-posix (Comment): Likewise.
29327         * modules/vasnprintf-posix (Comment): Likewise.
29328         * modules/vasprintf-posix (Comment): Likewise.
29329         * modules/vdprintf-posix (Comment): Likewise.
29330         * modules/vfprintf-posix (Comment): Likewise.
29331         * modules/vprintf-posix (Comment): Likewise.
29332         * modules/vsnprintf-posix (Comment): Likewise.
29333         * modules/vsprintf-posix (Comment): Likewise.
29334         * modules/xprintf-posix (Comment): Likewise.
29335         * modules/xvasprintf-posix (Comment): Likewise.
29336         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
29337         * modules/floorf-tests (Depends-on): Likewise.
29338         * modules/round-tests (Depends-on): Likewise.
29339         * modules/roundf-tests (Depends-on): Likewise.
29340         * modules/trunc-tests (Depends-on): Likewise.
29341         * modules/truncf-tests (Depends-on): Likewise.
29342         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
29343         'fprintf-posix' module is not present.
29344         * tests/test-floorf2.c (check): Likewise.
29345         * tests/test-trunc2.c (check): Likewise.
29346         * tests/test-truncf2.c (check): Likewise.
29347         * tests/test-round2.c (equal): Likewise.
29348         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
29349
29350 2010-04-07  Karl Berry  <karl@gnu.org>
29351
29352         * config/srclist.txt,
29353         * config/srclistvars.sh,
29354         * config/srclist-update: doc fixes.
29355
29356 2010-04-07  Jim Meyering  <meyering@redhat.com>
29357
29358         maint.mk: add a PATH crosschecking syntax-check rule
29359         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
29360         Useful if you use a test like the one in help-version (coreutils,
29361         diffutils, grep, gzip) that ensures $(VERSION) matches what is
29362         printed by prog --version.
29363
29364 2010-04-06  Bruno Haible  <bruno@clisp.org>
29365
29366         Fix link error on mingw.
29367         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
29368         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
29369
29370 2010-04-06  Bruno Haible  <bruno@clisp.org>
29371
29372         Assume rmdir exists.
29373         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
29374
29375 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
29376
29377         doc: update users.txt
29378         * users.txt: Add gcal.
29379
29380 2010-04-06  Jim Meyering  <meyering@redhat.com>
29381
29382         init.sh: simply unset TMPDIR rather than risking env -i
29383         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
29384         although it probably works fine on all Unix-based systems, some
29385         systems (Cygwin?) cannot tolerate a totally cleared environment.
29386         Suggestion from Eric Blake.
29387
29388 2010-04-06  Jim Meyering  <meyering@redhat.com>
29389
29390         init.sh: portability fix: use env's POSIX-specified -i option not -u
29391         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
29392         than unportable env -u.  Solaris 5.11's env lacks support for -u.
29393
29394 2010-04-05  Bruno Haible  <bruno@clisp.org>
29395
29396         btowc: Work around Cygwin 1.7.2 bug.
29397         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
29398         does not map NUL to 0.
29399         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
29400
29401 2010-04-05  Bruno Haible  <bruno@clisp.org>
29402
29403         Make the multithread modules work on Cygwin 1.7.2.
29404         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
29405         imported symbols can be declared weak, so that it returns "no" on
29406         Cygwin 1.7.2.
29407
29408 2010-04-05  Bruno Haible  <bruno@clisp.org>
29409
29410         Use the module 'strncat'.
29411         * modules/unistr/u8-strncat (Depends-on): Add strncat.
29412
29413         Tests for module 'strncat'.
29414         * modules/strncat-tests: New file.
29415         * tests/test-strncat.c: New file.
29416
29417         New module 'strncat'.
29418         * lib/string.in.h (strncat): New declaration.
29419         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
29420         * m4/strncat.m4: New file, based on m4/memchr.m4.
29421         * modules/strncat: New file.
29422         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
29423         is declared.
29424         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
29425         REPLACE_STRNCAT.
29426         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
29427         REPLACE_STRNCAT.
29428         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
29429         module.
29430         * tests/test-string-c++.cc: Check signature of strncat.
29431
29432 2010-04-05  Jim Meyering  <meyering@redhat.com>
29433
29434         xstrtoumax-tests: convert to use init.sh
29435         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
29436         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
29437         Use Exit, not exit.
29438         Remove uses of $EXEEXT and "./" to run a program in the current dir.
29439
29440         xstrtoimax-tests: convert to use init.sh
29441         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
29442         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
29443         Use Exit, not exit.
29444         Remove uses of $EXEEXT and "./" to run a program in the current dir.
29445
29446 2010-04-05  Bruno Haible  <bruno@clisp.org>
29447
29448         sys_socket: Avoid #define replacements in C++ mode.
29449         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
29450         warning to the function if possible, rather than #defining the symbol
29451         to a dysfunctional alias.
29452
29453 2010-04-05  Bruno Haible  <bruno@clisp.org>
29454
29455         fseeko: Fix C++ test error on mingw.
29456         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
29457         gl_FUNC_FSEEKO.
29458         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
29459         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
29460         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
29461         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
29462
29463 2010-04-05  Bruno Haible  <bruno@clisp.org>
29464
29465         duplocale: Improve test output.
29466         * tests/test-duplocale.c (main): Print reason for skipped test.
29467
29468 2010-04-05  Bruno Haible  <bruno@clisp.org>
29469
29470         Assume rmdir exists.
29471         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
29472         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
29473
29474 2010-04-05  Bruno Haible  <bruno@clisp.org>
29475
29476         Fix link error on Solaris 8 with cc.
29477         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
29478
29479 2010-04-05  Bruno Haible  <bruno@clisp.org>
29480
29481         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
29482         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
29483
29484 2010-04-05  Bruno Haible  <bruno@clisp.org>
29485
29486         vasprintf: Update documentation.
29487         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
29488
29489 2010-04-05  Bruno Haible  <bruno@clisp.org>
29490
29491         ptsname: Improve test.
29492         * tests/test-ptsname.c (main): Also try the various master names of BSD
29493         systems.
29494
29495 2010-04-05  Bruno Haible  <bruno@clisp.org>
29496
29497         memchr: Avoid a possible C++ test error.
29498         * lib/string.in.h (memchr): Provide declaration if function is missing.
29499         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
29500         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
29501         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
29502         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
29503
29504 2010-04-05  Bruno Haible  <bruno@clisp.org>
29505
29506         strtok_r: Improve idiom.
29507         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
29508         AC_LIBOBJ is used.
29509
29510 2010-04-05  Bruno Haible  <bruno@clisp.org>
29511
29512         strdup: Improve idiom.
29513         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
29514         AC_LIBOBJ is used.
29515         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
29516         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
29517         when AC_LIBOBJ is used.
29518
29519 2010-04-05  Bruno Haible  <bruno@clisp.org>
29520
29521         mbsinit, mbrtowc, wcrtomb: Improve idioms.
29522         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
29523         don't set REPLACE_MBSINIT to 1.
29524         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
29525         don't set REPLACE_MBRTOWC to 1.
29526         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
29527         exist, don't set REPLACE_MBSRTOWCS to 1.
29528         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
29529         exist, don't set REPLACE_MBSNRTOWCS to 1.
29530         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
29531         don't set REPLACE_WCRTOMB to 1.
29532         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
29533         exist, don't set REPLACE_WCSRTOMBS to 1.
29534         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
29535         exist, don't set REPLACE_WCSNRTOMBS to 1.
29536
29537 2010-04-05  Bruno Haible  <bruno@clisp.org>
29538
29539         ldexpl: Improve idiom.
29540         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
29541         make sure to set HAVE_DECL_LDEXPL to 0.
29542
29543 2010-04-05  Jim Meyering  <meyering@redhat.com>
29544
29545         xstrtol-tests: convert to use init.sh
29546         * modules/xstrtol-tests (Files): Add tests/init.sh.
29547         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
29548         Use Exit, not exit.
29549         Remove uses of $EXEEXT and "./" to run a program in the current dir.
29550
29551         atexit-tests: convert to use init.sh
29552         * modules/atexit-tests (Files): Add tests/init.sh.
29553         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
29554         Use Exit, not exit.
29555         Remove uses of $EXEEXT and "./" to run a program in the current dir.
29556
29557         init.sh: fix typo
29558         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
29559
29560         init.sh: make it easier for a test script to write to the tty, ...
29561         when using automake's parallel-tests mode.
29562         * tests/init.sh (stderr_fileno_): Define overridable variable.
29563         (warn_): New function, to use it.
29564         (fail_, skip_, framework_failure_): Use warn_.
29565
29566 2010-04-04  Bruno Haible  <bruno@clisp.org>
29567
29568         btowc: Avoid warning.
29569         * lib/btowc.c: Include <stdlib.h>.
29570         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
29571
29572 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
29573             Bruno Haible  <bruno@clisp.org>
29574
29575         wchar: Port to NetBSD 1.5.
29576         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
29577         * lib/wctype.in.h (WEOF): Likewise.
29578
29579 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
29580             Bruno Haible  <bruno@clisp.org>
29581
29582         Port extended stdio to NetBSD 1.5.
29583         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
29584         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
29585         older.
29586
29587 2010-04-04  Bruno Haible  <bruno@clisp.org>
29588
29589         string: Remove unused substitution.
29590         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
29591         HAVE_DECL_STRERROR.
29592         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
29593
29594 2010-04-04  Bruno Haible  <bruno@clisp.org>
29595
29596         strtod: Avoid a possible C++ test error.
29597         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
29598         set REPLACE_STRTOD.
29599
29600 2010-04-04  Bruno Haible  <bruno@clisp.org>
29601
29602         strerror: Update documentation.
29603         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
29604
29605 2010-04-04  Bruno Haible  <bruno@clisp.org>
29606
29607         stdio: Fix some C++ test errors on Solaris 8 with GCC.
29608         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
29609         _GL_CXXALIAS_SYS_CAST.
29610
29611 2010-04-04  Bruno Haible  <bruno@clisp.org>
29612
29613         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
29614         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
29615         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
29616         REPLACE_FREXPL to 1.
29617         * doc/posix-functions/frexpl.texi: Update documentation.
29618
29619 2010-04-04  Bruno Haible  <bruno@clisp.org>
29620
29621         math: Fix some C++ test errors on Solaris 8 and Cygwin.
29622         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
29623
29624 2010-04-04  Bruno Haible  <bruno@clisp.org>
29625
29626         Implement nanosleep for native Windows.
29627         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
29628
29629 2010-04-04  Bruno Haible  <bruno@clisp.org>
29630
29631         math: Fix some C++ test errors on Solaris 8.
29632         * lib/math.in.h (truncf, trunc): Use simpler idiom.
29633
29634 2010-04-04  Bruno Haible  <bruno@clisp.org>
29635
29636         math: Fix some C++ test errors on Cygwin.
29637         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
29638         truncl): Provide declaration if the system does not have it.
29639         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
29640         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
29641         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
29642         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
29643         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
29644         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
29645         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
29646         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
29647         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
29648         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
29649         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
29650         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
29651         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
29652         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
29653         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
29654         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
29655         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
29656         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
29657         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
29658         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
29659         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
29660         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
29661
29662 2010-04-04  Bruno Haible  <bruno@clisp.org>
29663
29664         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
29665         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
29666         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
29667         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
29668         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
29669         * m4/isinf.m4 (gl_ISINF): Likewise.
29670         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
29671
29672 2010-04-04  Bruno Haible  <bruno@clisp.org>
29673
29674         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
29675         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
29676
29677 2010-04-04  Bruno Haible  <bruno@clisp.org>
29678
29679         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
29680         * modules/tmpfile (configure.ac): Update.
29681
29682         tmpfile: Fix C++ test error on mingw.
29683         * lib/stdio.in.h (tmpfile): New declaration.
29684         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
29685         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
29686         * modules/tmpfile (Depends-on): Add stdio.
29687         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
29688         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
29689         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
29690         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
29691         REPLACE_TMPFILE.
29692         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
29693
29694 2010-04-04  Bruno Haible  <bruno@clisp.org>
29695
29696         ioctl: Fix C++ test error on mingw.
29697         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
29698         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
29699         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
29700
29701 2010-04-03  Bruno Haible  <bruno@clisp.org>
29702
29703         wcwidth: Fix C++ test error on mingw.
29704         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
29705         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
29706         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
29707
29708 2010-04-03  Bruno Haible  <bruno@clisp.org>
29709
29710         nanosleep: Fix C++ test error on mingw.
29711         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
29712         * lib/time.in.h (nanosleep): Use modern idiom.
29713         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
29714         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
29715         REPLACE_NANOSLEEP to 1.
29716         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
29717         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
29718
29719 2010-04-03  Bruno Haible  <bruno@clisp.org>
29720
29721         strptime: Fix C++ test error on mingw.
29722         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
29723         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
29724         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
29725         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
29726         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
29727         not REPLACE_STRPTIME.
29728         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
29729         REPLACE_STRPTIME.
29730
29731 2010-04-03  Bruno Haible  <bruno@clisp.org>
29732
29733         timegm: Fix C++ test error on mingw.
29734         * lib/time.in.h (timegm): Use modern idiom.
29735         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
29736         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
29737         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
29738         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
29739
29740 2010-04-03  Bruno Haible  <bruno@clisp.org>
29741
29742         timegm: Assume declaration if function exists.
29743         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
29744         if it exists. Don't clobber ac_cv_func_timegm.
29745
29746 2010-04-03  Bruno Haible  <bruno@clisp.org>
29747
29748         time_r: Fix C++ test error on mingw.
29749         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
29750         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
29751         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
29752         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
29753         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
29754
29755 2010-04-03  Bruno Haible  <bruno@clisp.org>
29756
29757         time_r: Minor updates.
29758         * modules/time_r (Description): Mention the provided functions.
29759         * lib/time_r.c: Don't include <string.h>.
29760         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
29761         * doc/posix-functions/localtime_r.texi: Likewise.
29762
29763 2010-04-03  Bruno Haible  <bruno@clisp.org>
29764
29765         time: Fix regression introduced on 2010-03-08.
29766         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
29767         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
29768
29769 2010-04-03  Jim Meyering  <meyering@redhat.com>
29770
29771         maint.mk: don't silently disable project-specific syntax-check rules
29772         * top/maint.mk (_prohibit_regexp): Define, to help people realize
29773         that they need to convert their project-specific syntax-check rules
29774         to use the new _sc_search_regexp.
29775
29776 2010-04-03  Bruno Haible  <bruno@clisp.org>
29777
29778         fchdir: Fix regression introduced on 2010-03-08.
29779         * lib/unistd.in.h (fchdir): Fix declaration.
29780         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
29781         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
29782         REPLACE_FCHDIR.
29783         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
29784         REPLACE_FCHDIR.
29785
29786 2010-04-03  Bruno Haible  <bruno@clisp.org>
29787
29788         getpagesize: Fix C++ test error on mingw.
29789         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
29790         system does not declare the function.
29791         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
29792         declared.
29793         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29794         HAVE_DECL_GETPAGESIZE.
29795         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
29796
29797 2010-04-03  Bruno Haible  <bruno@clisp.org>
29798
29799         stdio: Make C++ tests work on mingw.
29800         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
29801         does not declare the function.
29802
29803 2010-04-03  Bruno Haible  <bruno@clisp.org>
29804
29805         ftello: Fix C++ test error on mingw.
29806         * lib/stdio.in.h (ftello): Use modern idiom.
29807         * lib/ftello.c (ftello): Renamed from rpl_ftello.
29808         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
29809         is missing and that it needs to be replaced.
29810         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
29811         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
29812         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
29813
29814 2010-04-03  Bruno Haible  <bruno@clisp.org>
29815
29816         fseeko: Fix C++ test error on mingw.
29817         * lib/stdio.in.h (fseeko): Use modern idiom.
29818         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
29819         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
29820         is missing and that it needs to be replaced.
29821         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
29822         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
29823         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
29824
29825 2010-04-03  Bruno Haible  <bruno@clisp.org>
29826
29827         mkstemp: Fix C++ test error on mingw.
29828         * lib/stdlib.in.h (mkstemp): Use modern idiom.
29829         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
29830         function is missing and that it needs to be replaced.
29831         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
29832         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
29833
29834 2010-04-03  Bruno Haible  <bruno@clisp.org>
29835
29836         stpncpy: Fix C++ test error on mingw.
29837         * lib/string.in.h (stpncpy): Use modern idiom.
29838         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
29839         function is missing and that it needs to be replaced.
29840         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
29841         REPLACE_STPNCPY.
29842         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
29843
29844 2010-04-03  Bruno Haible  <bruno@clisp.org>
29845
29846         sys_stat: Fix C++ test error on mingw.
29847         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
29848         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
29849
29850 2010-04-03  Bruno Haible  <bruno@clisp.org>
29851
29852         pty: Update doc.
29853         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
29854
29855 2010-04-03  Bruno Haible  <bruno@clisp.org>
29856
29857         unistd: Fix C++ test error on mingw.
29858         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
29859
29860 2010-04-03  Bruno Haible  <bruno@clisp.org>
29861
29862         Update doc regarding mingw.
29863         * doc/glibc-functions/openpty.texi: Update regarding mingw.
29864         * doc/glibc-functions/login_tty.texi: Likewise.
29865         * doc/glibc-functions/forkpty.texi: Likewise.
29866
29867 2010-04-03  Bruno Haible  <bruno@clisp.org>
29868
29869         stdlib: Avoid compilation failure of c-strtold on mingw.
29870         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
29871
29872 2010-04-03  Bruno Haible  <bruno@clisp.org>
29873
29874         locale: Make C++ tests work on Cygwin and mingw.
29875         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
29876         cannot provide the function.
29877         Reported by Simon Josefsson.
29878
29879 2010-04-03  Bruno Haible  <bruno@clisp.org>
29880
29881         localename: Port to MacOS X 10.6.
29882         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
29883         memory layout of the locales in MacOS X 10.6 as well.
29884         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
29885
29886 2010-04-02  Bruno Haible  <bruno@clisp.org>
29887
29888         gnulib-tool: Ensure that long-running tests are executed last.
29889         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
29890         running tests after the one for the other tests.
29891
29892 2010-04-02  Bruno Haible  <bruno@clisp.org>
29893
29894         gnulib-tool: Ensure the tests in the main directory are executed first.
29895         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
29896         start with the current directory.
29897
29898 2010-04-02  Bruno Haible  <bruno@clisp.org>
29899
29900         Tests for module 'havelib', moved here from GNU gettext.
29901         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
29902         modifications.
29903         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
29904         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
29905         with modifications.
29906         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
29907         modifications.
29908         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
29909         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
29910         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
29911         with modifications.
29912         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
29913         with modifications.
29914         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
29915         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
29916         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
29917         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
29918         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
29919         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
29920         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
29921         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
29922         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
29923         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
29924         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
29925         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
29926         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
29927         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
29928         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
29929         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
29930         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
29931         with modifications.
29932         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
29933         with modifications.
29934         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
29935         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
29936         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
29937         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
29938         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
29939         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
29940         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
29941         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
29942         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
29943         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
29944         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
29945         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
29946         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
29947         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
29948         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
29949         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
29950         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
29951         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
29952         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
29953         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
29954         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
29955         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
29956         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
29957         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
29958         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
29959         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
29960         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
29961         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
29962         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
29963         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
29964         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
29965         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
29966         * tests/havelib/rpathx/rpathx.c: New file, from
29967         gettext/autoconf-lib-link.
29968         * tests/havelib/rpathx/Makefile.am: New file, from
29969         gettext/autoconf-lib-link.
29970         * tests/havelib/rpathx/configure.ac: New file, from
29971         gettext/autoconf-lib-link with modifications.
29972         * tests/havelib/rpathy/rpathy.c: New file, from
29973         gettext/autoconf-lib-link.
29974         * tests/havelib/rpathy/Makefile.am: New file, from
29975         gettext/autoconf-lib-link.
29976         * tests/havelib/rpathy/configure.ac: New file, from
29977         gettext/autoconf-lib-link with modifications.
29978         * tests/havelib/rpathz/rpathz.c: New file, from
29979         gettext/autoconf-lib-link.
29980         * tests/havelib/rpathz/Makefile.am: New file, from
29981         gettext/autoconf-lib-link.
29982         * tests/havelib/rpathz/configure.ac: New file, from
29983         gettext/autoconf-lib-link with modifications.
29984         * tests/havelib/rpathlx/usex.c: New file, from
29985         gettext/autoconf-lib-link.
29986         * tests/havelib/rpathlx/Makefile.am: New file, from
29987         gettext/autoconf-lib-link.
29988         * tests/havelib/rpathlx/configure.ac: New file, from
29989         gettext/autoconf-lib-link with modifications.
29990         * tests/havelib/rpathly/usey.c: New file, from
29991         gettext/autoconf-lib-link.
29992         * tests/havelib/rpathly/Makefile.am: New file, from
29993         gettext/autoconf-lib-link.
29994         * tests/havelib/rpathly/configure.ac: New file, from
29995         gettext/autoconf-lib-link with modifications.
29996         * tests/havelib/rpathlz/usez.c: New file, from
29997         gettext/autoconf-lib-link.
29998         * tests/havelib/rpathlz/Makefile.am: New file, from
29999         gettext/autoconf-lib-link.
30000         * tests/havelib/rpathlz/configure.ac: New file, from
30001         gettext/autoconf-lib-link with modifications.
30002         * tests/havelib/rpathlyx/usey.c: New file, from
30003         gettext/autoconf-lib-link.
30004         * tests/havelib/rpathlyx/Makefile.am: New file, from
30005         gettext/autoconf-lib-link.
30006         * tests/havelib/rpathlyx/configure.ac: New file, from
30007         gettext/autoconf-lib-link with modifications.
30008         * tests/havelib/rpathlzyx/usez.c: New file, from
30009         gettext/autoconf-lib-link.
30010         * tests/havelib/rpathlzyx/Makefile.am: New file, from
30011         gettext/autoconf-lib-link.
30012         * tests/havelib/rpathlzyx/configure.ac: New file, from
30013         gettext/autoconf-lib-link with modifications.
30014         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
30015         with modifications.
30016
30017 2010-04-02  Bruno Haible  <bruno@clisp.org>
30018
30019         gnulib-tool: Create distributed built sources also for the tests.
30020         * gnulib-tool (func_create_testdir): Also generate distributed built
30021         sources in the tests directory.
30022
30023 2010-04-02  Bruno Haible  <bruno@clisp.org>
30024
30025         gnulib-tool: Obey user's environment variables.
30026         * gnulib-tool (func_create_testdir): When creating built sources,
30027         respect the environment variables for autoconf, automake, etc. given by
30028         the user.
30029
30030 2010-04-02  Bruno Haible  <bruno@clisp.org>
30031
30032         gnulib-tool: Provide the value of --m4-base to modules.
30033         * gnulib-tool (func_import, func_create_testdir): Emit a definition
30034         of gl_m4_base.
30035
30036 2010-04-02  Eric Blake  <eblake@redhat.com>
30037
30038         maint.mk: fix some fallout
30039         * NEWS: Document the incompatible change, and its effect on cfg.mk.
30040         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
30041
30042 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
30043
30044         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
30045         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
30046         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
30047         (sc_cast_of_x_alloc_return_value): Likewise.
30048         (sc_cast_of_alloca_return_value): Likewise.
30049         (sc_space_tab): Likewise.
30050         (sc_prohibit_atoi_atof): Likewise.
30051         (sc_prohibit_magic_number_exit): Likewise.
30052         (sc_error_exit_success): Likewise.
30053         (sc_file_system): Likewise.
30054         (sc_prohibit_have_config_h): Likewise.
30055         (sc_require_config_h): Likewise.
30056         (sc_prohibit_HAVE_MBRTOWC): Likewise.
30057         (sc_obsolete_symbols): Likewise.
30058         (sc_changelog): Likewise.
30059         (sc_program_name): Likewise.
30060         (sc_the_the): Likewise.
30061         (sc_trailing_blank): Likewise.
30062         (sc_two_space_separator_in_usage): Likewise.
30063         (sc_useless_cpp_parens): Likewise.
30064         (sc_GPL_version): Likewise.
30065         (sc_GFDL_version): Likewise.
30066         (sc_texinfo_acronym): Likewise.
30067         (sc_prohibit_cvs_keyword): Likewise.
30068         (sc_prohibit_stat_st_blocks): Likewise.
30069         (sc_prohibit_S_IS_definition): Likewise.
30070         (sc_redundant_const): Likewise.
30071         (sc_makefile_TAB_only_indentation): Likewise.
30072         (sc_m4_quote_check): Likewise.
30073         (sc_makefile_path_separator_check): Likewise.
30074         (sc_copyright_check): Likewise.
30075         (sc_Wundef_boolean): Likewise.
30076         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
30077
30078         maint.mk: match 0 or more whitespace-before-function-call '('
30079         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
30080         that have zero or two-and-more spaces between the function name
30081         and the open parenthesis.
30082         (sc_error_message_warn_fatal): Likewise.
30083         (sc_error_message_uppercase): Likewise.
30084         (sc_error_message_period): Likewise.
30085
30086 2010-03-31  Eric Blake  <eblake@redhat.com>
30087
30088         maint.mk: check for [ as well as test
30089         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
30090         Based on a libvirt report by Matthias Bolte.
30091
30092         gnumakefile: don't squelch _version output
30093         * top/GNUmakefile (_version): Create one-shot dependency rather
30094         than using $(shell) when version must be regenerated.
30095         (_autoreconf): Run verbosely, by default.
30096
30097         sys_time: avoid compiler warnings
30098         * lib/sys_time.in.h (includes): Ensure gcc pragma is
30099         unconditional, fixing regression from 2010-03-29.
30100         Reported by Simon Josefsson.
30101
30102 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
30103
30104         maint.mk: s/_header_without_use/_sc_header_without_use/
30105         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
30106         (sc_prohibit_assert_without_use): Use the new name.
30107         (sc_prohibit_close_stream_without_use): Likewise.
30108         (sc_prohibit_getopt_without_use): Likewise.
30109         (sc_prohibit_quotearg_without_use): Likewise.
30110         (sc_prohibit_quote_without_use): Likewise.
30111         (sc_prohibit_long_options_without_use): Likewise.
30112         (sc_prohibit_inttostr_without_use): Likewise.
30113         (sc_prohibit_ignore_value_without_use): Likewise.
30114         (sc_prohibit_error_without_use): Likewise.
30115         (sc_prohibit_xalloc_without_use): Likewise.
30116         (sc_prohibit_hash_without_use): Likewise.
30117         (sc_prohibit_hash_pjw_without_use): Likewise.
30118         (sc_prohibit_safe_read_without_use): Likewise.
30119         (sc_prohibit_argmatch_without_use): Likewise.
30120         (sc_prohibit_canonicalize_without_use): Likewise.
30121         (sc_prohibit_root_dev_ino_without_use): Likewise.
30122         (sc_prohibit_openat_without_use): Likewise.
30123         (sc_prohibit_c_ctype_without_use): Likewise.
30124         (sc_prohibit_signal_without_use): Likewise.
30125         (sc_prohibit_intprops_without_use): Likewise.
30126
30127 2010-03-30  Eric Blake  <eblake@redhat.com>
30128
30129         maint: improve module indicators
30130         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
30131         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
30132         columns, and avoid extra macro expansion.
30133
30134         fdopendir: work around FreeBSD bug
30135         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
30136         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
30137         * modules/dirent (Makefile.am): Substitute it.
30138         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
30139         declaration.
30140         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
30141         fix.
30142         Reported by Christian Weisgerber <naddy@mips.inka.de>.
30143
30144 2010-03-29  Bruno Haible  <bruno@clisp.org>
30145
30146         Emit #pragma system_header after the inclusion guard, not before.
30147         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
30148         guard that spans the entire file, not before. This enables an
30149         optimization in GCC's preprocessor.
30150         * lib/ctype.in.h: Likewise.
30151         * lib/dirent.in.h: Likewise.
30152         * lib/errno.in.h: Likewise.
30153         * lib/float.in.h: Likewise.
30154         * lib/getopt.in.h: Likewise.
30155         * lib/iconv.in.h: Likewise.
30156         * lib/langinfo.in.h: Likewise.
30157         * lib/locale.in.h: Likewise.
30158         * lib/math.in.h: Likewise.
30159         * lib/netdb.in.h: Likewise.
30160         * lib/netinet_in.in.h: Likewise.
30161         * lib/pty.in.h: Likewise.
30162         * lib/sched.in.h: Likewise.
30163         * lib/se-selinux.in.h: Likewise.
30164         * lib/search.in.h: Likewise.
30165         * lib/spawn.in.h: Likewise.
30166         * lib/stdarg.in.h: Likewise.
30167         * lib/stdint.in.h: Likewise.
30168         * lib/string.in.h: Likewise.
30169         * lib/strings.in.h: Likewise.
30170         * lib/sys_file.in.h: Likewise.
30171         * lib/sys_ioctl.in.h: Likewise.
30172         * lib/sys_time.in.h: Likewise.
30173         * lib/sys_times.in.h: Likewise.
30174         * lib/sys_utsname.in.h: Likewise.
30175         * lib/sys_wait.in.h: Likewise.
30176         * lib/sysexits.in.h: Likewise.
30177         * lib/wctype.in.h: Likewise.
30178
30179 2010-03-28  James Youngman  <jay@gnu.org>
30180
30181         save-cwd: don't leak a file descriptor when the caller execs.
30182         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
30183         saved file descriptor.
30184         * modules/save-cwd (Depends-on): Depend on cloexec.
30185
30186 2010-03-29  Bruno Haible  <bruno@clisp.org>
30187
30188         Remove vestiges of fts-lgpl module.
30189         * lib/fts_.h: Assume GNULIB_FTS is 1.
30190         * lib/fts.c: Likewise.
30191         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
30192
30193 2010-03-28  Bruno Haible  <bruno@clisp.org>
30194
30195         Fix definition of tests witness macro.
30196         * gnulib-tool (func_import): Fix definition of witness macro.
30197
30198 2010-03-28  Bruno Haible  <bruno@clisp.org>
30199
30200         Fix ioctl's protoype on glibc systems.
30201         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
30202         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
30203         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
30204         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
30205         signature. If not, arrange to replace the ioctl function.
30206         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
30207         REPLACE_IOCTL.
30208         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
30209         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
30210         Reported by Ludovic Courtès <ludo@gnu.org>.
30211
30212 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
30213
30214         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
30215         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
30216         made it so grep -r --include=GLOB* ... did not work.
30217
30218 2010-03-26  Jim Meyering  <meyering@redhat.com>
30219             Eric Blake  <eblake@redhat.com>
30220
30221         maint.mk: prohibit use of test's -o and -a operators
30222         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
30223
30224 2010-03-28  Bruno Haible  <bruno@clisp.org>
30225
30226         Remove unused GNULIB_XYZ macro definitions.
30227         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
30228         invocation.
30229
30230 2010-03-28  Bruno Haible  <bruno@clisp.org>
30231
30232         Mark privileged tests modules.
30233         * modules/idpriv-drop-tests (Status): New section.
30234         * modules/idpriv-droptemp-tests (Status): New section.
30235
30236 2010-03-28  Bruno Haible  <bruno@clisp.org>
30237
30238         Split C++ tests into separate tests modules.
30239         * modules/dirent-c++-tests: New file, extracted from
30240         modules/dirent-tests.
30241         * modules/dirent-tests: Depend on it.
30242         * modules/fcntl-h-c++-tests: New file, extracted from
30243         modules/fcntl-h-tests.
30244         * modules/fcntl-h-tests: Depend on it.
30245         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
30246         * modules/glob-tests: Depend on it.
30247         * modules/iconv-h-c++-tests: New file, extracted from
30248         modules/iconv-h-tests.
30249         * modules/iconv-h-tests: Depend on it.
30250         * modules/langinfo-c++-tests: New file, extracted from
30251         modules/langinfo-tests.
30252         * modules/langinfo-tests: Depend on it.
30253         * modules/locale-c++-tests: New file, extracted from
30254         modules/locale-tests.
30255         * modules/locale-tests: Depend on it.
30256         * modules/math-c++-tests: New file, extracted from modules/math-tests.
30257         * modules/math-tests: Depend on it.
30258         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
30259         * modules/pty-tests: Depend on it.
30260         * modules/search-c++-tests: New file, extracted from
30261         modules/search-tests.
30262         * modules/search-tests: Depend on it.
30263         * modules/signal-c++-tests: New file, extracted from
30264         modules/signal-tests.
30265         * modules/signal-tests: Depend on it.
30266         * modules/spawn-c++-tests: New file, extracted from
30267         modules/spawn-tests.
30268         * modules/spawn-tests: Depend on it.
30269         * modules/stdio-c++-tests: New file, extracted from
30270         modules/stdio-tests.
30271         * modules/stdio-tests: Depend on it.
30272         * modules/stdlib-c++-tests: New file, extracted from
30273         modules/stdlib-tests.
30274         * modules/stdlib-tests: Depend on it.
30275         * modules/string-c++-tests: New file, extracted from
30276         modules/string-tests.
30277         * modules/string-tests: Depend on it.
30278         * modules/sys_ioctl-c++-tests: New file, extracted from
30279         modules/sys_ioctl-tests.
30280         * modules/sys_ioctl-tests: Depend on it.
30281         * modules/sys_select-c++-tests: New file, extracted from
30282         modules/sys_select-tests.
30283         * modules/sys_select-tests: Depend on it.
30284         * modules/sys_socket-c++-tests: New file, extracted from
30285         modules/sys_socket-tests.
30286         * modules/sys_socket-tests: Depend on it.
30287         * modules/sys_stat-c++-tests: New file, extracted from
30288         modules/sys_stat-tests.
30289         * modules/sys_stat-tests: Depend on it.
30290         * modules/sys_time-c++-tests: New file, extracted from
30291         modules/sys_time-tests.
30292         * modules/sys_time-tests: Depend on it.
30293         * modules/time-c++-tests: New file, extracted from modules/time-tests.
30294         * modules/time-tests: Depend on it.
30295         * modules/unistd-c++-tests: New file, extracted from
30296         modules/unistd-tests.
30297         * modules/unistd-tests: Depend on it.
30298         * modules/wchar-c++-tests: New file, extracted from
30299         modules/wchar-tests.
30300         * modules/wchar-tests: Depend on it.
30301         * modules/wctype-c++-tests: New file, extracted from
30302         modules/wctype-tests.
30303         * modules/wctype-tests: Depend on it.
30304         Reported by Simon Josefsson.
30305
30306 2010-03-28  Bruno Haible  <bruno@clisp.org>
30307
30308         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
30309         * gnulib-tool (func_exists_module): New function, extracted from
30310         func_verify_module.
30311         (func_verify_module): Use it.
30312         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
30313         'foo' only if 'foo' exists.
30314         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
30315         module.
30316
30317 2010-03-28  Bruno Haible  <bruno@clisp.org>
30318
30319         gnulib-tool: Add support for special categories of tests.
30320         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
30321         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
30322         (func_usage): Document them.
30323         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
30324         inc_unportable_tests, inc_all_tests): New variables.
30325         (func_acceptable): Consider these variables.
30326         (func_modules_transitive_closure): Make it work when the 'Status' field
30327         consists of multiple words.
30328         (func_import): Store and restore the values of inc_cxx_tests,
30329         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
30330         inc_all_tests in gnulib-comp.m4.
30331         (func_create_testdir): Set inc_all_tests to true.
30332         * doc/gnulib.texi (Extra tests modules): New section.
30333         Suggested by Jim Meyering.
30334
30335 2010-03-28  Bruno Haible  <bruno@clisp.org>
30336
30337         ansi-c++-opt: Allow turning off the C++ build by default.
30338         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
30339         gl_CXX_CHOICE_DEFAULT_NO is defined.
30340         Requested by Eric Blake.
30341
30342 2010-03-28  Bruno Haible  <bruno@clisp.org>
30343
30344         unistd: Avoid #define replacements in C++ mode.
30345         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
30346         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
30347         setsockopt, shutdown, select): In C++, attach a warning to the function
30348         if possible, rather than #defining the symbol to a dysfunctional alias.
30349         Reported by John W. Eaton <jwe@gnu.org>.
30350
30351 2010-03-28  Bruno Haible  <bruno@clisp.org>
30352
30353         Fix link errors on mingw.
30354         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
30355         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
30356         $(LIBSOCKET).
30357         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
30358         $(LIBSOCKET).
30359
30360 2010-03-28  Bruno Haible  <bruno@clisp.org>
30361             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30362
30363         lib-ignore: Determine different options for different compilers.
30364         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
30365         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
30366         Add comments.
30367         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
30368         * NEWS: Mention the change.
30369
30370 2010-03-27  Bruno Haible  <bruno@clisp.org>
30371
30372         Remove unused GNULIB_XYZ macro definitions.
30373         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
30374         * modules/fseek (configure.ac): Likewise.
30375         * modules/ioctl (configure.ac): Likewise.
30376         * modules/open (configure.ac): Likewise.
30377         * modules/stdlib-safer (configure.ac): Likewise.
30378
30379 2010-03-27  Bruno Haible  <bruno@clisp.org>
30380
30381         Add a remark about certain modules.
30382         * modules/malloc (Comment): New section.
30383         * modules/realloc (Comment): Likewise.
30384         * modules/sigpipe (Comment): Likewise.
30385
30386 2010-03-27  Bruno Haible  <bruno@clisp.org>
30387
30388         Resolve conflict between the two kinds of module indicators.
30389         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
30390         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
30391         * modules/canonicalize (configure.ac): Invoke
30392         gl_MODULE_INDICATOR_FOR_TESTS.
30393         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
30394         GNULIB_XYZ.
30395         * tests/test-dirent-c++.cc: Likewise.
30396         * tests/test-dirent-safer.c: Likewise.
30397         * tests/test-dup2.c: Likewise.
30398         * tests/test-fchdir.c: Likewise.
30399         * tests/test-fcntl-h-c++.cc: Likewise.
30400         * tests/test-getopt.c: Likewise.
30401         * tests/test-getopt.h: Likewise.
30402         * tests/test-langinfo-c++.cc: Likewise.
30403         * tests/test-locale-c++.cc: Likewise.
30404         * tests/test-math-c++.cc: Likewise.
30405         * tests/test-pty-c++.cc: Likewise.
30406         * tests/test-search-c++.cc: Likewise.
30407         * tests/test-signal-c++.cc: Likewise.
30408         * tests/test-spawn-c++.cc: Likewise.
30409         * tests/test-stdio-c++.cc: Likewise.
30410         * tests/test-stdlib-c++.cc: Likewise.
30411         * tests/test-string-c++.cc: Likewise.
30412         * tests/test-sys_ioctl-c++.cc: Likewise.
30413         * tests/test-sys_select-c++.cc: Likewise.
30414         * tests/test-sys_socket-c++.cc: Likewise.
30415         * tests/test-sys_stat-c++.cc: Likewise.
30416         * tests/test-sys_time-c++.cc: Likewise.
30417         * tests/test-time-c++.cc: Likewise.
30418         * tests/test-unistd-c++.cc: Likewise.
30419         * tests/test-wchar-c++.cc: Likewise.
30420         * tests/uninorm/test-u8-nfc.c: Likewise.
30421         * tests/uninorm/test-u8-nfd.c: Likewise.
30422         * tests/uninorm/test-u8-nfkc.c: Likewise.
30423         * tests/uninorm/test-u8-nfkd.c: Likewise.
30424         * tests/uninorm/test-u16-nfc.c: Likewise.
30425         * tests/uninorm/test-u16-nfd.c: Likewise.
30426         * tests/uninorm/test-u16-nfkc.c: Likewise.
30427         * tests/uninorm/test-u16-nfkd.c: Likewise.
30428         * tests/uninorm/test-u32-nfc.c: Likewise.
30429         * tests/uninorm/test-u32-nfc-big.c: Likewise.
30430         * tests/uninorm/test-u32-nfd.c: Likewise.
30431         * tests/uninorm/test-u32-nfd-big.c: Likewise.
30432         * tests/uninorm/test-u32-nfkc.c: Likewise.
30433         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
30434         * tests/uninorm/test-u32-nfkd.c: Likewise.
30435         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
30436         * tests/uninorm/test-u32-normalize-big.c: Likewise.
30437
30438 2010-03-27  Bruno Haible  <bruno@clisp.org>
30439
30440         Distinguish two kinds of module indicators.
30441         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
30442         gl_MODULE_INDICATOR.
30443         (gl_MODULE_INDICATOR): New macro.
30444         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
30445         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
30446         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
30447         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
30448         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
30449         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
30450         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
30451         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
30452         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
30453         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
30454         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
30455         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
30456         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
30457         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
30458         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
30459         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
30460         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
30461         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
30462         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
30463         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
30464         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
30465         * modules/cloexec (configure.ac): Likewise.
30466         * modules/getopt-gnu (configure.ac): Likewise.
30467         * modules/uninorm/u8-normalize (configure.ac): Likewise.
30468         * modules/uninorm/u16-normalize (configure.ac): Likewise.
30469         * modules/uninorm/u32-normalize (configure.ac): Likewise.
30470         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
30471
30472 2010-03-27  Bruno Haible  <bruno@clisp.org>
30473
30474         New module description field 'Comment'.
30475         * gnulib-tool: New option --extract-comment.
30476         (func_usage): Document it.
30477         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
30478         (func_get_comment): New function.
30479         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
30480
30481 2010-03-27  Bruno Haible  <bruno@clisp.org>
30482
30483         Addendum to 2010-02-07 commit.
30484         * gnulib-tool (func_usage): Document --extract-applicability option.
30485
30486 2010-03-27  Bruno Haible  <bruno@clisp.org>
30487
30488         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
30489         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
30490         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
30491         rather than link errors.
30492
30493 2010-03-27  Bruno Haible  <bruno@clisp.org>
30494
30495         Avoid side effects from tests-related modules on the compilation of lib.
30496         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
30497         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
30498         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
30499         parameter. Emit into AM_CPPFLAGS a definition of the designated C
30500         macro.
30501         (func_import): Define a witness macro. Assign it a value that depends
30502         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
30503         tests-related modules.
30504         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
30505         Reported by Jim Meyering.
30506
30507 2010-03-27  Bruno Haible  <bruno@clisp.org>
30508
30509         Factorize common .m4 code.
30510         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
30511         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
30512         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
30513         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
30514         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
30515         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
30516         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
30517         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
30518         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
30519         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
30520         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
30521         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
30522         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
30523         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
30524         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
30525         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
30526         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
30527         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
30528         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
30529         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
30530         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
30531         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
30532         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
30533         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
30534         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
30535         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
30536         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
30537         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
30538         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
30539         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
30540         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
30541         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
30542
30543 2010-03-27  Bruno Haible  <bruno@clisp.org>
30544
30545         Fix a compilation error on Cygwin with g++ >= 4.3.
30546         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
30547         if it is undefined or if we alias it to chmod.
30548         (lstat): Don't warn about the use of this function if it is undefined
30549         or if we alias it to stat.
30550         Reported by Simon Josefsson.
30551
30552 2010-03-27  Bruno Haible  <bruno@clisp.org>
30553
30554         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
30555         * modules/getlogin (configure.ac): Update.
30556
30557         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
30558         * modules/getlogin_r (configure.ac): Update.
30559
30560         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
30561         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
30562         * modules/inet_ntop (configure.ac): Update.
30563
30564         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
30565         * modules/inet_pton (configure.ac): Update.
30566
30567         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
30568         * modules/mbslen (configure.ac): Update.
30569
30570         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
30571         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
30572         * modules/forkpty (configure.ac): Update.
30573         * modules/openpty (configure.ac): Update.
30574
30575 2010-03-26  Simon Josefsson  <simon@josefsson.org>
30576
30577         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
30578         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
30579
30580 2010-03-25  Eric Blake  <eblake@redhat.com>
30581
30582         maint: use pragma consistently across replacement headers
30583         * lib/ctype.in.h (system_header): Hoist for consistent placement.
30584         * lib/dirent.in.h (system_header): Likewise.
30585         * lib/errno.in.h (system_header): Likewise.
30586         * lib/float.in.h (system_header): Likewise.
30587         * lib/getopt.in.h (system_header): Likewise.
30588         * lib/iconv.in.h (system_header): Likewise.
30589         * lib/inttypes.in.h (system_header): Likewise.
30590         * lib/langinfo.in.h (system_header): Likewise.
30591         * lib/locale.in.h (system_header): Likewise.
30592         * lib/math.in.h (system_header): Likewise.
30593         * lib/netdb.in.h (system_header): Likewise.
30594         * lib/netinet_in.in.h (system_header): Likewise.
30595         * lib/pty.in.h (system_header): Likewise.
30596         * lib/sched.in.h (system_header): Likewise.
30597         * lib/se-selinux.in.h (system_header): Likewise.
30598         * lib/search.in.h (system_header): Likewise.
30599         * lib/spawn.in.h (system_header): Likewise.
30600         * lib/stdarg.in.h (system_header): Likewise.
30601         * lib/stdint.in.h (system_header): Likewise.
30602         * lib/string.in.h (system_header): Likewise.
30603         * lib/strings.in.h (system_header): Likewise.
30604         * lib/sys_file.in.h (system_header): Likewise.
30605         * lib/sys_ioctl.in.h (system_header): Likewise.
30606         * lib/sys_socket.in.h (system_header): Likewise.
30607         * lib/sys_times.in.h (system_header): Likewise.
30608         * lib/sys_utsname.in.h (system_header): Likewise.
30609         * lib/sys_wait.in.h (system_header): Likewise.
30610         * lib/sysexits.in.h (system_header): Likewise.
30611         * lib/unistd.in.h (system_header): Likewise.
30612         * lib/wctype.in.h (system_header): Likewise.
30613
30614         arpa/inet: fix mingw compilation warning
30615         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
30616         Reported by Matthew Bolte.
30617
30618 2010-03-25  Bruno Haible  <bruno@clisp.org>
30619
30620         Avoid collision between gnulib wrapper and libintl wrapper.
30621         * lib/printf.c (printf): Don't define if a printf wrapper is already
30622         defined in intl/printf.c.
30623         Reported by Michel Boaventura <michel@michelboaventura.com>.
30624
30625 2010-03-25  Bruno Haible  <bruno@clisp.org>
30626
30627         Use ANSI C.
30628         * lib/readutmp.h (getutent): Provide ANSI C prototype.
30629
30630 2010-03-25  Bruno Haible  <bruno@clisp.org>
30631
30632         Minor formatting changes.
30633         * lib/acosl.c: Insert space before function argument list.
30634         * lib/argz.c: Likewise.
30635         * lib/asinl.c: Likewise.
30636         * lib/expl.c: Likewise.
30637         * lib/gen-uni-tables.c: Likewise.
30638         * lib/gettext.h: Likewise.
30639         * lib/glthread/lock.h: Likewise.
30640         * lib/tanl.c: Likewise.
30641         * lib/uniname/uniname.c: Likewise.
30642         * tests/test-idpriv-drop.c: Likewise.
30643         * tests/test-idpriv-droptemp.c: Likewise.
30644         * tests/test-lock.c: Likewise.
30645         * tests/test-tls.c: Likewise.
30646         * lib/argp-help.c: Insert space before function-like macro argument
30647         list.
30648         * lib/memcmp.c: Likewise.
30649         * tests/test-base64.c: Likewise.
30650         * lib/localename.c: Insert space before sizeof's argument list.
30651         * lib/safe-alloc.h: Likewise.
30652         * lib/file-set.h: Insert space before macro argument list.
30653         * tests/test-argp.c: Likewise.
30654         * lib/argp-namefrob.h: Insert space before function parameter list.
30655         * lib/getaddrinfo.c: Likewise.
30656         * lib/netdb.in.h: Likewise.
30657         * lib/parse-duration.h: Likewise.
30658         * lib/parse-duration.c: Likewise.
30659         * lib/poll.c: Likewise.
30660         * lib/select.c: Likewise.
30661         * lib/trim.h: Likewise.
30662         * tests/test-usleep.c: Likewise.
30663         * lib/ldexpl.c: Insert space before function parameter list and before
30664         function argument list.
30665         * lib/logl.c: Likewise.
30666         * lib/sqrtl.c: Likewise.
30667         * lib/trim.c: Likewise.
30668         * lib/cosl.c: Use GNU style indentation. Insert space before function
30669         argument list.
30670         * lib/sinl.c: Likewise.
30671         * lib/tsearch.c: Insert space after 'for'.
30672         Reported by Jim Meyering.
30673
30674 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
30675
30676         * maint.mk (sc_Wundef_boolean): Check for the presence of the
30677         config header before grepping, as it's not present before
30678         autoreconf/configure are run.  Reported by Simon Josefsson.
30679
30680 2010-03-23  Bruno Haible  <bruno@clisp.org>
30681
30682         pt_chown: Make it work with automake < 1.11.
30683         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
30684         Reported by Simon Josefsson.
30685
30686 2010-03-23  Bruno Haible  <bruno@clisp.org>
30687
30688         pt_chown: Don't depend on GPLed modules.
30689         * lib/pt_chown.c: Don't include idpriv.h.
30690         (main): Don't drop privileges.
30691         * modules/pt_chown (Depends-on): Remove idpriv-drop.
30692         Reported by Simon Josefsson.
30693
30694 2010-03-24  Simon Josefsson  <simon@josefsson.org>
30695
30696         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
30697         suggestions from karl@freefriends.org (Karl Berry).
30698
30699 2010-03-22  Eric Blake  <eblake@redhat.com>
30700
30701         gethostname: further tweaks
30702         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
30703         are overriding gethostname.
30704         Suggested by Bruno Haible.
30705
30706 2010-03-21  Bruno Haible  <bruno@clisp.org>
30707
30708         Fix comments.
30709         * lib/forkpty.c (rpl_forkpty): Fix comment.
30710         * lib/openpty.c (rpl_openpty): Likewise.
30711         Reported by Eric Blake.
30712
30713 2010-03-22  Eric Blake  <eblake@redhat.com>
30714
30715         gethostname: fix build on mingw
30716         * lib/unistd.in.h (includes): Work around fact that mingw
30717         <winsock2.h> re-includes <unistd.h>, by avoiding any
30718         redeclarations if we are being included by <winsock2.h>.
30719         Reported by Matthias Bolte.
30720
30721 2010-03-21  Bruno Haible  <bruno@clisp.org>
30722
30723         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
30724         * lib/forkpty.c (forkpty): New replacement function, from glibc with
30725         modifications.
30726         * lib/pty.in.h (forkpty): Update declaration. Add comments.
30727         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
30728         provide the replacement.
30729         * modules/forkpty (Depends-on): Add openpty, login_tty.
30730         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
30731         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
30732         * doc/glibc-functions/forkpty.texi: More supported platforms.
30733         * config/srclist.txt: Add forkpty.c (commented).
30734
30735 2010-03-21  Bruno Haible  <bruno@clisp.org>
30736
30737         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
30738         (Makefile.am): Verify that PTY_LIB is defined.
30739
30740         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
30741
30742 2010-03-21  Bruno Haible  <bruno@clisp.org>
30743
30744         Tests for module 'login_tty'.
30745         * modules/login_tty-tests: New file.
30746         * tests/test-login_tty.c: New file.
30747
30748         New module 'login_tty'.
30749         * lib/login_tty.c: New file.
30750         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
30751         * modules/login_tty: New file.
30752         * doc/glibc-functions/login_tty.texi: Mention the new module.
30753
30754 2010-03-21  Bruno Haible  <bruno@clisp.org>
30755
30756         login_tty: Documentation.
30757         * doc/glibc-functions/login_tty.texi: New file.
30758         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
30759
30760 2010-03-21  Bruno Haible  <bruno@clisp.org>
30761
30762         pty: Consistent macro naming.
30763         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
30764         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
30765         * modules/pty (configure.ac): Update.
30766
30767 2010-03-21  Bruno Haible  <bruno@clisp.org>
30768
30769         Tests for openpty: Make stricter.
30770         * tests/test-openpty.c (main): Add test of canonical processing and
30771         erase.
30772         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
30773
30774         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
30775         * lib/openpty.c (openpty): New replacement function.
30776         * lib/pty.in.h: Include <termios.h>.
30777         (openpty): Update declaration. Add comments.
30778         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
30779         is not declared, arrange to provide the replacement. Check for _getpty
30780         and posix_openpt.
30781         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
30782         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
30783         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
30784         * modules/pty-tests (test_pty_c___LDADD): New variable.
30785         * doc/glibc-functions/openpty.texi: More supported platforms.
30786
30787 2010-03-21  Bruno Haible  <bruno@clisp.org>
30788
30789         setenv: Tweaks.
30790         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
30791         the test program.
30792         * doc/posix-functions/setenv.texi: Update platforms list.
30793
30794 2010-03-21  Bruno Haible  <bruno@clisp.org>
30795
30796         New module 'unlockpt'.
30797         * lib/unlockpt.c: New file, from glibc with modifications.
30798         * m4/unlockpt.m4: New file.
30799         * modules/unlockpt: New file.
30800         * lib/stdlib.in.h (unlockpt): New declaration.
30801         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
30802         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
30803         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
30804         HAVE_UNLOCKPT.
30805         * doc/posix-functions/unlockpt.texi: Mention the new module.
30806         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
30807         * config/srclist.txt: Add unlockpt.c (commented).
30808
30809 2010-03-21  Jim Meyering  <meyering@redhat.com>
30810
30811         maint.mk: prohibit inclusion of "intprops.h" without use
30812         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
30813
30814 2010-03-21  Bruno Haible  <bruno@clisp.org>
30815
30816         New module 'grantpt'.
30817         * lib/grantpt.c: New file, from glibc with modifications.
30818         * m4/grantpt.m4: New file.
30819         * modules/grantpt: New file.
30820         * lib/stdlib.in.h (grantpt): New declaration.
30821         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
30822         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
30823         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
30824         HAVE_GRANTPT.
30825         * doc/posix-functions/grantpt.texi: Mention the new module.
30826         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
30827         * config/srclist.txt: Add grantpt.c (commented).
30828
30829 2010-03-21  Bruno Haible  <bruno@clisp.org>
30830
30831         New module 'pt_chown'.
30832         * lib/pt_chown.c: New file, from glibc with modifications.
30833         * lib/pty-private.h: New file, from glibc with modifications.
30834         * modules/pt_chown: New file.
30835         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
30836
30837 2010-03-21  Bruno Haible  <bruno@clisp.org>
30838
30839         Tests for module 'ptsname'.
30840         * modules/ptsname-tests: New file.
30841         * tests/test-ptsname.c: New file.
30842
30843         New module 'ptsname'.
30844         * lib/ptsname.c: New file, from glibc with modifications.
30845         * m4/ptsname.m4: New file.
30846         * modules/ptsname: New file.
30847         * lib/stdlib.in.h (ptsname): New declaration.
30848         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
30849         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
30850         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
30851         HAVE_PTSNAME.
30852         * doc/posix-functions/ptsname.texi: Mention the new module.
30853         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
30854         * config/srclist.txt: Add ptsname.c (commented).
30855
30856 2010-03-21  Bruno Haible  <bruno@clisp.org>
30857
30858         Tests for module 'ttyname_r'.
30859         * modules/ttyname_r-tests: New file.
30860         * tests/test-ttyname_r.c: New file.
30861
30862         New module 'ttyname_r'.
30863         * lib/ttyname_r.c: New file.
30864         * m4/ttyname_r.m4: New file.
30865         * modules/ttyname_r: New file.
30866         * lib/unistd.in.h (ttyname_r): New declaration.
30867         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
30868         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
30869         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
30870         HAVE_TTYNAME_R.
30871         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
30872         * doc/posix-functions/ttyname_r.texi: Mention the new module.
30873
30874 2010-03-20  Bruno Haible  <bruno@clisp.org>
30875
30876         signal: Undefine macro definitions in C++ mode.
30877         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
30878         sigfillset): Undefine macro definitions from the system header in C++
30879         mode.
30880         Reported by John W. Eaton <jwe@gnu.org>.
30881
30882 2010-03-20  Bruno Haible  <bruno@clisp.org>
30883
30884         Ensure no #include statements inside extern "C" { ... }.
30885         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
30886         contain #include statements.
30887         * lib/time.in.h: Likewise.
30888
30889 2010-03-20  Bruno Haible  <bruno@clisp.org>
30890
30891         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
30892         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
30893         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
30894         Reported by John W. Eaton <jwe@gnu.org>.
30895
30896 2010-03-20  Bruno Haible  <bruno@clisp.org>
30897
30898         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
30899         Reported by Jim Meyering.
30900
30901 2010-03-20  Bruno Haible  <bruno@clisp.org>
30902
30903         pipe: Set errno upon failure.
30904         * lib/pipe.h: Specify that when -1 is returned, errno is set.
30905         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
30906         errno value in error message.
30907
30908 2010-03-20  Bruno Haible  <bruno@clisp.org>
30909             Jim Meyering  <meyering@redhat.com>
30910
30911         lchown: Avoid "unused variable" warning.
30912         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
30913
30914 2010-03-20  Bruno Haible  <bruno@clisp.org>
30915
30916         Work around unlink() bug on MacOS X 10.5.6.
30917         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
30918         attempting to unlink a parent directory.
30919         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
30920         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
30921         activate for the replacement function.
30922         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
30923
30924 2010-03-20  Bruno Haible  <bruno@clisp.org>
30925
30926         Fix link errors on Solaris 8.
30927         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
30928         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
30929
30930 2010-03-19  Jim Meyering  <meyering@redhat.com>
30931
30932         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
30933         The _LIBC implementation of build_range_exp correctly honors the
30934         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
30935         However, the non-_LIBC implementation would ignore that syntax-bit
30936         flag and return REG_ERANGE unconditionally.
30937         This change makes it honor that flag.
30938         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
30939         Make two pointer parameters "const".
30940         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
30941         (parse_bracket_exp): Update caller.
30942
30943         regex.m4: correct the reversed range endpoint ([b-a]) test
30944         * m4/regex.m4: When requiring that [b-a] evoke failure,
30945         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
30946         test pass once again for x86-based systems.
30947
30948 2010-03-19  Bruno Haible  <bruno@clisp.org>
30949
30950         scandir: Fix link error on Solaris 8.
30951         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
30952         macros.
30953
30954 2010-03-19  Bruno Haible  <bruno@clisp.org>
30955
30956         getusershell: Fix documentation.
30957         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
30958         module.
30959         * doc/glibc-functions/setusershell.texi: Likewise.
30960
30961         getusershell: Provide declaration, missing on Solaris 9.
30962         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
30963         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
30964         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
30965         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
30966         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30967         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
30968         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
30969         HAVE_GETUSERSHELL.
30970         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
30971
30972 2010-03-19  Bruno Haible  <bruno@clisp.org>
30973
30974         wctype: Provide iswblank function.
30975         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
30976         exists and is fine.
30977         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
30978         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
30979         * tests/test-wctype.c (main): Re-enable the iswblank tests.
30980         * doc/posix-functions/iswblank.texi: Update.
30981
30982 2010-03-19  Bruno Haible  <bruno@clisp.org>
30983
30984         Tests of module 'pty' in C++ mode.
30985         * modules/pty-tests: New file.
30986         * tests/test-pty-c++.cc: New file.
30987         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30988
30989 2010-03-19  Eric Blake  <eblake@redhat.com>
30990
30991         logb: fix documentation
30992         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
30993         1.5 declaration bug.
30994
30995         forkpty, openpty: prefer glibc's const-safe prototype
30996         * lib/forkpty.c (rpl_forkpty): New file.
30997         * lib/openpty.c (rpl_openpty): Likewise.
30998         * modules/forkpty (Files): Distribute it.
30999         * modules/openpty (Files): Likewise.
31000         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
31001         check...
31002         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
31003         replacement for for non-const BSD signature.
31004         * modules/pty (Makefile.am): Substitute witnesses.
31005         * lib/pty.in.h (forkpty, openpty): Declare replacements.
31006         * tests/test-forkpty.c: Update signature check.
31007         * tests/test-openpty.c: Likewise.
31008         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
31009         * doc/glibc-functions/openpty.texi (openpty): Likewise.
31010
31011         forkpty, openpty: split functions into new modules
31012         * modules/pty (Makefile.am): Substitute new witnesses.
31013         (Libraries): Move library detection...
31014         * modules/forkpty: ...into new module.
31015         * modules/openpty: Another new module.
31016         * modules/pty-tests: Rename and split...
31017         * modules/forkpty-tests: ...to this...
31018         * modules/openpty-tests: ...and this.
31019         * tests/test-pty.c: Rename and split...
31020         * tests/test-forkpty.c: ...to this...
31021         * tests/test-openpty.c: ...and this.
31022         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
31023         (gl_PTY): Split library searching...
31024         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
31025         (gl_FORKPTY, gl_OPENPTY): New macros.
31026         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
31027         * NEWS: Mention the split.
31028         * MODULES.html.sh (Misc): Document the modules.
31029         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
31030         * doc/glibc-functions/openpty.texi (openpty): Likewise.
31031
31032         pty: improve replacement header
31033         * lib/pty.in.h: New file.
31034         * modules/pty (Files): Ship it.
31035         (Makefile.am): Always build replacement.
31036         * m4/pty.m4: Rename...
31037         * m4/pty_h.m4: ...to this.
31038         (gl_PTY): Modernize setting of witness macros; update check of
31039         forkpty to take proper advantage of cache.
31040         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
31041
31042         getopt: avoid compiler warning
31043         * lib/getopt.c (attribute_hidden): Remove unused macro.
31044
31045 2010-03-18  Bruno Haible  <bruno@clisp.org>
31046
31047         Fix link errors on Solaris 8.
31048         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
31049         * modules/search-tests (test_search_c___LDADD): Likewise.
31050         * modules/signal-tests (test_signal_c___LDADD): Likewise.
31051         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
31052         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
31053         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
31054         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
31055         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
31056         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
31057
31058 2010-03-18  Bruno Haible  <bruno@clisp.org>
31059
31060         Fix bug introduced on 2010-03-14.
31061         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
31062         (gl_SPAWN_H): Require it.
31063         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
31064         Reported by Simon Josefsson.
31065
31066 2010-03-18  Bruno Haible  <bruno@clisp.org>
31067
31068         Fix typo introduced on 2009-12-31.
31069         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
31070         posix_spawn_file_actions_adddup2.
31071
31072 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
31073         and Eric Blake  <eblake@redhat.com>
31074
31075         test-vc-list-files-git: make more robust
31076         * tests/test-vc-list-files-git.sh: Unset problematic environment
31077         variables.  Chain commands together.
31078
31079 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
31080
31081         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
31082         `AC_CHECK_DECL' invocation.
31083
31084 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
31085
31086         * lib/inttostr.c (inttostr): Make sure the invocation of verify
31087         appears before executable statements. Suggested by Petr Sumbera
31088         <Petr.Sumbera@Sun.COM>.
31089
31090 2010-03-14  Bruno Haible  <bruno@clisp.org>
31091
31092         * tests/test-flock.c (test_exclusive): Comment out a test that causes
31093         portability problems. Instead use a simpler test.
31094         (main): Check that invalid arguments are rejected only on Linux.
31095
31096 2010-03-14  Bruno Haible  <bruno@clisp.org>
31097
31098         Fix bug introduced on 2009-12-31.
31099         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
31100         gl_PREREQ_SYS_H_WINSOCK2 always.
31101         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
31102         SYS_SOCKET_H variable.
31103         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
31104         Update comments.
31105         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
31106         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
31107         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
31108         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
31109         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
31110
31111 2010-03-14  Bruno Haible  <bruno@clisp.org>
31112
31113         Fix values returned by sinl, cosl.
31114         * lib/trigl.h: Add specification comments.
31115         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
31116         that combines the values from the precomputed table with the values of
31117         the Chebyshev polynomials.
31118
31119 2010-03-14  Bruno Haible  <bruno@clisp.org>
31120
31121         Fix compilation error when modules 'posix_spawn[p]' are not used.
31122         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
31123         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
31124
31125 2010-03-14  Bruno Haible  <bruno@clisp.org>
31126
31127         Fix compilation error on mingw when module 'time_r' is not used.
31128         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
31129         is 1.
31130         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
31131         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
31132         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
31133         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
31134
31135 2010-03-14  Bruno Haible  <bruno@clisp.org>
31136
31137         Fix compilation error with Sun C.
31138         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
31139         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
31140         instead of GCC specific ULONG_LONG_MAX.
31141         * lib/xstrtoll.c: Likewise.
31142         * lib/xstrtoull.c: Likewise.
31143
31144 2010-03-13  Bruno Haible  <bruno@clisp.org>
31145
31146         Allow the user to disable C++ code and tests.
31147         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
31148         (gl_PROG_ANSI_CXX): Require it.
31149
31150 2010-03-13  Bruno Haible  <bruno@clisp.org>
31151
31152         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
31153         cases.
31154
31155 2010-03-13  Bruno Haible  <bruno@clisp.org>
31156
31157         Test that gnulib does not break the standard C++ headers.
31158         * tests/test-locale-c++2.cc: New file.
31159         * modules/locale-tests (Files): Add it.
31160         (Makefile.am): Compile it for test-locale-c++.
31161         * tests/test-math-c++2.cc: New file.
31162         * modules/math-tests (Files): Add it.
31163         (Makefile.am): Compile it for test-math-c++.
31164         * tests/test-signal-c++2.cc: New file.
31165         * modules/signal-tests (Files): Add it.
31166         (Makefile.am): Compile it for test-signal-c++.
31167         * tests/test-stdio-c++2.cc: New file.
31168         * modules/stdio-tests (Files): Add it.
31169         (Makefile.am): Compile it for test-stdio-c++.
31170         * tests/test-stdlib-c++2.cc: New file.
31171         * modules/stdlib-tests (Files): Add it.
31172         (Makefile.am): Compile it for test-stdlib-c++.
31173         * tests/test-string-c++2.cc: New file.
31174         * modules/string-tests (Files): Add it.
31175         (Makefile.am): Compile it for test-string-c++.
31176         * tests/test-time-c++2.cc: New file.
31177         * modules/time-tests (Files): Add it.
31178         (Makefile.am): Compile it for test-time-c++.
31179         Reported by John W. Eaton <jwe@gnu.org>.
31180
31181 2010-03-13  Bruno Haible  <bruno@clisp.org>
31182
31183         * gnulib-tool (func_usage): Clarify which options are available for
31184         --create-testdir and --create-megatestdir.
31185
31186 2010-03-13  Bruno Haible  <bruno@clisp.org>
31187
31188         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
31189         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
31190         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
31191         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
31192         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
31193         when appropriate.
31194         Reported by Jim Meyering.
31195
31196 2010-03-12  Simon Josefsson  <simon@josefsson.org>
31197
31198         * gnulib-tool (func_import): Explain origin of code.
31199
31200 2010-03-12  Bruno Haible  <bruno@clisp.org>
31201
31202         Fix problem with automake's definition of CXXLINK.
31203         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
31204         Reported by Simon Josefsson and Ludovic Courtès.
31205
31206 2010-03-12  Bruno Haible  <bruno@clisp.org>
31207
31208         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
31209         stable releases.
31210
31211 2010-03-11  Bruno Haible  <bruno@clisp.org>
31212
31213         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
31214         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
31215         whether the system provides one variant or multiple variants of the
31216         function.
31217         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
31218         C++ compilers.
31219         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
31220         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
31221         Reported by Jim Meyering.
31222
31223 2010-03-09  Simon Josefsson  <simon@josefsson.org>
31224
31225         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
31226
31227 2010-03-08  Bruno Haible  <bruno@clisp.org>
31228
31229         gnulib-tool: Add support for --libtool in --create-testdir.
31230         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
31231         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
31232
31233 2010-03-08  Eric Blake  <eblake@redhat.com>
31234
31235         gnulib-tool.texi: mention possibility of git submodule
31236         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
31237         submodules.
31238         * doc/.gitignore: Ignore another generated file.
31239
31240 2010-03-08  Karl Berry  <karl@gnu.org>
31241
31242         * doc/gnulib-tool.texi (VCS Issues): Mention third option
31243         of committing gnulib files while skipping others.
31244
31245 2010-03-07  Bruno Haible  <bruno@clisp.org>
31246
31247         Tests of module 'wctype' in C++ mode.
31248         * tests/test-wctype-c++.cc: New file.
31249         * modules/wctype-tests (Files): Add it and tests/signature.h.
31250         (Depends-on): Add ansi-c++-opt.
31251         (Makefile.am): Arrange to compile and run test-wctype-c++.
31252
31253         Tests of module 'wchar' in C++ mode.
31254         * tests/test-wchar-c++.cc: New file.
31255         * modules/wchar-tests (Files): Add it and tests/signature.h.
31256         (Depends-on): Add ansi-c++-opt.
31257         (Makefile.am): Arrange to compile and run test-wchar-c++.
31258         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
31259         gl_MODULE_INDICATOR.
31260
31261         Tests of module 'unistd' in C++ mode.
31262         * tests/test-unistd-c++.cc: New file.
31263         * modules/unistd-tests (Files): Add it and tests/signature.h.
31264         (Depends-on): Add ansi-c++-opt.
31265         (Makefile.am): Arrange to compile and run test-unistd-c++.
31266         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
31267         gl_MODULE_INDICATOR.
31268
31269         Tests of module 'time' in C++ mode.
31270         * tests/test-time-c++.cc: New file.
31271         * modules/time-tests (Files): Add it and tests/signature.h.
31272         (Depends-on): Add ansi-c++-opt.
31273         (Makefile.am): Arrange to compile and run test-time-c++.
31274         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
31275
31276         Tests of module 'sys_time' in C++ mode.
31277         * tests/test-sys_time-c++.cc: New file.
31278         * modules/sys_time-tests (Files): Add it and tests/signature.h.
31279         (Depends-on): Add ansi-c++-opt.
31280         (Makefile.am): Arrange to compile and run test-sys_time-c++.
31281         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
31282         gl_MODULE_INDICATOR.
31283
31284         Tests of module 'sys_stat' in C++ mode.
31285         * tests/test-sys_stat-c++.cc: New file.
31286         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
31287         (Depends-on): Add ansi-c++-opt.
31288         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
31289         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
31290         gl_MODULE_INDICATOR.
31291
31292         Tests of module 'sys_socket' in C++ mode.
31293         * tests/test-sys_socket-c++.cc: New file.
31294         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
31295         (Depends-on): Add ansi-c++-opt.
31296         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
31297         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
31298         gl_MODULE_INDICATOR.
31299
31300         Tests of module 'sys_select' in C++ mode.
31301         * tests/test-sys_select-c++.cc: New file.
31302         * modules/sys_select-tests (Files): Add it and tests/signature.h.
31303         (Depends-on): Add ansi-c++-opt.
31304         (Makefile.am): Arrange to compile and run test-sys_select-c++.
31305         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
31306         gl_MODULE_INDICATOR.
31307
31308         Tests of module 'sys_ioctl' in C++ mode.
31309         * tests/test-sys_ioctl-c++.cc: New file.
31310         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
31311         (Depends-on): Add ansi-c++-opt.
31312         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
31313         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
31314         gl_MODULE_INDICATOR.
31315
31316         Tests of module 'string' in C++ mode.
31317         * tests/test-string-c++.cc: New file.
31318         * modules/string-tests (Files): Add it and tests/signature.h.
31319         (Depends-on): Add ansi-c++-opt.
31320         (Makefile.am): Arrange to compile and run test-string-c++.
31321         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
31322         gl_MODULE_INDICATOR.
31323
31324         Tests of module 'stdlib' in C++ mode.
31325         * tests/test-stdlib-c++.cc: New file.
31326         * modules/stdlib-tests (Files): Add it and tests/signature.h.
31327         (Depends-on): Add ansi-c++-opt.
31328         (Makefile.am): Arrange to compile and run test-stdlib-c++.
31329         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
31330         gl_MODULE_INDICATOR.
31331
31332         Tests of module 'stdio' in C++ mode.
31333         * tests/test-stdio-c++.cc: New file.
31334         * modules/stdio-tests (Files): Add it and tests/signature.h.
31335         (Depends-on): Add ansi-c++-opt.
31336         (Makefile.am): Arrange to compile and run test-stdio-c++.
31337         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
31338         gl_MODULE_INDICATOR.
31339
31340         Tests of module 'spawn' in C++ mode.
31341         * tests/test-spawn-c++.cc: New file.
31342         * modules/spawn-tests (Files): Add it and tests/signature.h.
31343         (Depends-on): Add ansi-c++-opt.
31344         (Makefile.am): Arrange to compile and run test-spawn-c++.
31345         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
31346         gl_MODULE_INDICATOR.
31347
31348         Tests of module 'signal' in C++ mode.
31349         * tests/test-signal-c++.cc: New file.
31350         * modules/signal-tests (Files): Add it and tests/signature.h.
31351         (Depends-on): Add ansi-c++-opt.
31352         (Makefile.am): Arrange to compile and run test-signal-c++.
31353         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
31354         gl_MODULE_INDICATOR.
31355
31356         Tests of module 'search' in C++ mode.
31357         * tests/test-search-c++.cc: New file.
31358         * modules/search-tests (Files): Add it and tests/signature.h.
31359         (Depends-on): Add ansi-c++-opt.
31360         (Makefile.am): Arrange to compile and run test-search-c++.
31361         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
31362         gl_MODULE_INDICATOR.
31363
31364         Tests of module 'math' in C++ mode.
31365         * tests/test-math-c++.cc: New file.
31366         * modules/math-tests (Files): Add it and tests/signature.h.
31367         (Depends-on): Add ansi-c++-opt.
31368         (Makefile.am): Arrange to compile and run test-math-c++.
31369         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
31370
31371         Tests of module 'locale' in C++ mode.
31372         * tests/test-locale-c++.cc: New file.
31373         * modules/locale-tests (Files): Add it and tests/signature.h.
31374         (Depends-on): Add ansi-c++-opt.
31375         (Makefile.am): Arrange to compile and run test-locale-c++.
31376         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
31377         gl_MODULE_INDICATOR.
31378
31379         Tests of module 'langinfo' in C++ mode.
31380         * tests/test-langinfo-c++.cc: New file.
31381         * modules/langinfo-tests (Files): Add it and tests/signature.h.
31382         (Depends-on): Add ansi-c++-opt.
31383         (Makefile.am): Arrange to compile and run test-langinfo-c++.
31384         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
31385         gl_MODULE_INDICATOR.
31386
31387         Tests of module 'iconv-h' in C++ mode.
31388         * tests/test-iconv-h-c++.cc: New file.
31389         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
31390         (Depends-on): Add ansi-c++-opt.
31391         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
31392
31393         Tests of module 'glob' in C++ mode.
31394         * tests/test-glob-c++.cc: New file.
31395         * modules/glob-tests (Files): Add it.
31396         (Depends-on): Add ansi-c++-opt.
31397         (Makefile.am): Arrange to compile and run test-glob-c++.
31398
31399         Tests of module 'fcntl-h' in C++ mode.
31400         * tests/test-fcntl-h-c++.cc: New file.
31401         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
31402         (Depends-on): Add ansi-c++-opt.
31403         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
31404         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
31405         gl_MODULE_INDICATOR.
31406
31407         Tests of module 'dirent' in C++ mode.
31408         * tests/test-dirent-c++.cc: New file.
31409         * modules/dirent-tests (Files): Add it and tests/signature.h.
31410         (Depends-on): Add ansi-c++-opt.
31411         (Makefile.am): Arrange to compile and run test-dirent-c++.
31412         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
31413         gl_MODULE_INDICATOR.
31414
31415         New module 'ansi-c++-opt'.
31416         * modules/ansi-c++-opt: New file.
31417         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
31418
31419         Document C++ namespace mode.
31420         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
31421
31422         wctype: Avoid #define replacements in C++ mode.
31423         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
31424         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
31425         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
31426         In C++, define a namespaced alias symbol.
31427         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
31428         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
31429         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
31430         rule.
31431
31432         wchar: Avoid #define replacements in C++ mode.
31433         * lib/wchar.in.h: Include c++defs.h.
31434         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
31435         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
31436         symbol.
31437         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
31438         * modules/wchar (Depends-on): Add c++defs.
31439         (Makefile.am): Update wchar.h rule.
31440
31441         unistd: Avoid #define replacements in C++ mode.
31442         * lib/unistd.in.h: Include c++defs.h.
31443         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
31444         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
31445         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
31446         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
31447         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
31448         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
31449         symbol.
31450         (environ): Update.
31451         * modules/unistd (Depends-on): Add c++defs.
31452         (Makefile.am): Update unistd.h rule.
31453
31454         time: Avoid #define replacements in C++ mode.
31455         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
31456         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
31457         define a namespaced alias symbol.
31458         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
31459         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
31460         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
31461         * modules/time (Depends-on): Add c++defs, warn-on-use.
31462         (Makefile.am): Update time.h rule.
31463         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
31464         * modules/nanosleep (configure.ac): Likewise.
31465         * modules/strptime (configure.ac): Likewise.
31466         * modules/timegm (configure.ac): Likewise.
31467
31468         sys_time: Avoid #define replacements in C++ mode.
31469         * lib/sys_time.in.h: Include c++defs.h.
31470         (gettimeofday): In C++, define a namespaced alias symbol.
31471         * modules/sys_time (Depends-on): Add c++defs.
31472         (Makefile.am): Update sys/time.h rule.
31473
31474         sys_stat: Avoid #define replacements in C++ mode.
31475         * lib/sys_stat.in.h: Include c++defs.h.
31476         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
31477         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
31478         namespaced alias symbol.
31479         In C++, define a namespaced alias symbol.
31480         * modules/sys_stat (Depends-on): Add c++defs.
31481         (Makefile.am): Update sys/stat.h rule.
31482
31483         sys_socket: Avoid #define replacements in C++ mode.
31484         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
31485         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
31486         definitions also when the system has a <sys/socket.h>.
31487         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
31488         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
31489         In C++, define a namespaced alias symbol.
31490         * modules/sys_socket (Depends-on): Add c++defs.
31491         (Makefile.am): Update sys/socket.h rule.
31492
31493         sys_select: Avoid #define replacements in C++ mode.
31494         * lib/sys_select.in.h: Include c++defs.h. Enable the function
31495         definitions also when the system has a <sys/select.h>.
31496         (select): In C++, define a namespaced alias symbol.
31497         * modules/sys_select (Depends-on): Add c++defs.
31498         (Makefile.am): Update sys/select.h rule.
31499
31500         sys_ioctl: Avoid #define replacements in C++ mode.
31501         * lib/sys_ioctl.in.h: Include c++defs.h.
31502         (ioctl): In C++, define a namespaced alias symbol.
31503         * modules/sys_ioctl (Depends-on): Add c++defs.
31504         (Makefile.am): Update sys/ioctl.h rule.
31505
31506         string: Avoid #define replacements in C++ mode.
31507         * lib/string.in.h: Include c++defs.h.
31508         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
31509         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
31510         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
31511         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
31512         strsignal, strverscmp): In C++, define a namespaced alias symbol.
31513         * modules/string (Depends-on): Add c++defs.
31514         (Makefile.am): Update string.h rule.
31515
31516         stdlib: Avoid #define replacements in C++ mode.
31517         * lib/stdlib.in.h: Include c++defs.h.
31518         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
31519         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
31520         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
31521         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
31522         symbol.
31523         * modules/stdlib (Depends-on): Add c++defs.
31524         (Makefile.am): Update stdlib.h rule.
31525
31526         stdio: Avoid #define replacements in C++ mode.
31527         * lib/stdio.in.h: Include c++defs.h.
31528         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
31529         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
31530         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
31531         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
31532         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
31533         namespaced alias symbol.
31534         * modules/stdio (Depends-on): Add c++defs.
31535         (Makefile.am): Update stdio.h rule.
31536
31537         spawn: Avoid #define replacements in C++ mode.
31538         * lib/spawn.in.h: Include c++defs.h.
31539         (posix_spawn, posix_spawnp, posix_spawnattr_init,
31540         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
31541         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
31542         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
31543         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
31544         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
31545         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
31546         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
31547         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
31548         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
31549         In C++, define a namespaced alias symbol.
31550         * modules/spawn (Depends-on): Add c++defs.
31551         (Makefile.am): Update spawn.h rule.
31552
31553         signal: Avoid #define replacements in C++ mode.
31554         * lib/signal.in.h: Include c++defs.h.
31555         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
31556         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
31557         namespaced alias symbol.
31558         * modules/signal (Depends-on): Add c++defs.
31559         (Makefile.am): Update signal.h rule.
31560
31561         search: Avoid #define replacements in C++ mode.
31562         * lib/search.in.h: Include c++defs.h.
31563         (_gl_search_compar_fn, _gl_search_action_fn): New types.
31564         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
31565         symbol.
31566         * modules/search (Depends-on): Add c++defs.
31567         (Makefile.am): Update search.h rule.
31568
31569         math: Avoid #define replacements in C++ mode.
31570         * lib/math.in.h: Include c++defs.h.
31571         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
31572         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
31573         trunc, truncl): In C++, define a namespaced alias symbol.
31574         * modules/math (Depends-on): Add c++defs.
31575         (Makefile.am): Update math.h rule.
31576
31577         locale: Avoid #define replacements in C++ mode.
31578         * lib/locale.in.h: Include c++defs.h.
31579         (duplocale): In C++, define a namespaced alias symbol.
31580         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
31581         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
31582         * modules/locale (Depends-on): Add c++defs.
31583         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
31584
31585         langinfo: Avoid #define replacements in C++ mode.
31586         * lib/langinfo.in.h: Include c++defs.h.
31587         (nl_langinfo): In C++, define a namespaced alias symbol.
31588         * modules/langinfo (Depends-on): Add c++defs.
31589         (Makefile.am): Update langinfo.h rule.
31590
31591         iconv-h: Avoid #define replacements in C++ mode.
31592         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
31593         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
31594         symbol.
31595         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
31596         whenever iconv is present.
31597         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
31598         (Makefile.am): Update iconv.h rule.
31599
31600         glob: Avoid #define replacements in C++ mode.
31601         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
31602         (_gl_glob_errfunc_fn): New type.
31603         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
31604         symbol.
31605         * modules/glob (Depends-on): Add c++defs, warn-on-use.
31606         (Makefile.am): Update glob.h rule.
31607
31608         fcntl-h: Avoid #define replacements in C++ mode.
31609         * lib/fcntl.in.h: Include c++defs.h.
31610         (fcntl, open, openat): In C++, define a namespaced alias symbol.
31611         * modules/fcntl-h (Depends-on): Add c++defs.
31612         (Makefile.am): Update fcntl.h rule.
31613
31614         dirent: Avoid #define replacements in C++ mode.
31615         * lib/dirent.in.h: Include c++defs.h.
31616         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
31617         namespaced alias symbol.
31618         (dirfd): Update declaration.
31619         * modules/dirent (Depends-on): Add c++defs.
31620         (Makefile.am): Update dirent.h rule.
31621
31622         ctype: Make it usable in C++ code.
31623         * lib/ctype.in.h: Include c++defs.h.
31624         (isblank): Declare as extern "C".
31625         * modules/ctype (Depends-on): Add c++defs.
31626         (Makefile.am): Update ctype.h rule.
31627
31628         New module 'c++defs'.
31629         * modules/c++defs: New file.
31630         * build-aux/c++defs.h: New file.
31631         Reported by John W. Eaton <jwe@gnu.org>.
31632
31633 2010-03-07  Bruno Haible  <bruno@clisp.org>
31634
31635         logb: Provide missing declaration for Cygwin.
31636         * lib/math.in.h (logb): New declaration.
31637         * m4/logb.m4: New file.
31638         * modules/logb (Files): Add m4/logb.m4.
31639         (Depends-on): Add math.
31640         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
31641         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
31642         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
31643         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
31644         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
31645
31646 2010-03-07  Bruno Haible  <bruno@clisp.org>
31647
31648         Fix test-cond link error.
31649         * tests/test-cond.c: Include <stdio.h>.
31650
31651 2010-03-07  Bruno Haible  <bruno@clisp.org>
31652
31653         Fix test-dirent-safer link error.
31654         * modules/dirent-safer-tests (Makefile.am): Define
31655         test_dirent_safer_LDADD.
31656
31657 2010-03-07  Bruno Haible  <bruno@clisp.org>
31658
31659         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
31660         among default module list.
31661
31662 2010-03-07  Bruno Haible  <bruno@clisp.org>
31663
31664         Fix link error on platforms with GNU libiconv.
31665         * modules/unistr/u8-strcoll-tests (Makefile): Define
31666         test_u8_strcoll_LDADD.
31667         * modules/unistr/u16-strcoll-tests (Makefile): Define
31668         test_u16_strcoll_LDADD.
31669         * modules/unistr/u32-strcoll-tests (Makefile): Define
31670         test_u32_strcoll_LDADD.
31671
31672 2010-03-07  Bruno Haible  <bruno@clisp.org>
31673
31674         Use POSIX declarations for socket functions.
31675         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
31676         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
31677         rpl_sendto): Change declaration to match POSIX.
31678         * lib/connect.c (rpl_connect): Likewise.
31679         * lib/accept.c (rpl_accept): Likewise.
31680         * lib/bind.c (rpl_bind): Likewise.
31681         * lib/getpeername.c (rpl_getpeername): Likewise.
31682         * lib/getsockname.c (rpl_getsockname): Likewise.
31683         * lib/recv.c (rpl_recv): Likewise.
31684         * lib/send.c (rpl_send): Likewise.
31685         * lib/recvfrom.c (rpl_recvfrom): Likewise.
31686         * lib/sendto.c (rpl_sendto): Likewise.
31687
31688 2010-03-06  Bruno Haible  <bruno@clisp.org>
31689
31690         Clarify access, euidaccess, faccessat.
31691         * doc/posix-functions/faccessat.texi: Mention security problem under
31692         "Other problems", not "Portability problems".
31693         * doc/posix-functions/access.texi: Likewise. Mention a related security
31694         problem.
31695         * doc/glibc-functions/euidaccess.texi: Mention security problems.
31696         * lib/euidaccess.c: Add comments about platforms.
31697         * lib/unistd.in.h (access, euidaccess): Add warnings.
31698
31699 2010-03-07  Bruno Haible  <bruno@clisp.org>
31700
31701         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
31702         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
31703         (POSIX_SPAWN_SETSCHEDULER): Likewise.
31704         (POSIX_SPAWN_USEVFORK): Define in a way that works when
31705         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
31706         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
31707         declare when POSIX_SPAWN_SETSCHEDULER is zero.
31708         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
31709         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
31710         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
31711         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
31712         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
31713         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
31714         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
31715         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
31716         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
31717         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
31718         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
31719         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
31720         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
31721         Likewise.
31722         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
31723         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
31724         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
31725         Likewise.
31726         * tests/test-spawn.c (main): Make it work when
31727         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
31728
31729 2010-03-07  Bruno Haible  <bruno@clisp.org>
31730
31731         Fix incorrect Makefile.am generation in German locale.
31732         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
31733         Execute sed command with character range in C locale.
31734
31735 2010-03-06  Bruno Haible  <bruno@clisp.org>
31736
31737         Tests for module 'iconv-h'.
31738         * modules/iconv-h-tests: New file.
31739         * tests/test-iconv-h.c: New file.
31740
31741         New module 'iconv-h'.
31742         * modules/iconv-h: New file.
31743         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
31744         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
31745         (configure.ac): Remove gl_ICONV_H.
31746         (Makefile.am): Remove rule for iconv.h.
31747
31748 2010-03-06  Bruno Haible  <bruno@clisp.org>
31749
31750         More consistent naming of *.m4 files.
31751         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
31752         * modules/wctype (Files): Update.
31753
31754         More consistent naming of *.m4 files.
31755         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
31756         * modules/wchar (Files): Update.
31757
31758 2010-03-06  Jim Meyering  <meyering@redhat.com>
31759
31760         euidaccess: relax license to LGPLv2+
31761         * modules/euidaccess (License): Relax to LGPLv2+.
31762
31763 2010-03-06  Bruno Haible  <bruno@clisp.org>
31764
31765         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
31766         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
31767         (Makefile.am): Augment lib_SOURCES instead.
31768
31769 2010-03-04  Jim Meyering  <meyering@redhat.com>
31770
31771         utime: remove obsolete module
31772         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
31773         unnecessary for years, and has been marked as obsolete for 10 months.
31774         * modules/utime: Remove file.
31775         * lib/utime.c: Remove file.
31776         * m4/utime.m4: Remove file.
31777         * m4/utimes-null.m4: Remove file.
31778         * doc/posix-functions/utime.texi (utime): Remove reference to
31779         the module.  Move the sole "fixed by gnulib" item into the
31780         "problems not fixed by Gnulib" list.
31781         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
31782
31783 2010-03-05  Simon Josefsson  <simon@josefsson.org>
31784
31785         * modules/exit (License): Relax license to LGPLv2+.
31786         (Status): Mark as obsolete.
31787         * NEWS: Mention deprecated 'exit' module.
31788         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
31789         of now obsolete 'exit'.
31790
31791 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31792
31793         fts-lgpl: remove unused module
31794         * modules/fts-lgpl: Remove.
31795         * MODULES.html.sh (func_all_modules): Adjust.
31796         * check-module (find_included_lib_files): Adjust.
31797         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
31798
31799 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
31800
31801         copy-acl: enhance Solaris ACL error handling
31802         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
31803         * lib/set-mode-acl.c (qset_acl): Likewise.
31804
31805 2010-03-02  Bruno Haible  <bruno@clisp.org>
31806
31807         spawn: Don't override the system defined values on FreeBSD 8.
31808         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
31809         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
31810         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
31811         if HAVE_POSIX_SPAWN is 1.
31812         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
31813
31814 2010-03-01  Bruno Haible  <bruno@clisp.org>
31815
31816         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
31817         regarding Automake.
31818
31819 2010-02-25  Bruno Haible  <bruno@clisp.org>
31820
31821         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
31822         * gnulib-tool: Define 'echo' as a function only before the ksh alias
31823         setting, not afterwards.
31824         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
31825
31826 2010-02-24  Eric Blake  <eblake@redhat.com>
31827
31828         bootstrap, git-version-gen: use timestamp
31829         * build-aux/git-version-gen (scriptversion): Force UTC.
31830         * build-aux/bootstrap (scriptversion): New variable.
31831
31832         bootstrap: allow older git
31833         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
31834         older than 1.6.4.  Requested by the libvirt project.
31835
31836 2010-02-23  Eric Blake  <eblake@redhat.com>
31837
31838         warn-on-use: work with old autoconf
31839         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
31840         AS_VAR semantics of autoconf 2.60.
31841         Reported by Bruno Haible.
31842
31843         bootstrap: improve some comments
31844         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
31845         clarification comments.
31846
31847         gettimeofday: provide correct function
31848         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
31849         when replacement is declared, otherwise provide gettimeofday.
31850         Reported by Michael Goffioul.
31851
31852 2010-02-23  Jim Meyering  <meyering@redhat.com>
31853
31854         lib-ignore: relax license to "unlimited", not LGPLv2+
31855         * modules/lib-ignore (License): Relax to "unlimited".
31856
31857 2010-02-23  Jim Meyering  <meyering@redhat.com>
31858
31859         lib-ignore: relax license to LGPLv2+
31860         * modules/lib-ignore (License): Relax to LGPLv2+.
31861
31862 2010-02-22  Eric Blake  <eblake@redhat.com>
31863
31864         lseek: avoid bash 3.2 broken pipe bug
31865         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
31866         warning from bash 3.2.
31867         Reported by Ben Pfaff, with analysis from Bruno Haible.
31868
31869         bootstrap: support non-FSF copyright holder
31870         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
31871         bootstrap.conf override of COPYRIGHT_HOLDER.
31872         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
31873
31874         bootstrap: interoperate with gettext 0.14.1
31875         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
31876
31877         bootstrap: allow for alternate submodule location
31878         * build-aux/bootstrap (gnulib_path): New variable; use instead of
31879         hardcoding submodule location.
31880         (gnulib_mk): Allow direct use of Makefile.am.
31881
31882         bootstrap: use GNULIB_SRCDIR to reduce disk usage
31883         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
31884         rather than reconfiguring where the submodule points.
31885
31886         gettimeofday: restore support for platforms that lack function
31887         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
31888         replacement if function is missing.
31889         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
31890         * modules/sys_time (Makefile.am): Substitute it.
31891         * lib/sys_time.in.h (gettimeofday): Check it.
31892         Reported by Michael Goffioul.
31893
31894 2010-02-21  Bruno Haible  <bruno@clisp.org>
31895
31896         * lib/stdio.in.h (obstack_printf): Fix typo.
31897
31898 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
31899
31900         vc-list-files: use bzr ls's -R option
31901         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
31902         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
31903
31904 2010-02-21  Jim Meyering  <meyering@redhat.com>
31905
31906         init.sh: fix EXEEXT shims to work also for names like test-prog
31907         * tests/init.sh: Re-exec a better shell, when needed.
31908         If the current shell lacks support for posix $(...), an init.sh-using
31909         test will now try to find a shell that supports that.  If EXEEXT is
31910         nonempty, we also require support for hyphen-in-alias-name and shell
31911         substitutions like ${var#glob}.  Failure to find such a shell results
31912         in a skipped test.
31913
31914 2010-02-21  Bruno Haible  <bruno@clisp.org>
31915
31916         Really work around around "broken pipe" error message from bash 3.2.
31917         * gnulib-tool (func_reset_sigpipe): Remove function.
31918         (echo): In bash 3.2, define to a function that uses printf.
31919         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
31920
31921 2010-02-20  Bruno Haible  <bruno@clisp.org>
31922
31923         Restore support for automake 1.9.6 with autoconf 2.61.
31924         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
31925         Reported by James Youngman <jay@gnu.org>.
31926
31927 2010-02-20  Bruno Haible  <bruno@clisp.org>
31928
31929         Improve *printf warning condition.
31930         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
31931         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
31932         and the function is overridden due to SIGPIPE emulation.
31933
31934 2010-02-20  Bruno Haible  <bruno@clisp.org>
31935
31936         * lib/stdio.in.h: Tweak comments.
31937
31938 2010-02-19  Bruno Haible  <bruno@clisp.org>
31939
31940         Make it easier to find modules. New gnulib-tool option '--find'.
31941         * gnulib-tool: New option --find.
31942         (func_usage): Document it.
31943         (func_sanitize_modulelist): New function, extracted from
31944         func_all_modules.
31945         (func_all_modules): Invoke it.
31946         * doc/gnulib-tool.texi (Which modules?): New node.
31947
31948 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
31949
31950         * lib/sys_select.in.h: Provide select replacement even if
31951         sys/select.h exists on a system, for Interix.
31952
31953 2010-02-18  Jim Meyering  <meyering@redhat.com>
31954
31955         init.sh: don't use $(...) just yet
31956         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
31957         to accommodate e.g., Solaris' /bin/sh.
31958
31959 2010-02-17  Bruno Haible  <bruno@clisp.org>
31960
31961         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
31962         Reported by Ludovic Courtès <ludo@gnu.org>.
31963
31964 2010-02-16  Simon Josefsson  <simon@josefsson.org>
31965
31966         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
31967         linking with -lintl.
31968
31969 2010-02-17  Simon Josefsson  <simon@josefsson.org>
31970
31971         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
31972         if not provided by the system's netdb.h.  Reported by
31973         ludo@gnu.org (Ludovic Courtès).
31974
31975 2010-02-15  Jim Meyering  <meyering@redhat.com>
31976
31977         init.sh: improve portability and efficiency
31978         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
31979         "dummy" in a for loop.
31980         Use '!', not '^' to select the complement of a character set used
31981         in a "case" statement.
31982         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
31983         Suggestions from Eric Blake.
31984
31985         init.sh: automatically accommodate programs with the .exe suffix
31986         Automatically arrange for an invocation of "prog" to execute the
31987         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
31988         may use the simpler "prog", yet still work when built on a system
31989         that requires specifying the added suffix.
31990         Do this by constructing a function named "prog" that invokes
31991         "prog.exe" for each .exe file in selected directories.
31992         * tests/init.sh (find_exe_basenames_): New function.
31993         (create_exe_shim_functions_): New function.
31994         (path_prepend_): Use it.
31995
31996         maint.mk: mark syntax-check sc_*.m rules as .PHONY
31997         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
31998         "make -t syntax-check" doesn't create a ton of sc_*.m files.
31999
32000 2010-02-14  Jim Meyering  <meyering@redhat.com>
32001
32002         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
32003         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
32004         (sc_prohibit_hash_pjw_without_use): New rule.
32005
32006         maint.mk: allow the default upload destination dir to be overridden
32007         * top/maint.mk (upload_dest_dir_): Define with a default that
32008         preserves the status quo.
32009         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
32010         Reported by Peter Simons.
32011
32012         maint.mk: prohibit inclusion of "hash.h" without_use
32013         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
32014
32015 2010-02-10  Jim Meyering  <meyering@redhat.com>
32016
32017         maint.mk: prohibit inclusion of "ignore-value.h" without_use
32018         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
32019
32020 2010-02-09  Eric Blake  <ebb9@byu.net>
32021         and Bruno Haible  <bruno@clisp.org>
32022
32023         obstack-printf-posix: ensure declaration
32024         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
32025         extracted from gl_FUNC_OBSTACK_PRINTF.
32026         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
32027         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
32028         Likewise.
32029         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
32030         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
32031         0.
32032
32033 2010-02-08  Bruno Haible  <bruno@clisp.org>
32034
32035         gnulib-tool: Fix typo in 2010-02-07 commit.
32036         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
32037         Reported by Eric Blake.
32038
32039 2010-02-07  Bruno Haible  <bruno@clisp.org>
32040
32041         gnulib-tool: Fix up caching patches.
32042         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
32043         option --no-cache. Use associative arrays when supported by the shell.
32044         (sed_comments): New variable.
32045         (modcache): Renamed from do_cache.
32046         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
32047         abbreviate unnecessarily.
32048         (have_associative): New variable.
32049         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
32050         way also for ksh and zsh.
32051         (func_init_sed_convert_to_cache_statements): New function, extracted
32052         from func_cache_lookup_module. Add support for associative arrays.
32053         Don't set the c_MODULE_cached variable here. Ignore all lines before
32054         the first field header. Remove only the final newline, not all trailing
32055         newlines. Support empty fields correctly. Limit the use of 'eval' to
32056         assignments.
32057         (func_get_description, func_get_status, func_get_notice,
32058         func_get_applicability, func_get_filelist, func_get_dependencies,
32059         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
32060         func_get_automake_snippet, func_get_include_directive,
32061         func_get_link_directive, func_get_license, func_get_maintainer):
32062         Update documentation. List the unoptimized code first. Add support for
32063         associative arrays. Limit the use of 'eval' to assignments.
32064         (func_get_applicability): Undo stylistic pessimisations.
32065         (func_get_automake_snippet, func_get_include_directive): Reduce code
32066         duplication.
32067         (func_modules_transitive_closure, func_modules_add_dummy,
32068         func_modules_notice, func_modules_to_filelist, func_add_file,
32069         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
32070         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
32071         func_create_testdir, func_create_megatestdir): Update documentation.
32072
32073 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32074
32075         * gnulib-tool (func_cache_lookup_module): Store the module name
32076         belonging to the cache variable; error out if two different
32077         module names map to the same cache variable name.
32078
32079 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32080
32081         gnulib-tool: Make caching optional.
32082         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
32083         Update matching short versions of --no-changelog.
32084         (func_usage): Update.
32085         (sed_extract_cache_prog): Renamed from ...
32086         (sed_extract_prog): ... this; revert to old extraction script.
32087         (func_get_description, func_get_status)
32088         (func_get_notice, func_get_applicability, func_get_filelist)
32089         (func_get_dependencies, func_get_autoconf_early_snippet)
32090         (func_get_autoconf_snippet, func_get_automake_snippet)
32091         (func_get_include_directive, func_get_link_directive)
32092         (func_get_license, func_get_maintainer): If $do_cache is false,
32093         use old, non-caching extraction scripts.
32094         Suggestion by Bruno Haible.
32095
32096 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32097
32098         gnulib-tool: cache module metainformation.
32099         * gnulib-tool (sed_extract_prog): Match newline before each
32100         header, and rewrite header to a shell variable suffix.
32101         (func_cache_var, func_cache_lookup_module): New functions,
32102         to turn a module name into a cache variable prefix, and to
32103         look up and cache module metainformation.
32104         (func_get_description, func_get_status)
32105         (func_get_notice, func_get_applicability, func_get_filelist)
32106         (func_get_dependencies, func_get_autoconf_early_snippet)
32107         (func_get_autoconf_snippet, func_get_automake_snippet)
32108         (func_get_include_directive, func_get_link_directive)
32109         (func_get_license, func_get_maintainer): Use
32110         func_cache_lookup_module.
32111
32112 2010-02-07  Bruno Haible  <bruno@clisp.org>
32113
32114         fnctl: Fix missing dependency.
32115         * modules/fcntl (Depends-on): Add getdtablesize.
32116         Reported by John W. Eaton <jwe@gnu.org>.
32117
32118 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
32119
32120         Argp: fix recognition of short alias options.
32121
32122         * lib/argp-parse.c (convert_options): Fix improper use of
32123         `|' between character values.
32124         * tests/test-argp.c (group1_option): New alias option
32125         --read (-r).
32126         (group1_parser): Special handling for 'r'.
32127         (test15): New test case.
32128         (test_fun): Add test15.
32129         * tests/test-argp-2.sh: Update expected --help and --usage
32130         outputs.
32131
32132 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
32133
32134         * tests/test-argp.c: Fix indentation.
32135
32136 2010-02-04  Eric Blake  <ebb9@byu.net>
32137
32138         gettimeofday: expose type of second argument
32139         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
32140         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
32141         * tests/test-gettimeofday.c: Use it to silence warning.
32142         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
32143         the issue.
32144
32145 2010-02-03  Jim Meyering  <meyering@redhat.com>
32146
32147         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
32148         * lib/regcomp.c (TYPE_SIGNED): Define.
32149         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
32150
32151         regcomp.c: avoid a new -Wshadow warning
32152         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
32153
32154 2010-02-01  Jim Meyering  <meyering@redhat.com>
32155
32156         removing useless parentheses in cpp #define directives
32157         For motivation, see commit c0221df4, "define STREQ(a,b)
32158         consistently, removing useless parentheses"
32159         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
32160         * lib/mountlist.c (MNT_IGNORE): Likewise.
32161         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
32162
32163 2010-02-01  Eric Blake  <ebb9@byu.net>
32164
32165         sys_time: use link-warning
32166         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
32167         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
32168         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
32169         * modules/sys_time (Depends-on): Add warn-on-use.
32170         (Makefile.am): Always build replacement.
32171         (configure.ac): Update substitutions.
32172         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
32173         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
32174         bother with SYS_TIME_H.
32175         * modules/gettimeofday (configure.ac): Declare indicator.
32176         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
32177         in use.
32178
32179         closein-tests: silence compiler warning
32180         * tests/test-closein.c (main): Ignore fread result.
32181         * modules/closein-tests (Depends-on): Add ignore-value.
32182
32183         tests: silence warning about system return
32184         * tests/test-areadlink-with-size.c (main): Ignore system result.
32185         * tests/test-areadlink.c (main): Likewise.
32186         * tests/test-areadlinkat-with-size.c (main): Likewise.
32187         * tests/test-areadlinkat.c (main): Likewise.
32188         * tests/test-canonicalize-lgpl.c (main): Likewise.
32189         * tests/test-canonicalize.c (main): Likewise.
32190         * tests/test-chown.c (main): Likewise.
32191         * tests/test-fchownat.c (main): Likewise.
32192         * tests/test-fdutimensat.c (main): Likewise.
32193         * tests/test-fstatat.c (main): Likewise.
32194         * tests/test-futimens.c (main): Likewise.
32195         * tests/test-lchown.c (main): Likewise.
32196         * tests/test-link.c (main): Likewise.
32197         * tests/test-linkat.c (main): Likewise.
32198         * tests/test-lstat.c (main): Likewise.
32199         * tests/test-mkdir.c (main): Likewise.
32200         * tests/test-mkdirat.c (main): Likewise.
32201         * tests/test-mkfifo.c (main): Likewise.
32202         * tests/test-mkfifoat.c (main): Likewise.
32203         * tests/test-mknod.c (main): Likewise.
32204         * tests/test-readlink.c (main): Likewise.
32205         * tests/test-remove.c (main): Likewise.
32206         * tests/test-rename.c (main): Likewise.
32207         * tests/test-renameat.c (main): Likewise.
32208         * tests/test-rmdir.c (main): Likewise.
32209         * tests/test-symlink.c (main): Likewise.
32210         * tests/test-symlinkat.c (main): Likewise.
32211         * tests/test-unlink.c (main): Likewise.
32212         * tests/test-unlinkat.c (main): Likewise.
32213         * tests/test-utimens.c (main): Likewise.
32214         * tests/test-utimensat.c (main): Likewise.
32215         * modules/areadlink-tests (Depends-on): Add ignore-value.
32216         * modules/areadlink-with-size-tests (Depends-on): Likewise.
32217         * modules/areadlinkat-tests (Depends-on): Likewise.
32218         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
32219         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
32220         * modules/canonicalize-tests (Depends-on): Likewise.
32221         * modules/chown-tests (Depends-on): Likewise.
32222         * modules/fdutimensat-tests (Depends-on): Likewise.
32223         * modules/futimens-tests (Depends-on): Likewise.
32224         * modules/lchown-tests (Depends-on): Likewise.
32225         * modules/link-tests (Depends-on): Likewise.
32226         * modules/linkat-tests (Depends-on): Likewise.
32227         * modules/lstat-tests (Depends-on): Likewise.
32228         * modules/mkdir-tests (Depends-on): Likewise.
32229         * modules/mkfifo-tests (Depends-on): Likewise.
32230         * modules/mkfifoat-tests (Depends-on): Likewise.
32231         * modules/mknod-tests (Depends-on): Likewise.
32232         * modules/openat-tests (Depends-on): Likewise.
32233         * modules/readlink-tests (Depends-on): Likewise.
32234         * modules/remove-tests (Depends-on): Likewise.
32235         * modules/rename-tests (Depends-on): Likewise.
32236         * modules/renameat-tests (Depends-on): Likewise.
32237         * modules/rmdir-tests (Depends-on): Likewise.
32238         * modules/symlink-tests (Depends-on): Likewise.
32239         * modules/symlinkat-tests (Depends-on): Likewise.
32240         * modules/unlink-tests (Depends-on): Likewise.
32241         * modules/utimens-tests (Depends-on): Likewise.
32242         * modules/utimensat-tests (Depends-on): Likewise.
32243
32244 2010-01-31  Bruno Haible  <bruno@clisp.org>
32245
32246         Perform the same test for many <math.h> functions.
32247         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
32248         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
32249         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
32250         of gl_MATHFUNC.
32251         * modules/acos (configure.ac): Likewise.
32252         * modules/asin (configure.ac): Likewise.
32253         * modules/atan (configure.ac): Likewise.
32254         * modules/atan2 (configure.ac): Likewise.
32255         * modules/cbrt (configure.ac): Likewise.
32256         * modules/copysign (configure.ac): Likewise.
32257         * modules/cos (configure.ac): Likewise.
32258         * modules/cosh (configure.ac): Likewise.
32259         * modules/erf (configure.ac): Likewise.
32260         * modules/erfc (configure.ac): Likewise.
32261         * modules/exp (configure.ac): Likewise.
32262         * modules/fmod (configure.ac): Likewise.
32263         * modules/hypot (configure.ac): Likewise.
32264         * modules/j0 (configure.ac): Likewise.
32265         * modules/j1 (configure.ac): Likewise.
32266         * modules/jn (configure.ac): Likewise.
32267         * modules/lgamma (configure.ac): Likewise.
32268         * modules/log (configure.ac): Likewise.
32269         * modules/log10 (configure.ac): Likewise.
32270         * modules/log1p (configure.ac): Likewise.
32271         * modules/pow (configure.ac): Likewise.
32272         * modules/remainder (configure.ac): Likewise.
32273         * modules/sin (configure.ac): Likewise.
32274         * modules/sinh (configure.ac): Likewise.
32275         * modules/tan (configure.ac): Likewise.
32276         * modules/tanh (configure.ac): Likewise.
32277         * modules/y0 (configure.ac): Likewise.
32278         * modules/y1 (configure.ac): Likewise.
32279         * modules/yn (configure.ac): Likewise.
32280         Suggested by Paolo Bonzini.
32281
32282 2010-01-31  Bruno Haible  <bruno@clisp.org>
32283
32284         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
32285
32286 2010-01-31  Bruno Haible  <bruno@clisp.org>
32287
32288         Work around getdelim() bug on FreeBSD 8.0.
32289         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
32290         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
32291         not work.
32292         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
32293         is 1.
32294         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
32295         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
32296         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
32297         a non-zero size.
32298         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
32299
32300 2010-01-31  Bruno Haible  <bruno@clisp.org>
32301
32302         Work around getline() bug on FreeBSD 8.0.
32303         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
32304         and a non-zero size.
32305         * tests/test-getline.c (main): Likewise.
32306         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
32307         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
32308
32309 2010-01-28  Eric Blake  <ebb9@byu.net>
32310
32311         regex: fix build failure
32312         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
32313         platforms.
32314
32315 2010-01-28  Jim Meyering  <meyering@redhat.com>
32316
32317         regex: do not ignore memory allocation failure
32318         * lib/regex_internal.c (create_cd_newstate): Detect
32319         re_node_set_init_copy failure.   Extracted from glibc commit
32320         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
32321
32322         regex: sync more white-space changes from libc
32323         * lib/regex_internal.c: White-space only changes.
32324         * lib/regexec.c: Likewise.
32325
32326         regex: add many uses of __attribute_warn_unused_result__
32327         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
32328         * lib/regexec.c: Likewise.
32329         Extracted from a messy glibc commit.
32330
32331         regcomp.c: spelling and merge-artifact from glibc
32332         * lib/regcomp.c: Merge remainder of glibc's
32333         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
32334
32335         regcomp.c: sync white-space changes from glibc
32336         * lib/regcomp.c: Merge to accommodate white space
32337         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
32338
32339         regcomp.c: do not ignore internal return values
32340         * lib/regcomp.c: Do not ignore internal return values.
32341         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
32342         but without its white-space changes and spelling fixes.
32343
32344         regex_internal.h: define __attribute_warn_unused_result__
32345         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
32346
32347         maint: add a syntax-check rule to check for vulnerable Makefile.in
32348         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
32349
32350 2010-01-27  Jim Meyering  <meyering@redhat.com>
32351
32352         ncftpput-ftp: clean up spaces
32353         * build-aux/ncftpput-ftp: Make Copyright line consistent.
32354         Remove trailing blanks.
32355
32356 2010-01-27  Simon Josefsson  <simon@josefsson.org>
32357
32358         * build-aux/git-version-gen: Fix copyright statement.
32359         * build-aux/gnupload: Likewise.
32360         * tests/test-arcfour.c: Likewise.
32361         * tests/test-arctwo.c: Likewise.
32362         * tests/test-count-one-bits.c: Likewise.
32363         * tests/test-crc.c: Likewise.
32364         * tests/test-des.c: Likewise.
32365         * tests/test-gc-arcfour.c: Likewise.
32366         * tests/test-gc-arctwo.c: Likewise.
32367         * tests/test-gc-des.c: Likewise.
32368         * tests/test-gc-hmac-md5.c: Likewise.
32369         * tests/test-gc-hmac-sha1.c: Likewise.
32370         * tests/test-gc-md2.c: Likewise.
32371         * tests/test-gc-md4.c: Likewise.
32372         * tests/test-gc-md5.c: Likewise.
32373         * tests/test-gc-pbkdf2-sha1.c: Likewise.
32374         * tests/test-gc-rijndael.c: Likewise.
32375         * tests/test-gc-sha1.c: Likewise.
32376         * tests/test-gc.c: Likewise.
32377         * tests/test-gethostname.c: Likewise.
32378         * tests/test-gettimeofday.c: Likewise.
32379         * tests/test-hash.c: Likewise.
32380         * tests/test-hmac-md5.c: Likewise.
32381         * tests/test-hmac-sha1.c: Likewise.
32382         * tests/test-md2.c: Likewise.
32383         * tests/test-md4.c: Likewise.
32384         * tests/test-md5.c: Likewise.
32385         * tests/test-memchr.c: Likewise.
32386         * tests/test-memchr2.c: Likewise.
32387         * tests/test-memcmp.c: Likewise.
32388         * tests/test-memmem.c: Likewise.
32389         * tests/test-memrchr.c: Likewise.
32390         * tests/test-rawmemchr.c: Likewise.
32391         * tests/test-read-file.c: Likewise.
32392         * tests/test-rijndael.c: Likewise.
32393         * tests/test-sockets.c: Likewise.
32394         * tests/test-strchrnul.c: Likewise.
32395         * tests/test-strstr.c: Likewise.
32396         * tests/test-strtod.c: Likewise.
32397         * build-aux/ncftpput-ftp: Likewise.
32398
32399 2010-01-26  Eric Blake  <ebb9@byu.net>
32400
32401         ignore-value: update recommended header name
32402         * modules/ignore-value (Include): Only use <> for headers that
32403         exist in glibc.
32404
32405 2010-01-26  Jim Meyering  <meyering@redhat.com>
32406
32407         test-userspec.c: avoid compiler warnings
32408         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
32409         and "initialization discards qualifiers..." warnings.
32410         Put the first "uid" in its own scope, and make char* members "const".
32411
32412 2010-01-25  Bruno Haible  <bruno@clisp.org>
32413
32414         gnulib-tool: Make warning diagnostics consistent.
32415         * gnulib-tool (func_warning): New function.
32416         Use it everywhere where gnulib-tool produces output to stderr and it is
32417         not a fatal error.
32418
32419 2010-01-25  Bruno Haible  <bruno@clisp.org>
32420
32421         Fix test dependencies.
32422         * modules/xstrtol-tests (Depends-on): Add inttypes.
32423         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
32424
32425 2010-01-25 Pádraig Brady <P@draigBrady.com>
32426
32427         syntax-check: detect incorrect boolean macro values in config.h
32428         * modules/maintainer-makefile (configure.ac): Parameterize the location
32429         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
32430         The logic is from Eric Blake and the location indicated by Jim Meyering.
32431         Note the more natural CONFIG_HEADER name is prohibited by automake
32432         for backwards compatibility reasons.
32433         * top/maint.mk (sc_Wundef_boolean): New rule.
32434
32435 2010-01-25  Jim Meyering  <meyering@redhat.com>
32436
32437         bootstrap: detect MacOS 10.6's shasum, too
32438         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
32439         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
32440
32441 2010-01-23  Jim Meyering  <meyering@redhat.com>
32442
32443         xstrtoll: new module
32444         * modules/xstrtoll: New file.
32445         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
32446         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
32447         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
32448         ./configure fails if you use this module and lack "long long".
32449         * modules/xstrtoll-tests: New module.
32450         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
32451         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
32452         new init.sh-based test framework.
32453
32454 2010-01-24  Bruno Haible  <bruno@clisp.org>
32455
32456         Tests for module 'yn'.
32457         * modules/yn-tests: New file.
32458         * tests/test-yn.c: New file.
32459
32460         Tests for module 'y1'.
32461         * modules/y1-tests: New file.
32462         * tests/test-y1.c: New file.
32463
32464         Tests for module 'y0'.
32465         * modules/y0-tests: New file.
32466         * tests/test-y0.c: New file.
32467
32468         Tests for module 'tanh'.
32469         * modules/tanh-tests: New file.
32470         * tests/test-tanh.c: New file.
32471
32472         Tests for module 'tan'.
32473         * modules/tan-tests: New file.
32474         * tests/test-tan.c: New file.
32475
32476         Tests for module 'sqrt'.
32477         * modules/sqrt-tests: New file.
32478         * tests/test-sqrt.c: New file.
32479
32480         Tests for module 'sinh'.
32481         * modules/sinh-tests: New file.
32482         * tests/test-sinh.c: New file.
32483
32484         Tests for module 'sin'.
32485         * modules/sin-tests: New file.
32486         * tests/test-sin.c: New file.
32487
32488         Tests for module 'rint'.
32489         * modules/rint-tests: New file.
32490         * tests/test-rint.c: New file.
32491
32492         Tests for module 'remainder'.
32493         * modules/remainder-tests: New file.
32494         * tests/test-remainder.c: New file.
32495
32496         Tests for module 'pow'.
32497         * modules/pow-tests: New file.
32498         * tests/test-pow.c: New file.
32499
32500         Tests for module 'nextafter'.
32501         * modules/nextafter-tests: New file.
32502         * tests/test-nextafter.c: New file.
32503
32504         Tests for module 'modf'.
32505         * modules/modf-tests: New file.
32506         * tests/test-modf.c: New file.
32507
32508         Tests for module 'logb'.
32509         * modules/logb-tests: New file.
32510         * tests/test-logb.c: New file.
32511
32512         Tests for module 'log1p'.
32513         * modules/log1p-tests: New file.
32514         * tests/test-log1p.c: New file.
32515
32516         Tests for module 'log10'.
32517         * modules/log10-tests: New file.
32518         * tests/test-log10.c: New file.
32519
32520         Tests for module 'log'.
32521         * modules/log-tests: New file.
32522         * tests/test-log.c: New file.
32523
32524         Tests for module 'lgamma'.
32525         * modules/lgamma-tests: New file.
32526         * tests/test-lgamma.c: New file.
32527
32528         Tests for module 'ldexp'.
32529         * modules/ldexp-tests: New file.
32530         * tests/test-ldexp.c: New file.
32531
32532         Tests for module 'jn'.
32533         * modules/jn-tests: New file.
32534         * tests/test-jn.c: New file.
32535
32536         Tests for module 'j1'.
32537         * modules/j1-tests: New file.
32538         * tests/test-j1.c: New file.
32539
32540         Tests for module 'j0'.
32541         * modules/j0-tests: New file.
32542         * tests/test-j0.c: New file.
32543
32544         Tests for module 'hypot'.
32545         * modules/hypot-tests: New file.
32546         * tests/test-hypot.c: New file.
32547
32548         Tests for module 'fmod'.
32549         * modules/fmod-tests: New file.
32550         * tests/test-fmod.c: New file.
32551
32552         Tests for module 'fabs'.
32553         * modules/fabs-tests: New file.
32554         * tests/test-fabs.c: New file.
32555
32556         Tests for module 'exp'.
32557         * modules/exp-tests: New file.
32558         * tests/test-exp.c: New file.
32559
32560         Tests for module 'erfc'.
32561         * modules/erfc-tests: New file.
32562         * tests/test-erfc.c: New file.
32563
32564         Tests for module 'erf'.
32565         * modules/erf-tests: New file.
32566         * tests/test-erf.c: New file.
32567
32568         Tests for module 'cosh'.
32569         * modules/cosh-tests: New file.
32570         * tests/test-cosh.c: New file.
32571
32572         Tests for module 'cos'.
32573         * modules/cos-tests: New file.
32574         * tests/test-cos.c: New file.
32575
32576         Tests for module 'copysign'.
32577         * modules/copysign-tests: New file.
32578         * tests/test-copysign.c: New file.
32579
32580         Tests for module 'cbrt'.
32581         * modules/cbrt-tests: New file.
32582         * tests/test-cbrt.c: New file.
32583
32584         Tests for module 'atan2'.
32585         * modules/atan2-tests: New file.
32586         * tests/test-atan2.c: New file.
32587
32588         Tests for module 'atan'.
32589         * modules/atan-tests: New file.
32590         * tests/test-atan.c: New file.
32591
32592         Tests for module 'asin'.
32593         * modules/asin-tests: New file.
32594         * tests/test-asin.c: New file.
32595
32596         Tests for module 'acos'.
32597         * modules/acos-tests: New file.
32598         * tests/test-acos.c: New file.
32599
32600 2010-01-24  Bruno Haible  <bruno@clisp.org>
32601
32602         Fix tests for common <math.h> functions.
32603         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
32604         code snippet that references the function pointer, rather than merely
32605         calling the function. Substitute the FUNC_LIBM variable.
32606         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
32607         * modules/acos (configure.ac): Likewise.
32608         * modules/asin (configure.ac): Likewise.
32609         * modules/atan (configure.ac): Likewise.
32610         * modules/atan2 (configure.ac): Likewise.
32611         * modules/cbrt (configure.ac): Likewise.
32612         * modules/copysign (configure.ac): Likewise.
32613         * modules/cos (configure.ac): Likewise.
32614         * modules/cosh (configure.ac): Likewise.
32615         * modules/erf (configure.ac): Likewise.
32616         * modules/erfc (configure.ac): Likewise.
32617         * modules/exp (configure.ac): Likewise.
32618         * modules/fabs (configure.ac): Likewise.
32619         * modules/fmod (configure.ac): Likewise.
32620         * modules/hypot (configure.ac): Likewise.
32621         * modules/j0 (configure.ac): Likewise.
32622         * modules/j1 (configure.ac): Likewise.
32623         * modules/jn (configure.ac): Likewise.
32624         * modules/ldexp (configure.ac): Likewise.
32625         * modules/lgamma (configure.ac): Likewise.
32626         * modules/log (configure.ac): Likewise.
32627         * modules/log10 (configure.ac): Likewise.
32628         * modules/log1p (configure.ac): Likewise.
32629         * modules/logb (configure.ac): Likewise.
32630         * modules/modf (configure.ac): Likewise.
32631         * modules/nextafter (configure.ac): Likewise.
32632         * modules/pow (configure.ac): Likewise.
32633         * modules/remainder (configure.ac): Likewise.
32634         * modules/rint (configure.ac): Likewise.
32635         * modules/sin (configure.ac): Likewise.
32636         * modules/sinh (configure.ac): Likewise.
32637         * modules/tan (configure.ac): Likewise.
32638         * modules/tanh (configure.ac): Likewise.
32639         * modules/y0 (configure.ac): Likewise.
32640         * modules/y1 (configure.ac): Likewise.
32641         * modules/yn (configure.ac): Likewise.
32642
32643 2010-01-24  Bruno Haible  <bruno@clisp.org>
32644
32645         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
32646         * tests/test-acosl.c (x): New variable.
32647         (main): Store argument in x and fetch it from x.
32648         * tests/test-asinl.c (x): New variable.
32649         (main): Store argument in x and fetch it from x.
32650         * tests/test-atanl.c (x): New variable.
32651         (main): Store argument in x and fetch it from x.
32652         * tests/test-cosl.c (x): New variable.
32653         (main): Store argument in x and fetch it from x.
32654         * tests/test-expl.c (x): New variable.
32655         (main): Store argument in x and fetch it from x.
32656         * tests/test-logl.c (x): New variable.
32657         (main): Store argument in x and fetch it from x.
32658         * tests/test-sinl.c (x): New variable.
32659         (main): Store argument in x and fetch it from x.
32660         * tests/test-sqrtl.c (x): New variable.
32661         (main): Store argument in x and fetch it from x.
32662         * tests/test-tanl.c (x): New variable.
32663         (main): Store argument in x and fetch it from x.
32664
32665 2010-01-24  Bruno Haible  <bruno@clisp.org>
32666
32667         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
32668         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
32669         assignments to the initial TESTS_ENVIRONMENT.
32670         * doc/gnulib.texi (Unit test modules): Document it.
32671         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
32672         TESTS_ENVIRONMENT.
32673         * modules/btowc-tests (Makefile.am): Likewise.
32674         * modules/c-stack-tests (Makefile.am): Likewise.
32675         * modules/c-strcase-tests (Makefile.am): Likewise.
32676         * modules/copy-file-tests (Makefile.am): Likewise.
32677         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
32678         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
32679         * modules/mbrtowc-tests (Makefile.am): Likewise.
32680         * modules/mbscasecmp-tests (Makefile.am): Likewise.
32681         * modules/mbscasestr-tests (Makefile.am): Likewise.
32682         * modules/mbschr-tests (Makefile.am): Likewise.
32683         * modules/mbscspn-tests (Makefile.am): Likewise.
32684         * modules/mbsinit-tests (Makefile.am): Likewise.
32685         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
32686         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
32687         * modules/mbspbrk-tests (Makefile.am): Likewise.
32688         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
32689         * modules/mbsrchr-tests (Makefile.am): Likewise.
32690         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
32691         * modules/mbsspn-tests (Makefile.am): Likewise.
32692         * modules/mbsstr-tests (Makefile.am): Likewise.
32693         * modules/nl_langinfo-tests (Makefile.am): Likewise.
32694         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
32695         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
32696         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
32697         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
32698         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
32699         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
32700         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
32701         * modules/wcrtomb-tests (Makefile.am): Likewise.
32702         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
32703         * modules/wcsrtombs-tests (Makefile.am): Likewise.
32704         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
32705         assignments from TESTS_ENVIRONMENT.
32706         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
32707         augmentation.
32708         * modules/argp-version-etc-tests (Makefile.am): Likewise.
32709         * modules/atexit-tests (Makefile.am): Likewise.
32710         * modules/binary-io-tests (Makefile.am): Likewise.
32711         * modules/closein-tests (Makefile.am): Likewise.
32712         * modules/dprintf-posix-tests (Makefile.am): Likewise.
32713         * modules/exclude-tests (Makefile.am): Likewise.
32714         * modules/fflush-tests (Makefile.am): Likewise.
32715         * modules/fpending-tests (Makefile.am): Likewise.
32716         * modules/fprintf-posix-tests (Makefile.am): Likewise.
32717         * modules/freadahead-tests (Makefile.am): Likewise.
32718         * modules/freadptr-tests (Makefile.am): Likewise.
32719         * modules/freadseek-tests (Makefile.am): Likewise.
32720         * modules/fseek-tests (Makefile.am): Likewise.
32721         * modules/fseeko-tests (Makefile.am): Likewise.
32722         * modules/ftell-tests (Makefile.am): Likewise.
32723         * modules/ftello-tests (Makefile.am): Likewise.
32724         * modules/idpriv-drop-tests (Makefile.am): Likewise.
32725         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
32726         * modules/lseek-tests (Makefile.am): Likewise.
32727         * modules/parse-duration-tests (Makefile.am): Likewise.
32728         * modules/perror-tests (Makefile.am): Likewise.
32729         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
32730         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
32731         * modules/pipe-tests (Makefile.am): Likewise.
32732         * modules/pread-tests (Makefile.am): Likewise.
32733         * modules/printf-posix-tests (Makefile.am): Likewise.
32734         * modules/select-tests (Makefile.am): Likewise.
32735         * modules/sigpipe-tests (Makefile.am): Likewise.
32736         * modules/tsearch-tests (Makefile.am): Likewise.
32737         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
32738         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
32739         * modules/uniname/uniname-tests (Makefile.am): Likewise.
32740         * modules/uniwidth/width-tests (Makefile.am): Likewise.
32741         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
32742         * modules/version-etc-tests (Makefile.am): Likewise.
32743         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
32744         * modules/vprintf-posix-tests (Makefile.am): Likewise.
32745         * modules/xalloc-die-tests (Makefile.am): Likewise.
32746         * modules/xprintf-posix-tests (Makefile.am): Likewise.
32747         * modules/xstrtoimax-tests (Makefile.am): Likewise.
32748         * modules/xstrtol-tests (Makefile.am): Likewise.
32749         * modules/xstrtoumax-tests (Makefile.am): Likewise.
32750         * modules/yesno-tests (Makefile.am): Likewise.
32751         Suggested by Jim Meyering.
32752
32753 2010-01-24  Bruno Haible  <bruno@clisp.org>
32754
32755         More documentation.
32756         * doc/gnulib.texi (Writing modules): New chapter.
32757         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
32758         the new chapter.
32759
32760 2010-01-24  Jim Meyering  <meyering@redhat.com>
32761
32762         maint.mk: do not prepend "./" after filtering
32763         * top/maint.mk (_prepend_srcdir_prefix): New variable
32764         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
32765         "./" when $(srcdir) is ".".
32766
32767         define STREQ(a,b) consistently, removing useless parentheses
32768         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
32769         since the only risk is that "a" or "b" contains an unparenthesized
32770         comma, but if either did that, STREQ would have 3 or more arguments.
32771         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
32772         * lib/fts.c (STREQ): Remove unnecessary parentheses.
32773         * lib/hash-triple.c (STREQ): Likewise.
32774         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
32775         * lib/getugroups.c (STREQ): Likewise.
32776
32777 2010-01-23  Jim Meyering  <meyering@redhat.com>
32778
32779         maint.mk: fix syntax-check in a non-srcdir build directory
32780         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
32781         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
32782
32783 2010-01-22  Jim Meyering  <meyering@redhat.com>
32784
32785         userspec: add unit tests
32786         * tests/test-userspec.c: New file.
32787         * modules/userspec-tests: Likewise.
32788
32789 2010-01-21  Jim Meyering  <meyering@redhat.com>
32790
32791         maint.mk: handle source file names containing "." robustly
32792         * top/maint.mk (_dot_escaped_srcdir): Define.
32793         (VC_LIST): Use it in LHS of sed substitution.
32794
32795 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
32796
32797         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
32798         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
32799         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
32800         from a non-srcdir build.
32801
32802 2010-01-20  Eric Blake  <ebb9@byu.net>
32803
32804         warn-on-use: use instead of link-warning
32805         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
32806         * modules/unistd (Depends-on, Makefile.am): Likewise.
32807         * modules/arpa_inet (Depends-on): Replace link-warning with
32808         warn-on-use.
32809         (Makefile.am): Update rules accordingly.
32810         * modules/ctype (Depends-on, Makefile.am): Likewise.
32811         * modules/dirent (Depends-on, Makefile.am): Likewise.
32812         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
32813         * modules/inttypes (Depends-on, Makefile.am): Likewise.
32814         * modules/langinfo (Depends-on, Makefile.am): Likewise.
32815         * modules/locale (Depends-on, Makefile.am): Likewise.
32816         * modules/math (Depends-on, Makefile.am): Likewise.
32817         * modules/search (Depends-on, Makefile.am): Likewise.
32818         * modules/signal (Depends-on, Makefile.am): Likewise.
32819         * modules/spawn (Depends-on, Makefile.am): Likewise.
32820         * modules/stdlib (Depends-on, Makefile.am): Likewise.
32821         * modules/string (Depends-on, Makefile.am): Likewise.
32822         * modules/strings (Depends-on, Makefile.am): Likewise.
32823         * modules/sys_file (Depends-on, Makefile.am): Likewise.
32824         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
32825         * modules/sys_select (Depends-on, Makefile.am): Likewise.
32826         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
32827         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
32828         * modules/sys_times (Depends-on, Makefile.am): Likewise.
32829         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
32830         * modules/wchar (Depends-on, Makefile.am): Likewise.
32831         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
32832         should be poisoned.
32833         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
32834         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
32835         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
32836         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
32837         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
32838         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
32839         * m4/math_h.m4 (gl_MATH_H): Likewise.
32840         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
32841         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
32842         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32843         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
32844         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
32845         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
32846         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
32847         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
32848         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
32849         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32850         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
32851         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
32852         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
32853         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
32854         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
32855         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
32856         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
32857         GL_LINK_WARNING.
32858         * lib/ctype.in.h: Likewise.
32859         * lib/dirent.in.h: Likewise.
32860         * lib/fcntl.in.h: Likewise.
32861         * lib/inttypes.in.h: Likewise.
32862         * lib/langinfo.in.h: Likewise.
32863         * lib/locale.in.h: Likewise.
32864         * lib/math.in.h: Likewise.
32865         * lib/search.in.h: Likewise.
32866         * lib/signal.in.h: Likewise.
32867         * lib/spawn.in.h: Likewise.
32868         * lib/stdio.in.h: Likewise.
32869         * lib/stdlib.in.h: Likewise.
32870         * lib/string.in.h: Likewise.
32871         * lib/strings.in.h: Likewise.
32872         * lib/sys_file.in.h: Likewise.
32873         * lib/sys_ioctl.in.h: Likewise.
32874         * lib/sys_select.in.h: Likewise.
32875         * lib/sys_socket.in.h: Likewise.
32876         * lib/sys_stat.in.h: Likewise.
32877         * lib/sys_times.in.h: Likewise.
32878         * lib/sys_utsname.in.h: Likewise.
32879         * lib/unistd.in.h: Likewise.
32880         * lib/wchar.in.h: Likewise.
32881
32882 2010-01-20  Bruno Haible  <bruno@clisp.org>
32883
32884         Avoid duplicate -lm.
32885         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
32886         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
32887         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
32888         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
32889         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
32890         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
32891         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
32892         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
32893         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
32894         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
32895         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
32896         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
32897         Reported by Paolo Bonzini.
32898
32899 2010-01-19  Bruno Haible  <bruno@clisp.org>
32900
32901         langinfo, nl_langinfo: Relicense under LGPLv2+.
32902         * modules/langinfo (License): Change to LGPLv2+.
32903         * modules/nl_langinfo (License): Likewise.
32904         Patch by David Lutterkort <lutter@redhat.com>.
32905
32906 2010-01-19  Bruno Haible  <bruno@clisp.org>
32907
32908         Avoid compilation error with cc on OSF/1 5.1.
32909         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
32910         statement, not before.
32911         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32912
32913 2010-01-18  Bruno Haible  <bruno@clisp.org>
32914
32915         Avoid a link error due to the __printf__ symbol.
32916         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
32917         and 2.6.x.
32918         (__format__, __printf__): Remove definitions.
32919         * lib/argp-fmtstream.h: Likewise.
32920         * lib/argp.h: Likewise.
32921         * lib/error.h: Likewise.
32922         * lib/vasnprintf.h: Likewise.
32923         * lib/xprintf.h: Likewise.
32924         * lib/xvasprintf.h: Likewise.
32925         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32926
32927 2010-01-18  Bruno Haible  <bruno@clisp.org>
32928
32929         Tests for module 'tanl'.
32930         * modules/tanl-tests: New file.
32931         * tests/test-tanl.c: New file.
32932
32933         Tests for module 'sqrtl'.
32934         * modules/sqrtl-tests: New file.
32935         * tests/test-sqrtl.c: New file.
32936
32937         Tests for module 'sinl'.
32938         * modules/sinl-tests: New file.
32939         * tests/test-sinl.c: New file.
32940
32941         Tests for module 'logl'.
32942         * modules/logl-tests: New file.
32943         * tests/test-logl.c: New file.
32944
32945         Tests for module 'expl'.
32946         * modules/expl-tests: New file.
32947         * tests/test-expl.c: New file.
32948
32949         Tests for module 'cosl'.
32950         * modules/cosl-tests: New file.
32951         * tests/test-cosl.c: New file.
32952
32953         Tests for module 'atanl'.
32954         * modules/atanl-tests: New file.
32955         * tests/test-atanl.c: New file.
32956
32957         Tests for module 'asinl'.
32958         * modules/asinl-tests: New file.
32959         * tests/test-asinl.c: New file.
32960
32961         Tests for module 'acosl'.
32962         * modules/acosl-tests: New file.
32963         * tests/test-acosl.c: New file.
32964
32965         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
32966         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
32967         tanl): Use the standard gnulib idiom.
32968         * lib/cosl.c: Don't include trigl.c and sincosl.c.
32969         * lib/sinl.c: Likewise.
32970         * lib/tanl.c: Don't include trigl.c.
32971         (kernel_tanl): Make static.
32972         * lib/sincosl.c: Include trigl.h first.
32973         * lib/trigl.c: Likewise.
32974         * m4/acosl.m4: New file.
32975         * m4/asinl.m4: New file.
32976         * m4/atanl.m4: New file.
32977         * m4/cosl.m4: New file.
32978         * m4/expl.m4: New file.
32979         * m4/logl.m4: New file.
32980         * m4/sinl.m4: New file.
32981         * m4/sqrtl.m4: New file.
32982         * m4/tanl.m4: New file.
32983         * m4/mathl.m4: Remove file.
32984         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
32985         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
32986         Don't initialize GNULIB_MATHL.
32987         * modules/acosl: New file.
32988         * modules/asinl: New file.
32989         * modules/atanl: New file.
32990         * modules/cosl: New file.
32991         * modules/expl: New file.
32992         * modules/logl: New file.
32993         * modules/sinl: New file.
32994         * modules/sqrtl: New file.
32995         * modules/tanl: New file.
32996         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
32997         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
32998         substitute GNULIB_MATHL.
32999         * modules/mathl: Rewritten.
33000         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
33001         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
33002         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
33003         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
33004         * doc/posix-functions/expl.texi: Mention the 'expl' module.
33005         * doc/posix-functions/logl.texi: Mention the 'logl' module.
33006         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
33007         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
33008         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
33009
33010 2010-01-18  Bruno Haible  <bruno@clisp.org>
33011
33012         sqrt: Make gl_FUNC_SQRT requirable.
33013         * m4/sqrt.m4: New file.
33014         * modules/sqrt (Files): Add it.
33015         (configure.ac): Invoke gl_FUNC_SQRT.
33016
33017 2010-01-18  Bruno Haible  <bruno@clisp.org>
33018
33019         New modules for common <math.h> functions.
33020         * m4/mathfunc.m4: New file.
33021         * modules/acos: New file.
33022         * modules/asin: New file.
33023         * modules/atan: New file.
33024         * modules/atan2: New file.
33025         * modules/cbrt: New file.
33026         * modules/copysign: New file.
33027         * modules/cos: New file.
33028         * modules/cosh: New file.
33029         * modules/erf: New file.
33030         * modules/erfc: New file.
33031         * modules/exp: New file.
33032         * modules/fabs: New file.
33033         * modules/fmod: New file.
33034         * modules/hypot: New file.
33035         * modules/j0: New file.
33036         * modules/j1: New file.
33037         * modules/jn: New file.
33038         * modules/ldexp: New file.
33039         * modules/lgamma: New file.
33040         * modules/log: New file.
33041         * modules/log10: New file.
33042         * modules/log1p: New file.
33043         * modules/logb: New file.
33044         * modules/modf: New file.
33045         * modules/nextafter: New file.
33046         * modules/pow: New file.
33047         * modules/remainder: New file.
33048         * modules/rint: New file.
33049         * modules/sin: New file.
33050         * modules/sinh: New file.
33051         * modules/sqrt: New file.
33052         * modules/tan: New file.
33053         * modules/tanh: New file.
33054         * modules/y0: New file.
33055         * modules/y1: New file.
33056         * modules/yn: New file.
33057         * doc/posix-functions/acos.texi: Mention the 'acos' module.
33058         * doc/posix-functions/asin.texi: Mention the 'asin' module.
33059         * doc/posix-functions/atan.texi: Mention the 'atan' module.
33060         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
33061         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
33062         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
33063         * doc/posix-functions/cos.texi: Mention the 'cos' module.
33064         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
33065         * doc/posix-functions/erf.texi: Mention the 'erf' module.
33066         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
33067         * doc/posix-functions/exp.texi: Mention the 'exp' module.
33068         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
33069         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
33070         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
33071         * doc/posix-functions/j0.texi: Mention the 'j0' module.
33072         * doc/posix-functions/j1.texi: Mention the 'j1' module.
33073         * doc/posix-functions/jn.texi: Mention the 'jn' module.
33074         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
33075         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
33076         * doc/posix-functions/log.texi: Mention the 'log' module.
33077         * doc/posix-functions/log10.texi: Mention the 'log10' module.
33078         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
33079         * doc/posix-functions/logb.texi: Mention the 'logb' module.
33080         * doc/posix-functions/modf.texi: Mention the 'modf' module.
33081         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
33082         * doc/posix-functions/pow.texi: Mention the 'pow' module.
33083         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
33084         * doc/posix-functions/rint.texi: Mention the 'rint' module.
33085         * doc/posix-functions/sin.texi: Mention the 'sin' module.
33086         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
33087         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
33088         * doc/posix-functions/tan.texi: Mention the 'tan' module.
33089         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
33090         * doc/posix-functions/y0.texi: Mention the 'y0' module.
33091         * doc/posix-functions/y1.texi: Mention the 'y1' module.
33092         * doc/posix-functions/yn.texi: Mention the 'yn' module.
33093
33094 2010-01-18  Jim Meyering  <meyering@redhat.com>
33095
33096         ignore-value: relax license to LGPLv2+
33097         * modules/ignore-value (License): Relax to LGPLv2+.
33098
33099         getdate: don't leak when TZ contains two or more '"'s
33100         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
33101         double quote in TZ after the first one.
33102
33103         readtokens: do not leak internal token_lengths buffer
33104         * lib/readtokens.c (readtokens): Free the local, lengths,
33105         when the supplied "token_lengths" parameter is NULL.
33106
33107 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33108
33109         Fix a couple of missing LIBTHREAD link failures on AIX.
33110         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
33111         $(LIBTHREAD).
33112         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
33113
33114         Link test-poll against INET_PTON_LIB.
33115         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
33116         for inet_pton on Solaris 10.
33117
33118 2010-01-17  Bruno Haible  <bruno@clisp.org>
33119
33120         unistdio/*-sprintf: Fix typo in module description.
33121         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
33122         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
33123         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
33124         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
33125         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
33126         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
33127         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
33128         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33129
33130 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33131
33132         gnulib-tool: fix filelist for AIX, HP-UX ksh.
33133         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
33134         variables in shell case patterns, for AIX and HP-UX ksh.
33135
33136         Split large sed scripts, for HP-UX sed.
33137         * modules/stdio: Split sed scripts around 50 sed commands,
33138         to avoid HP-UX limit of 99 commands, in the near future.
33139         * modules/string: Likewise.
33140         * modules/unistd: Likewise.
33141
33142         gnulib-tool: avoid writing in the current directory.
33143         * gnulib-tool (func_emit_lib_Makefile_am)
33144         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
33145         not in the current directory, so concurrent gnulib-tool
33146         instances do not interfere.
33147
33148 2010-01-16  Jim Meyering  <meyering@redhat.com>
33149
33150         doc: update users.txt
33151         * users.txt: Add grep.
33152         (diffutils, gzip): Update URLs.
33153
33154 2010-01-12  Bruno Haible  <bruno@clisp.org>
33155
33156         posix_spawn: Avoid test failure on Cygwin.
33157         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
33158         characters.
33159         Reported by Simon Josefsson.
33160
33161 2010-01-12  Bruno Haible  <bruno@clisp.org>
33162
33163         * tests/test-cond.c (main): When skipping the test, show the reason.
33164
33165 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33166
33167         * lib/striconv.c (str_cd_iconv): Avoid if before free.
33168
33169 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33170
33171         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
33172         VC_LIST_ALWAYS_EXCLUDE_REGEX.
33173
33174 2010-01-12  Eric Blake  <ebb9@byu.net>
33175
33176         build: guarantee AS_VAR_IF
33177         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
33178         (gl_AS_VAR_IF): Move...
33179         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
33180         Reported by Simon Josefsson.
33181
33182 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33183
33184         * lib/stdio.in.h: Fix typo.
33185
33186 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33187
33188         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
33189         libgpg-error.
33190
33191 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33192
33193         * tests/test-xalloc-die.sh: Use $EXEEXT.
33194
33195 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33196             Bruno Haible  <bruno@clisp.org>
33197
33198         getlogin, getlogin_r: Avoid test failure.
33199         * tests/test-getlogin.c: Include <stdio.h>.
33200         (main): Skip the test when the function fails because stdin is not a
33201         tty.
33202         * tests/test-getlogin_r.c: Include <stdio.h>.
33203         (main): Skip the test when the function fails because stdin is not a
33204         tty.
33205
33206 2010-01-11  Eric Blake  <ebb9@byu.net>
33207
33208         tests: avoid more large file warnings
33209         * tests/test-fflush.c: Avoid warning about ftell use.
33210         * tests/test-fseek.c: Avoid warning about fseek use.
33211
33212 2010-01-10  Bruno Haible  <bruno@clisp.org>
33213
33214         nproc: Work better on Linux when /proc and /sys are not mounted.
33215         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
33216         as lower bound when, on glibc/Linux systems,
33217         sysconf (_SC_NPROCESSORS_CONF) returns 1.
33218         Suggested by Pádraig Brady <P@draigbrady.com>.
33219         Reported by Dmitry V. Levin <ldv@altlinux.org>.
33220
33221         nproc: Refactor.
33222         * lib/nproc.c (num_processors_via_affinity_mask): New function,
33223         extracted from num_processors.
33224         (num_processors): Call it.
33225
33226 2010-01-11  Jim Meyering  <meyering@redhat.com>
33227
33228         utimecmp: avoid new warning from upcoming gcc-4.5.0
33229         * lib/utimecmp.c (BILLION): Define using #define rather than an
33230         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
33231
33232 2010-01-11  Eric Blake  <ebb9@byu.net>
33233
33234         math: add portability warnings for classification macros
33235         * modules/math (Depends-on): Add warn-on-use.
33236         (Makefile.am): Provide new substitutions.
33237         * m4/math_h.m4 (gl_MATH_H): Require inline.
33238         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
33239         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
33240         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
33241         implement warnings.
33242
33243         unistd: warn on use of environ without module
33244         * modules/unistd (Depends-on): Add warn-on-use.
33245         (Makefile.am): Provide new substitutions.
33246         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
33247         * lib/unistd.in.h (environ): Wrap with a warning helper function.
33248
33249         stdio: warn on suspicious uses
33250         * modules/stdio (Depends-on): Add warn-on-use.
33251         (Makefile.am): Provide new substitutions.
33252         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
33253         fseeko.
33254         * lib/stdio.in.h (gets): Always warn on use.
33255         (fseek, ftell): Adjust when warnings are issued, and honor
33256         _GL_NO_LARGE_FILES as a way to silence the warning.
33257         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
33258         any warning about large file offsets.
33259         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
33260         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
33261         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
33262         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
33263         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
33264         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
33265         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
33266         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
33267
33268         warn-on-use: new module
33269         * modules/warn-on-use: New file.
33270         * build-aux/warn-on-use.h: Likewise.
33271         * m4/warn-on-use.m4: Likewise.
33272         * MODULES.html.sh (Support for building): Mention it.
33273
33274 2010-01-10  Bruno Haible  <bruno@clisp.org>
33275
33276         Tests for module 'unistr/u32-strdup'.
33277         * modules/unistr/u32-strdup-tests: New file.
33278         * tests/unistr/test-u32-strdup.c: New file.
33279
33280         Tests for module 'unistr/u16-strdup'.
33281         * modules/unistr/u16-strdup-tests: New file.
33282         * tests/unistr/test-u16-strdup.c: New file.
33283
33284         Tests for module 'unistr/u8-strdup'.
33285         * modules/unistr/u8-strdup-tests: New file.
33286         * tests/unistr/test-u8-strdup.c: New file.
33287         * tests/unistr/test-strdup.h: New file.
33288
33289         Tests for module 'unistr/u32-strncmp'.
33290         * modules/unistr/u32-strncmp-tests: New file.
33291         * tests/unistr/test-u32-strncmp.c: New file.
33292
33293         Tests for module 'unistr/u16-strncmp'.
33294         * modules/unistr/u16-strncmp-tests: New file.
33295         * tests/unistr/test-u16-strncmp.c: New file.
33296
33297         Tests for module 'unistr/u8-strncmp'.
33298         * modules/unistr/u8-strncmp-tests: New file.
33299         * tests/unistr/test-u8-strncmp.c: New file.
33300         * tests/unistr/test-strncmp.h: New file.
33301
33302         Tests for module 'unistr/u32-strcoll'.
33303         * modules/unistr/u32-strcoll-tests: New file.
33304         * tests/unistr/test-u32-strcoll.c: New file.
33305
33306         Tests for module 'unistr/u16-strcoll'.
33307         * modules/unistr/u16-strcoll-tests: New file.
33308         * tests/unistr/test-u16-strcoll.c: New file.
33309
33310         Tests for module 'unistr/u8-strcoll'.
33311         * modules/unistr/u8-strcoll-tests: New file.
33312         * tests/unistr/test-u8-strcoll.c: New file.
33313
33314         Tests for module 'unistr/u32-strcmp'.
33315         * modules/unistr/u32-strcmp-tests: New file.
33316         * tests/unistr/test-u32-strcmp.c: New file.
33317         * tests/unistr/test-u32-strcmp.h: New file.
33318
33319         Tests for module 'unistr/u16-strcmp'.
33320         * modules/unistr/u16-strcmp-tests: New file.
33321         * tests/unistr/test-u16-strcmp.c: New file.
33322         * tests/unistr/test-u16-strcmp.h: New file.
33323
33324         Tests for module 'unistr/u8-strcmp'.
33325         * modules/unistr/u8-strcmp-tests: New file.
33326         * tests/unistr/test-u8-strcmp.c: New file.
33327         * tests/unistr/test-u8-strcmp.h: New file.
33328         * tests/unistr/test-strcmp.h: New file.
33329
33330         Tests for module 'unistr/u32-strncat'.
33331         * modules/unistr/u32-strncat-tests: New file.
33332         * tests/unistr/test-u32-strncat.c: New file.
33333
33334         Tests for module 'unistr/u16-strncat'.
33335         * modules/unistr/u16-strncat-tests: New file.
33336         * tests/unistr/test-u16-strncat.c: New file.
33337
33338         Tests for module 'unistr/u8-strncat'.
33339         * modules/unistr/u8-strncat-tests: New file.
33340         * tests/unistr/test-u8-strncat.c: New file.
33341         * tests/unistr/test-strncat.h: New file.
33342
33343         Tests for module 'unistr/u32-strcat'.
33344         * modules/unistr/u32-strcat-tests: New file.
33345         * tests/unistr/test-u32-strcat.c: New file.
33346
33347         Tests for module 'unistr/u16-strcat'.
33348         * modules/unistr/u16-strcat-tests: New file.
33349         * tests/unistr/test-u16-strcat.c: New file.
33350
33351         Tests for module 'unistr/u8-strcat'.
33352         * modules/unistr/u8-strcat-tests: New file.
33353         * tests/unistr/test-u8-strcat.c: New file.
33354         * tests/unistr/test-strcat.h: New file.
33355
33356         Tests for module 'unistr/u32-stpncpy'.
33357         * modules/unistr/u32-stpncpy-tests: New file.
33358         * tests/unistr/test-u32-stpncpy.c: New file.
33359
33360         Tests for module 'unistr/u16-stpncpy'.
33361         * modules/unistr/u16-stpncpy-tests: New file.
33362         * tests/unistr/test-u16-stpncpy.c: New file.
33363
33364         Tests for module 'unistr/u8-stpncpy'.
33365         * modules/unistr/u8-stpncpy-tests: New file.
33366         * tests/unistr/test-u8-stpncpy.c: New file.
33367         * tests/unistr/test-stpncpy.h: New file.
33368
33369         Tests for module 'unistr/u32-strncpy'.
33370         * modules/unistr/u32-strncpy-tests: New file.
33371         * tests/unistr/test-u32-strncpy.c: New file.
33372
33373         Tests for module 'unistr/u16-strncpy'.
33374         * modules/unistr/u16-strncpy-tests: New file.
33375         * tests/unistr/test-u16-strncpy.c: New file.
33376
33377         Tests for module 'unistr/u8-strncpy'.
33378         * modules/unistr/u8-strncpy-tests: New file.
33379         * tests/unistr/test-u8-strncpy.c: New file.
33380         * tests/unistr/test-strncpy.h: New file.
33381
33382         Tests for module 'unistr/u32-stpcpy'.
33383         * modules/unistr/u32-stpcpy-tests: New file.
33384         * tests/unistr/test-u32-stpcpy.c: New file.
33385
33386         Tests for module 'unistr/u16-stpcpy'.
33387         * modules/unistr/u16-stpcpy-tests: New file.
33388         * tests/unistr/test-u16-stpcpy.c: New file.
33389
33390         Tests for module 'unistr/u8-stpcpy'.
33391         * modules/unistr/u8-stpcpy-tests: New file.
33392         * tests/unistr/test-u8-stpcpy.c: New file.
33393         * tests/unistr/test-stpcpy.h: New file.
33394
33395         Tests for module 'unistr/u32-strcpy'.
33396         * modules/unistr/u32-strcpy-tests: New file.
33397         * tests/unistr/test-u32-strcpy.c: New file.
33398
33399         Tests for module 'unistr/u16-strcpy'.
33400         * modules/unistr/u16-strcpy-tests: New file.
33401         * tests/unistr/test-u16-strcpy.c: New file.
33402
33403         Tests for module 'unistr/u8-strcpy'.
33404         * modules/unistr/u8-strcpy-tests: New file.
33405         * tests/unistr/test-u8-strcpy.c: New file.
33406         * tests/unistr/test-strcpy.h: New file.
33407
33408         Tests for module 'unistr/u32-strnlen'.
33409         * modules/unistr/u32-strnlen-tests: New file.
33410         * tests/unistr/test-u32-strnlen.c: New file.
33411
33412         Tests for module 'unistr/u16-strnlen'.
33413         * modules/unistr/u16-strnlen-tests: New file.
33414         * tests/unistr/test-u16-strnlen.c: New file.
33415
33416         Tests for module 'unistr/u8-strnlen'.
33417         * modules/unistr/u8-strnlen-tests: New file.
33418         * tests/unistr/test-u8-strnlen.c: New file.
33419         * tests/unistr/test-strnlen.h: New file.
33420
33421         Tests for module 'unistr/u32-strlen'.
33422         * modules/unistr/u32-strlen-tests: New file.
33423         * tests/unistr/test-u32-strlen.c: New file.
33424
33425         Tests for module 'unistr/u16-strlen'.
33426         * modules/unistr/u16-strlen-tests: New file.
33427         * tests/unistr/test-u16-strlen.c: New file.
33428
33429         Tests for module 'unistr/u8-strlen'.
33430         * modules/unistr/u8-strlen-tests: New file.
33431         * tests/unistr/test-u8-strlen.c: New file.
33432
33433         Tests for module 'unistr/u32-prev'.
33434         * modules/unistr/u32-prev-tests: New file.
33435         * tests/unistr/test-u32-prev.c: New file.
33436
33437         Tests for module 'unistr/u16-prev'.
33438         * modules/unistr/u16-prev-tests: New file.
33439         * tests/unistr/test-u16-prev.c: New file.
33440
33441         Tests for module 'unistr/u8-prev'.
33442         * modules/unistr/u8-prev-tests: New file.
33443         * tests/unistr/test-u8-prev.c: New file.
33444
33445         Tests for module 'unistr/u32-next'.
33446         * modules/unistr/u32-next-tests: New file.
33447         * tests/unistr/test-u32-next.c: New file.
33448
33449         Tests for module 'unistr/u16-next'.
33450         * modules/unistr/u16-next-tests: New file.
33451         * tests/unistr/test-u16-next.c: New file.
33452
33453         Tests for module 'unistr/u8-next'.
33454         * modules/unistr/u8-next-tests: New file.
33455         * tests/unistr/test-u8-next.c: New file.
33456
33457         Tests for module 'unistr/u32-strmbtouc'.
33458         * modules/unistr/u32-strmbtouc-tests: New file.
33459         * tests/unistr/test-u32-strmbtouc.c: New file.
33460
33461         Tests for module 'unistr/u16-strmbtouc'.
33462         * modules/unistr/u16-strmbtouc-tests: New file.
33463         * tests/unistr/test-u16-strmbtouc.c: New file.
33464
33465         Tests for module 'unistr/u8-strmbtouc'.
33466         * modules/unistr/u8-strmbtouc-tests: New file.
33467         * tests/unistr/test-u8-strmbtouc.c: New file.
33468
33469         Tests for module 'unistr/u32-strmblen'.
33470         * modules/unistr/u32-strmblen-tests: New file.
33471         * tests/unistr/test-u32-strmblen.c: New file.
33472
33473         Tests for module 'unistr/u16-strmblen'.
33474         * modules/unistr/u16-strmblen-tests: New file.
33475         * tests/unistr/test-u16-strmblen.c: New file.
33476
33477         Tests for module 'unistr/u8-strmblen'.
33478         * modules/unistr/u8-strmblen-tests: New file.
33479         * tests/unistr/test-u8-strmblen.c: New file.
33480
33481         Tests for module 'unistr/u32-cpy-alloc'.
33482         * modules/unistr/u32-cpy-alloc-tests: New file.
33483         * tests/unistr/test-u32-cpy-alloc.c: New file.
33484
33485         Tests for module 'unistr/u16-cpy-alloc'.
33486         * modules/unistr/u16-cpy-alloc-tests: New file.
33487         * tests/unistr/test-u16-cpy-alloc.c: New file.
33488
33489         Tests for module 'unistr/u8-cpy-alloc'.
33490         * modules/unistr/u8-cpy-alloc-tests: New file.
33491         * tests/unistr/test-u8-cpy-alloc.c: New file.
33492         * tests/unistr/test-cpy-alloc.h: New file.
33493
33494         Tests for module 'unistr/u32-mbsnlen'.
33495         * modules/unistr/u32-mbsnlen-tests: New file.
33496         * tests/unistr/test-u32-mbsnlen.c: New file.
33497
33498         Tests for module 'unistr/u16-mbsnlen'.
33499         * modules/unistr/u16-mbsnlen-tests: New file.
33500         * tests/unistr/test-u16-mbsnlen.c: New file.
33501
33502         Tests for module 'unistr/u8-mbsnlen'.
33503         * modules/unistr/u8-mbsnlen-tests: New file.
33504         * tests/unistr/test-u8-mbsnlen.c: New file.
33505
33506         Tests for module 'unistr/u32-chr'.
33507         * modules/unistr/u32-chr-tests: New file.
33508         * tests/unistr/test-u32-chr.c: New file.
33509
33510         Tests for module 'unistr/u16-chr'.
33511         * modules/unistr/u16-chr-tests: New file.
33512         * tests/unistr/test-u16-chr.c: New file.
33513
33514         Tests for module 'unistr/u8-chr'.
33515         * modules/unistr/u8-chr-tests: New file.
33516         * tests/unistr/test-u8-chr.c: New file.
33517         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
33518
33519         Tests for module 'unistr/u32-cmp2'.
33520         * modules/unistr/u32-cmp2-tests: New file.
33521         * tests/unistr/test-u32-cmp2.c: New file.
33522
33523         Tests for module 'unistr/u16-cmp2'.
33524         * modules/unistr/u16-cmp2-tests: New file.
33525         * tests/unistr/test-u16-cmp2.c: New file.
33526
33527         Tests for module 'unistr/u8-cmp2'.
33528         * modules/unistr/u8-cmp2-tests: New file.
33529         * tests/unistr/test-u8-cmp2.c: New file.
33530         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
33531
33532         Tests for module 'unistr/u32-cmp'.
33533         * modules/unistr/u32-cmp-tests: New file.
33534         * tests/unistr/test-u32-cmp.c: New file.
33535
33536         Tests for module 'unistr/u16-cmp'.
33537         * modules/unistr/u16-cmp-tests: New file.
33538         * tests/unistr/test-u16-cmp.c: New file.
33539
33540         Tests for module 'unistr/u8-cmp'.
33541         * modules/unistr/u8-cmp-tests: New file.
33542         * tests/unistr/test-u8-cmp.c: New file.
33543         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
33544
33545         Tests for module 'unistr/u32-set'.
33546         * modules/unistr/u32-set-tests: New file.
33547         * tests/unistr/test-u32-set.c: New file.
33548
33549         Tests for module 'unistr/u16-set'.
33550         * modules/unistr/u16-set-tests: New file.
33551         * tests/unistr/test-u16-set.c: New file.
33552
33553         Tests for module 'unistr/u8-set'.
33554         * modules/unistr/u8-set-tests: New file.
33555         * tests/unistr/test-u8-set.c: New file.
33556         * tests/unistr/test-set.h: New file.
33557
33558         Tests for module 'unistr/u32-move'.
33559         * modules/unistr/u32-move-tests: New file.
33560         * tests/unistr/test-u32-move.c: New file.
33561
33562         Tests for module 'unistr/u16-move'.
33563         * modules/unistr/u16-move-tests: New file.
33564         * tests/unistr/test-u16-move.c: New file.
33565
33566         Tests for module 'unistr/u8-move'.
33567         * modules/unistr/u8-move-tests: New file.
33568         * tests/unistr/test-u8-move.c: New file.
33569         * tests/unistr/test-move.h: New file.
33570
33571         Tests for module 'unistr/u32-cpy'.
33572         * modules/unistr/u32-cpy-tests: New file.
33573         * tests/unistr/test-u32-cpy.c: New file.
33574
33575         Tests for module 'unistr/u16-cpy'.
33576         * modules/unistr/u16-cpy-tests: New file.
33577         * tests/unistr/test-u16-cpy.c: New file.
33578
33579         Tests for module 'unistr/u8-cpy'.
33580         * modules/unistr/u8-cpy-tests: New file.
33581         * tests/unistr/test-u8-cpy.c: New file.
33582         * tests/unistr/test-cpy.h: New file.
33583
33584 2010-01-09  Bruno Haible  <bruno@clisp.org>
33585
33586         Tests for module 'unistr/u32-uctomb'.
33587         * modules/unistr/u32-uctomb-tests: New file.
33588         * tests/unistr/test-u32-uctomb.c: New file.
33589
33590         Tests for module 'unistr/u16-uctomb'.
33591         * modules/unistr/u16-uctomb-tests: New file.
33592         * tests/unistr/test-u16-uctomb.c: New file.
33593
33594         Tests for module 'unistr/u8-uctomb'.
33595         * modules/unistr/u8-uctomb-tests: New file.
33596         * tests/unistr/test-u8-uctomb.c: New file.
33597
33598         Tests for module 'unistr/u32-mbtoucr'.
33599         * modules/unistr/u32-mbtoucr-tests: New file.
33600         * tests/unistr/test-u32-mbtoucr.c: New file.
33601
33602         Tests for module 'unistr/u16-mbtoucr'.
33603         * modules/unistr/u16-mbtoucr-tests: New file.
33604         * tests/unistr/test-u16-mbtoucr.c: New file.
33605
33606         Tests for module 'unistr/u8-mbtoucr'.
33607         * modules/unistr/u8-mbtoucr-tests: New file.
33608         * tests/unistr/test-u8-mbtoucr.c: New file.
33609
33610         Tests for module 'unistr/u32-mbtouc'.
33611         * modules/unistr/u32-mbtouc-tests: New file.
33612         * tests/unistr/test-u32-mbtouc.c: New file.
33613
33614         Tests for module 'unistr/u16-mbtouc'.
33615         * modules/unistr/u16-mbtouc-tests: New file.
33616         * tests/unistr/test-u16-mbtouc.c: New file.
33617
33618         Tests for module 'unistr/u8-mbtouc'.
33619         * modules/unistr/u8-mbtouc-tests: New file.
33620         * tests/unistr/test-u8-mbtouc.c: New file.
33621
33622         Tests for module 'unistr/u32-mbtouc-unsafe'.
33623         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
33624         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
33625         * tests/unistr/test-u32-mbtouc.h: New file.
33626
33627         Tests for module 'unistr/u16-mbtouc-unsafe'.
33628         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
33629         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
33630         * tests/unistr/test-u16-mbtouc.h: New file.
33631
33632         Tests for module 'unistr/u8-mbtouc-unsafe'.
33633         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
33634         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
33635         * tests/unistr/test-u8-mbtouc.h: New file.
33636
33637         Tests for module 'unistr/u32-mblen'.
33638         * modules/unistr/u32-mblen-tests: New file.
33639         * tests/unistr/test-u32-mblen.c: New file.
33640
33641         Tests for module 'unistr/u16-mblen'.
33642         * modules/unistr/u16-mblen-tests: New file.
33643         * tests/unistr/test-u16-mblen.c: New file.
33644
33645         Tests for module 'unistr/u8-mblen'.
33646         * modules/unistr/u8-mblen-tests: New file.
33647         * tests/unistr/test-u8-mblen.c: New file.
33648
33649         Tests for module 'unistr/u32-to-u16'.
33650         * modules/unistr/u32-to-u16-tests: New file.
33651         * tests/unistr/test-u32-to-u16.c: New file.
33652
33653         Tests for module 'unistr/u32-to-u8'.
33654         * modules/unistr/u32-to-u8-tests: New file.
33655         * tests/unistr/test-u32-to-u8.c: New file.
33656
33657         Tests for module 'unistr/u16-to-u32'.
33658         * modules/unistr/u16-to-u32-tests: New file.
33659         * tests/unistr/test-u16-to-u32.c: New file.
33660
33661         Tests for module 'unistr/u16-to-u8'.
33662         * modules/unistr/u16-to-u8-tests: New file.
33663         * tests/unistr/test-u16-to-u8.c: New file.
33664
33665         Tests for module 'unistr/u8-to-u32'.
33666         * modules/unistr/u8-to-u32-tests: New file.
33667         * tests/unistr/test-u8-to-u32.c: New file.
33668
33669         Tests for module 'unistr/u8-to-u16'.
33670         * modules/unistr/u8-to-u16-tests: New file.
33671         * tests/unistr/test-u8-to-u16.c: New file.
33672
33673         Tests for module 'unistr/u32-check'.
33674         * modules/unistr/u32-check-tests: New file.
33675         * tests/unistr/test-u32-check.c: New file.
33676
33677         Tests for module 'unistr/u16-check'.
33678         * modules/unistr/u16-check-tests: New file.
33679         * tests/unistr/test-u16-check.c: New file.
33680
33681         Tests for module 'unistr/u8-check'.
33682         * modules/unistr/u8-check-tests: New file.
33683         * tests/unistr/test-u8-check.c: New file.
33684
33685         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
33686         (category_equals): New function.
33687         (main): Add more tests.
33688         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
33689
33690         * tests/unictype/test-bidi_byname.c (main): Add more tests.
33691
33692 2010-01-10  Bruno Haible  <bruno@clisp.org>
33693
33694         unistr/u*-strcoll: Try harder to distinguish different strings.
33695         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
33696         compare s1 and s2 to see if they are different.
33697
33698 2010-01-10  Bruno Haible  <bruno@clisp.org>
33699
33700         unistr/u*-stpncpy: Fix the return value.
33701         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
33702         description of the return value consistent with stpncpy in glibc.
33703         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
33704         written non-NUL unit.
33705
33706 2010-01-10  Bruno Haible  <bruno@clisp.org>
33707
33708         unistr/u*-next: Add missing dependencies.
33709         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
33710         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
33711         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
33712
33713 2010-01-10  Bruno Haible  <bruno@clisp.org>
33714
33715         unistr/u8-mbsnlen: Fix return value for incomplete character.
33716         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
33717         u8_mblen.
33718         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
33719         Remove unistr/u8-mblen.
33720         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
33721         u16_mblen.
33722         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
33723         Remove unistr/u16-mblen.
33724
33725 2010-01-10  Bruno Haible  <bruno@clisp.org>
33726
33727         wchar: Fix compilation error when <wchar.h> is used from coreutils.
33728         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
33729         Reported by Brian Gough <bjg@gnu.org> and
33730         Chris Clayton <chris2553@googlemail.com> via
33731         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
33732
33733 2010-01-09  Bruno Haible  <bruno@clisp.org>
33734
33735         unistr/u16-to-u32: Reject invalid input.
33736         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
33737         u16_mbtouc.
33738         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
33739         Remove unistr/u16-mbtouc.
33740
33741         unistr/u16-to-u8: Reject invalid input.
33742         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
33743         u16_mbtouc.
33744         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
33745         Remove unistr/u16-mbtouc.
33746
33747         unistr/u8-to-u32: Reject invalid input.
33748         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
33749         u8_mbtouc.
33750         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
33751         Remove unistr/u8-mbtouc.
33752
33753         unistr/u8-to-u16: Reject invalid input.
33754         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
33755         u8_mbtouc.
33756         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
33757         Remove unistr/u8-mbtouc.
33758
33759 2010-01-09  Bruno Haible  <bruno@clisp.org>
33760
33761         Tests for module 'getlogin'.
33762         * modules/getlogin-tests: New file.
33763         * tests/test-getlogin.c: New file.
33764
33765         New module 'getlogin'.
33766         * lib/unistd.in.h (getlogin): New declaration.
33767         * lib/getlogin.c: New file.
33768         * m4/getlogin.m4: New file.
33769         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
33770         HAVE_GETLOGIN.
33771         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
33772         HAVE_GETLOGIN.
33773         * modules/getlogin: New file.
33774         * doc/posix-functions/getlogin.texi: Mention the new module.
33775         Reported by John W. Eaton <jwe@gnu.org>.
33776
33777 2010-01-09  Bruno Haible  <bruno@clisp.org>
33778
33779         getlogin_r: Support for native Windows.
33780         * lib/getlogin_r.c: Include <windows.h>
33781         (getlogin_r): Implement for native Windows.
33782         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
33783         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
33784         via John W. Eaton <jwe@gnu.org>.
33785
33786 2010-01-09  Bruno Haible  <bruno@clisp.org>
33787
33788         getlogin_r: Small fixes.
33789         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
33790         succeeds.
33791         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
33792         before testing whether getlogin_r is declared. No need to set
33793         HAVE_DECL_GETLOGIN_R to 1.
33794         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
33795
33796 2010-01-09  Bruno Haible  <bruno@clisp.org>
33797
33798         * lib/unistd.in.h (getlogin_r): Add comment.
33799
33800 2010-01-09  Bruno Haible  <bruno@clisp.org>
33801
33802         Tests for module 'getlogin_r'.
33803         * modules/getlogin_r-tests: New file.
33804         * tests/test-getlogin_r.c: New file.
33805
33806 2010-01-09  Jim Meyering  <meyering@redhat.com>
33807
33808         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
33809         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
33810         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
33811
33812 2010-01-08  Simon Josefsson  <simon@josefsson.org>
33813
33814         * lib/dup2.c (rpl_dup2): Improve comment.
33815
33816 2010-01-08  Eric Blake  <ebb9@byu.net>
33817
33818         maint.mk: allow packages to add makefile @@ exceptions
33819         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
33820         (sc_makefile_check): Rename...
33821         (sc_makefile_at_at_check): ...to this, and use hook.
33822
33823         dup2: work around mingw bug
33824         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
33825         Reported by Simon Josefsson.
33826
33827 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
33828
33829         glob: Fix C++ compilation.
33830         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
33831         C++.
33832
33833 2010-01-07  Bruno Haible  <bruno@clisp.org>
33834
33835         Fix indentation of wctype.in.h, broken since 2007-01-06.
33836         * lib/wctype.in.h: Fix indentation of preprocessor directives.
33837
33838 2010-01-07  Bruno Haible  <bruno@clisp.org>
33839
33840         mbslen: Avoid collision with system function.
33841         * lib/string.in.h [MirBSD]: Include <wchar.h>.
33842         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
33843         * m4/mbslen.m4: New file.
33844         * modules/mbslen (Files): Add it.
33845         (configure.ac): Invoke gl_MBSLEN.
33846         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
33847         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
33848         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
33849         via Ian Beckwith <ianb@erislabs.net>.
33850
33851 2010-01-07  Bruno Haible  <bruno@clisp.org>
33852
33853         dirent: Document the last fix.
33854         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
33855
33856 2010-01-07  Bruno Haible  <bruno@clisp.org>
33857
33858         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
33859         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
33860         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
33861         va_list are defined.
33862         * doc/posix-headers/stdio.texi: Document the bug of missing types.
33863         Reported by Eric Blake.
33864
33865 2010-01-07  Bruno Haible  <bruno@clisp.org>
33866
33867         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
33868         * modules/xlist (Depends-on): Add 'list',
33869         * modules/xoset (Depends-on): Add 'oset'.
33870         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33871
33872 2010-01-07  Bruno Haible  <bruno@clisp.org>
33873
33874         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
33875         * doc/posix-functions/strncasecmp.texi: Likewise.
33876
33877 2010-01-07  Bruno Haible  <bruno@clisp.org>
33878
33879         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
33880
33881 2010-01-07  John W. Eaton  <jwe@octave.org>
33882
33883         wctype: allow C++ use
33884         * lib/wctype.in.h: Add extern "C" block for C++.
33885
33886 2010-01-06  Eric Blake  <ebb9@byu.net>
33887
33888         maint.mk: detect incorrect GFDL usage
33889         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
33890
33891 2010-01-06  Jim Meyering  <meyering@redhat.com>
33892         and Eric Blake  <ebb9@byu.net>
33893
33894         maint.mk: ignore multi-line copyright in NEWS
33895         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
33896
33897 2010-01-06  Eric Blake  <ebb9@byu.net>
33898
33899         select: add missing dependency
33900         * modules/select-tests (Depends-on): Move sockets dependency...
33901         * modules/select (Depends-on): ...here.
33902         Reported by Ian Beckwith.
33903
33904         doc: regenerate INSTALL
33905         * doc/INSTALL: Reflect recent autoconf update.
33906         * doc/INSTALL.ISO: Likewise.
33907         * doc/INSTALL.UTF-8: Likewise.
33908
33909         pread: fix compilation on glibc
33910         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
33911         Reported by Ralf Wildenhues.
33912
33913         dirent: fix test failure
33914         * lib/dirent.in.h (includes): Guarantee ino_t.
33915         Reported by Ralf Wildenhues.
33916
33917 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
33918
33919         linkat, renameat: avoid bad free
33920         * lib/at-func2.c (at_func2): Fix typo.
33921         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
33922
33923 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33924
33925         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
33926         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
33927         to avoid failure of symlink test later.
33928
33929 2010-01-06  Eric Blake  <ebb9@byu.net>
33930
33931         stdio, unistd: guarantee ssize_t
33932         * lib/unistd.in.h (includes): Ensure that types required by POSIX
33933         2008 are exposed when needed.
33934         * lib/stdio.in.h (includes): Likewise.
33935         Reported by Ralf Wildenhues.
33936
33937 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
33938
33939         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
33940         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
33941         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
33942
33943 2010-01-06  Jim Meyering  <meyering@redhat.com>
33944
33945         readtokens: this module *does* require xalloc.h
33946         It uses only functions that were omitted by the old syntax-check rule.
33947         * lib/readtokens.c: Include "xalloc.h" once again.
33948         * modules/readtokens (Depends-on): Add xalloc.
33949         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
33950
33951 2010-01-05  Eric Blake  <ebb9@byu.net>
33952
33953         maint: support 'make announcement' from a VPATH build
33954         * top/maint.mk (announcement): Look for correct NEWS file.
33955
33956 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
33957
33958         utimens (fdutimens): ignore a negative FD, per contract
33959         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
33960         when we have a valid file descriptor.  Otherwise, using a brand
33961         new glibc (with just-patched futimens that now fails with EBADF)
33962         would cause this function to fail with ENOSYS.
33963         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
33964         See also http://bugzilla.redhat.com/552320.
33965
33966 2010-01-05  Eric Blake  <ebb9@byu.net>
33967
33968         strcase: document what it provides
33969         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
33970         gnulib module.
33971         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
33972         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
33973
33974 2010-01-05  Jim Meyering  <meyering@redhat.com>
33975
33976         maint: remove useless inclusions of "xalloc.h"
33977         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
33978         * lib/readtokens.c: Likewise.
33979         * lib/same.c: Likewise.
33980         * modules/getloadavg (Depends-on): Remove xalloc.
33981         * modules/readtokens: Likewise.
33982         * modules/same: Likewise.
33983
33984         maint.mk: include 4 more function names in alloca.h-checking regexp
33985         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
33986         regexp.  Before, we would give a false-positive (saying alloca.h
33987         is included unnecessarily) when the only uses involved omitted symbols.
33988
33989         xalloc.h: use consistent formatting
33990         * lib/xalloc.h: Move declarations to start in the first column.
33991
33992 2010-01-05  Eric Blake  <ebb9@byu.net>
33993
33994         mkdir: avoid xalloc
33995         * lib/mkdir.c (includes): Drop unused header.
33996         Reported by John W. Eaton.
33997
33998 2010-01-04  Jim Meyering  <meyering@redhat.com>
33999
34000         nl_langinfo: avoid configure-time syntax error
34001         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
34002         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
34003         the empty string.  Don't let that provoke a shell syntax error.
34004
34005         regcomp, regexec, fnmatch: avoid array bounds read error
34006         * lib/regcomp.c (build_equiv_class): From glibc:
34007         Use only the low 24 bits of a findidx return value as an index
34008         into the weights array.  Patch by Ulrich Drepper:
34009         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
34010         * lib/regexec.c (check_node_accept_bytes): Likewise.
34011         * lib/fnmatch_loop.c (FCT): Likewise.
34012
34013         regcomp: skip collseq lookup when there are no rules
34014         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
34015         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
34016
34017         regcomp: recognize ill-formed { } expressions
34018         * lib/regcomp.c (parse_dup_op): From glibc:
34019         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
34020
34021         regcomp: fix typo in comment
34022         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
34023         s/satisfy/satisfies/.
34024
34025         regcomp: sync from glibc: remove dead store
34026         * lib/regcomp.c (duplicate_node_closure): Remove useless
34027         search_duplicated_node call and dead store.
34028
34029         regcomp: sync from glibc; always use nl_langinfo
34030         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
34031         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
34032         * modules/regex (Depends-on): Add nl_langinfo.
34033
34034 2010-01-04  Eric Blake  <ebb9@byu.net>
34035
34036         fdopendir: fix configure test
34037         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
34038
34039 2010-01-01  Bruno Haible  <bruno@clisp.org>
34040
34041         wchar: Remove unused configure check.
34042         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
34043
34044 2010-01-01  Eric Blake  <ebb9@byu.net>
34045
34046         headers: make check of system header explicit
34047         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
34048         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
34049         ourselves.
34050         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
34051         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34052         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
34053         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
34054         internals.
34055         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
34056         missing.
34057         Suggested by Bruno Haible.
34058
34059 2010-01-01  Jim Meyering  <meyering@redhat.com>
34060
34061         ChangeLog: tweak to eliminate unnecessary copyright line
34062         * ChangeLog: Remove a copyright line that was mistakenly updated
34063         by today's update-copyright run.  Reported by Eric Blake.
34064
34065         test-update-copyright: don't let envvar setting cause test failure
34066         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
34067
34068 2010-01-01  Bruno Haible  <bruno@clisp.org>
34069
34070         localename: Avoid gcc warning.
34071         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
34072         function if it is not used.
34073
34074 2010-01-01  Jim Meyering  <meyering@redhat.com>
34075
34076         update nearly all FSF copyright year lists to include 2010
34077         Use the same procedure as for 2009, outlined in
34078         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
34079
34080         version-etc: set COPYRIGHT_YEAR to 2010
34081         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
34082
34083 2009-12-31  Eric Blake  <ebb9@byu.net>
34084
34085         doc: correct availability of cygwin 1.5.x getopt
34086         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
34087         variables.
34088         * doc/posix-functions/opterr.texi (opterr): Likewise.
34089         * doc/posix-functions/optind.texi (optind): Likewise.
34090         * doc/posix-functions/optopt.texi (optopt): Likewise.
34091         * doc/posix-functions/tzname.texi (tzname): Likewise.
34092
34093         openat: update maintainer
34094         * modules/openat (Maintainer): Add myself.
34095
34096         utimens: avoid shadowing warning
34097         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
34098         buffers into one, to avoid shadowing, as well as avoiding a
34099         redundant stat.
34100         Reported by Jim Meyering.
34101
34102         test-dup2: avoid compiler warning
34103         * tests/test-dup2.c (is_inheritable): Only define if used.
34104
34105 2010-01-01  Bruno Haible  <bruno@clisp.org>
34106
34107         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
34108         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
34109         defined, use wctomb instead of wcrtomb.
34110
34111 2010-01-01  Bruno Haible  <bruno@clisp.org>
34112
34113         iconv: Reject native Solaris iconv.
34114         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
34115         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
34116
34117 2009-12-31  Bruno Haible  <bruno@clisp.org>
34118
34119         * tests/test-signal.c (main): Remove test of 'SIG'.
34120
34121 2009-12-31  Bruno Haible  <bruno@clisp.org>
34122
34123         spawn: Fix incomplete fix.
34124         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
34125         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
34126         warnings for GNULIB_POSIXCHECK again.
34127         Reported by Eric Blake.
34128
34129 2009-12-31  Bruno Haible  <bruno@clisp.org>
34130
34131         Avoid namespace pollution on glibc systems.
34132         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
34133         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
34134         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
34135         glibc systems.
34136
34137 2009-12-31  Bruno Haible  <bruno@clisp.org>
34138
34139         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
34140         (gl_REPLACE_WCHAR_H): Turn into a no-op.
34141         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
34142         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
34143         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
34144         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
34145         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
34146
34147 2009-12-31  Bruno Haible  <bruno@clisp.org>
34148
34149         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
34150         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
34151         afterwards.
34152
34153 2009-12-31  Bruno Haible  <bruno@clisp.org>
34154
34155         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
34156         SYS_UTSNAME_H.
34157
34158 2009-12-31  Bruno Haible  <bruno@clisp.org>
34159
34160         spawn: Fix misapplied patch.
34161         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
34162         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
34163         warnings for GNULIB_POSIXCHECK.
34164
34165 2009-12-31  Bruno Haible  <bruno@clisp.org>
34166
34167         times: Update after sys_times changed.
34168         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
34169         * modules/times (Files): Add it.
34170         (configure.ac): Invoke gl_FUNC_TIMES.
34171
34172 2009-12-31  Bruno Haible  <bruno@clisp.org>
34173
34174         Use AC_C_INLINE where necessary.
34175         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
34176         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
34177         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
34178         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
34179         * m4/mbfile.m4 (gl_MBFILE): Likewise.
34180         * m4/mbiter.m4 (gl_MBITER): Likewise.
34181         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
34182         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
34183         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
34184         * modules/u64 (configure.ac): Likewise.
34185
34186 2009-12-31  Bruno Haible  <bruno@clisp.org>
34187
34188         Use AC_C_INLINE instead of module 'inline' where possible.
34189         * modules/inline (Description): Clarify purpose.
34190         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
34191         * modules/count-one-bits (Depends-on): Remove inline.
34192         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
34193         * modules/openat (Depends-on): Remove inline.
34194         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
34195         instead of depending on module 'inline'.
34196         * modules/filevercmp (Depends-on, configure.ac): Likewise.
34197         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
34198         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
34199         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
34200         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
34201         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
34202         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
34203         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
34204         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
34205         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
34206         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
34207         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
34208         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
34209         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
34210         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
34211         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
34212         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
34213         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
34214         Likewise.
34215         * modules/unictype/property-ascii-hex-digit (Depends-on,
34216         configure.ac): Likewise.
34217         * modules/unictype/property-bidi-arabic-digit (Depends-on,
34218         configure.ac): Likewise.
34219         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
34220         configure.ac): Likewise.
34221         * modules/unictype/property-bidi-block-separator (Depends-on,
34222         configure.ac): Likewise.
34223         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
34224         configure.ac): Likewise.
34225         * modules/unictype/property-bidi-common-separator (Depends-on,
34226         configure.ac): Likewise.
34227         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
34228         Likewise.
34229         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
34230         configure.ac): Likewise.
34231         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
34232         configure.ac): Likewise.
34233         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
34234         configure.ac): Likewise.
34235         * modules/unictype/property-bidi-european-digit (Depends-on,
34236         configure.ac): Likewise.
34237         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
34238         configure.ac): Likewise.
34239         * modules/unictype/property-bidi-left-to-right (Depends-on,
34240         configure.ac): Likewise.
34241         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
34242         configure.ac): Likewise.
34243         * modules/unictype/property-bidi-other-neutral (Depends-on,
34244         configure.ac): Likewise.
34245         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
34246         Likewise.
34247         * modules/unictype/property-bidi-segment-separator (Depends-on,
34248         configure.ac): Likewise.
34249         * modules/unictype/property-bidi-whitespace (Depends-on,
34250         configure.ac): Likewise.
34251         * modules/unictype/property-combining (Depends-on, configure.ac):
34252         Likewise.
34253         * modules/unictype/property-composite (Depends-on, configure.ac):
34254         Likewise.
34255         * modules/unictype/property-currency-symbol (Depends-on,
34256         configure.ac): Likewise.
34257         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
34258         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
34259         Likewise.
34260         * modules/unictype/property-default-ignorable-code-point (Depends-on,
34261         configure.ac): Likewise.
34262         * modules/unictype/property-deprecated (Depends-on, configure.ac):
34263         Likewise.
34264         * modules/unictype/property-diacritic (Depends-on, configure.ac):
34265         Likewise.
34266         * modules/unictype/property-extender (Depends-on, configure.ac):
34267         Likewise.
34268         * modules/unictype/property-format-control (Depends-on, configure.ac):
34269         Likewise.
34270         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
34271         Likewise.
34272         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
34273         Likewise.
34274         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
34275         Likewise.
34276         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
34277         Likewise.
34278         * modules/unictype/property-hyphen (Depends-on, configure.ac):
34279         Likewise.
34280         * modules/unictype/property-id-continue (Depends-on, configure.ac):
34281         Likewise.
34282         * modules/unictype/property-id-start (Depends-on, configure.ac):
34283         Likewise.
34284         * modules/unictype/property-ideographic (Depends-on, configure.ac):
34285         Likewise.
34286         * modules/unictype/property-ids-binary-operator (Depends-on,
34287         configure.ac): Likewise.
34288         * modules/unictype/property-ids-trinary-operator (Depends-on,
34289         configure.ac): Likewise.
34290         * modules/unictype/property-ignorable-control (Depends-on,
34291         configure.ac): Likewise.
34292         * modules/unictype/property-iso-control (Depends-on, configure.ac):
34293         Likewise.
34294         * modules/unictype/property-join-control (Depends-on, configure.ac):
34295         Likewise.
34296         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
34297         Likewise.
34298         * modules/unictype/property-line-separator (Depends-on, configure.ac):
34299         Likewise.
34300         * modules/unictype/property-logical-order-exception (Depends-on,
34301         configure.ac): Likewise.
34302         * modules/unictype/property-lowercase (Depends-on, configure.ac):
34303         Likewise.
34304         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
34305         * modules/unictype/property-non-break (Depends-on, configure.ac):
34306         Likewise.
34307         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
34308         Likewise.
34309         * modules/unictype/property-numeric (Depends-on, configure.ac):
34310         Likewise.
34311         * modules/unictype/property-other-alphabetic (Depends-on,
34312         configure.ac): Likewise.
34313         * modules/unictype/property-other-default-ignorable-code-point
34314         (Depends-on, configure.ac): Likewise.
34315         * modules/unictype/property-other-grapheme-extend (Depends-on,
34316         configure.ac): Likewise.
34317         * modules/unictype/property-other-id-continue (Depends-on,
34318         configure.ac): Likewise.
34319         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
34320         Likewise.
34321         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
34322         Likewise.
34323         * modules/unictype/property-other-math (Depends-on, configure.ac):
34324         Likewise.
34325         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
34326         Likewise.
34327         * modules/unictype/property-paired-punctuation (Depends-on,
34328         configure.ac): Likewise.
34329         * modules/unictype/property-paragraph-separator (Depends-on,
34330         configure.ac): Likewise.
34331         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
34332         Likewise.
34333         * modules/unictype/property-pattern-white-space (Depends-on,
34334         configure.ac): Likewise.
34335         * modules/unictype/property-private-use (Depends-on, configure.ac):
34336         Likewise.
34337         * modules/unictype/property-punctuation (Depends-on, configure.ac):
34338         Likewise.
34339         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
34340         Likewise.
34341         * modules/unictype/property-radical (Depends-on, configure.ac):
34342         Likewise.
34343         * modules/unictype/property-sentence-terminal (Depends-on,
34344         configure.ac): Likewise.
34345         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
34346         Likewise.
34347         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
34348         * modules/unictype/property-terminal-punctuation (Depends-on,
34349         configure.ac): Likewise.
34350         * modules/unictype/property-titlecase (Depends-on, configure.ac):
34351         Likewise.
34352         * modules/unictype/property-unassigned-code-value (Depends-on,
34353         configure.ac): Likewise.
34354         * modules/unictype/property-unified-ideograph (Depends-on,
34355         configure.ac): Likewise.
34356         * modules/unictype/property-uppercase (Depends-on, configure.ac):
34357         Likewise.
34358         * modules/unictype/property-variation-selector (Depends-on,
34359         configure.ac): Likewise.
34360         * modules/unictype/property-white-space (Depends-on, configure.ac):
34361         Likewise.
34362         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
34363         Likewise.
34364         * modules/unictype/property-xid-start (Depends-on, configure.ac):
34365         Likewise.
34366         * modules/unictype/property-zero-width (Depends-on, configure.ac):
34367         Likewise.
34368         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
34369         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
34370         Likewise.
34371
34372 2009-12-31  Bruno Haible  <bruno@clisp.org>
34373
34374         Remove unnecessary AC_C_INLINE invocation.
34375         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
34376         since 2009-08-21.
34377
34378 2009-12-31  Jim Meyering  <meyering@redhat.com>
34379
34380         maint.mk: don't require explicit gpg_key_ID in cfg.mk
34381         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
34382         With this change, we can all remove the gpg_key_ID = ... definition
34383         from our respective cfg.mk files.
34384
34385         maint.mk: create announcement template in ~/, not in /tmp
34386         * top/maint.mk (emit_upload_commands): Adjust.
34387         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
34388         Remove temporary file, .ci-msg.
34389
34390 2009-12-31  Eric Blake  <ebb9@byu.net>
34391
34392         link-warning: always build headers with link warnings
34393         * modules/arpa_inet (Makefile.am): Always build replacement
34394         header.
34395         * modules/ctype (Makefile.am): Likewise.
34396         * modules/dirent (Makefile.am): Likewise.
34397         * modules/inttypes (Makefile.am): Likewise.
34398         * modules/langinfo (Makefile.am): Likewise.
34399         * modules/locale (Makefile.am): Likewise.
34400         * modules/spawn (Makefile.am): Likewise.
34401         * modules/sys_file (Makefile.am): Likewise.
34402         * modules/sys_ioctl (Makefile.am): Likewise.
34403         * modules/sys_select (Makefile.am): Likewise.
34404         * modules/sys_socket (Makefile.am): Likewise.
34405         * modules/sys_times (Makefile.am): Likewise.
34406         * modules/sys_utsname (Makefile.am): Likewise.
34407         * modules/sys_wait (Makefile.am): Likewise.
34408         * modules/wchar (Makefile.am): Likewise.
34409         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
34410         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
34411         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
34412         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
34413         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
34414         Likewise.
34415         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
34416         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
34417         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
34418         Likewise.
34419         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
34420         Likewise.
34421         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
34422         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
34423         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
34424         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34425         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
34426         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
34427         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
34428         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
34429         (gl_WCHAR_H_DEFAULTS): Likewise.
34430
34431 2009-12-31  Eric Blake  <ebb9@byu.net>
34432
34433         signal, spawn: use link warnings
34434         * lib/signal.in.h (sigset_t): Make unconditional.
34435         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
34436         (sigpending, sigprocmask, sigaction): Add link warnings.
34437         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
34438         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
34439         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
34440         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
34441         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
34442         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
34443         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
34444         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
34445         (posix_spawn_file_actions_destroy)
34446         (posix_spawn_file_actions_addopen)
34447         (posix_spawn_file_actions_addclose)
34448         (posix_spawn_file_actions_adddup2): Likewise.
34449         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
34450         * tests/test-signal.c (main): Enhance test.
34451
34452         spawn: improve wrapper support
34453         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
34454         (gl_SPAWN_H_DEFAULTS): New defaults.
34455         * modules/spawn (Makefile.am): Substitute them.
34456         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
34457         Only declare if missing or broken.
34458
34459         sys_times, sys_utsname: use include_next
34460         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
34461         header.
34462         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
34463         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
34464         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
34465         * modules/sys_times (Depends-on): Add include_next.
34466         (Makefile.am): Substitute additional values.
34467         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
34468         * lib/sys_times.in.h (includes): Include native header, if
34469         available.
34470         * lib/sys_utsname.in.h (includes): Likewise.
34471         * tests/test-sys_times.c (main): Enhance test.
34472
34473         fdutimensat: revert prior patch
34474         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
34475         utimens.h.
34476         Reported by Bruno Haible.
34477
34478 2009-12-30  Eric Blake  <ebb9@byu.net>
34479
34480         sys_wait: drop link-warning dependency
34481         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
34482         link-warning efforts.
34483         * lib/sys_wait.in.h: Likewise.
34484
34485         fdutimensat: remove bogus dependency
34486         * modules/fdutimensat (Depends-on): Drop inline.
34487
34488         unistd: fix typo
34489         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
34490
34491 2009-12-30  Bruno Haible  <bruno@clisp.org>
34492
34493         Fix compilation error with Solaris cc.
34494         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
34495         * lib/unicase/u16-is-invariant.c: Likewise.
34496         * lib/unicase/u32-is-invariant.c: Likewise.
34497         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
34498
34499 2009-12-30  Bruno Haible  <bruno@clisp.org>
34500
34501         Fix test crash.
34502         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
34503         locales.
34504         Reported by Simon Josefsson <simon@josefsson.org>.
34505
34506 2009-12-30  Bruno Haible  <bruno@clisp.org>
34507
34508         Fix compilation error on most platforms.
34509         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
34510         Reported by Simon Josefsson <simon@josefsson.org>
34511         and Nelson H. F. Beebe <beebe@math.utah.edu>.
34512
34513 2009-12-30  Eric Blake  <ebb9@byu.net>
34514
34515         futimens, utimensat: work around ntfs-3g bug
34516         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
34517         a ctime bug is present, and expand workaround to cover ntfs-3g.
34518         * lib/utimens.c (fdutimens, lutimens): Likewise.
34519         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
34520         (validate_timespec): Adjust return value.
34521         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
34522         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
34523         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
34524
34525 2009-12-29  Eric Blake  <ebb9@byu.net>
34526
34527         link-warning: make usage consistent
34528         * modules/ctype (Depends-on): Add link-warning.
34529         (Makefile.am): Update rules accordingly.
34530         * modules/langinfo (Depends-on, Makefile.am): Likewise.
34531         * modules/locale (Depends-on, Makefile.am): Likewise.
34532         * modules/sys_file (Makefile.am): Likewise.
34533         * modules/getopt-posix (Makefile.am): Delete unused link warning
34534         efforts.
34535         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
34536         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
34537         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
34538         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
34539
34540         stdio: remove unused variables
34541         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
34542         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
34543         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
34544
34545         tests: test more substitute headers
34546         * modules/ctype-tests: New file.
34547         * modules/dirent-tests: Likewise.
34548         * modules/spawn-tests: Likewise.
34549         * modules/sys_file-tests: Likewise.
34550         * modules/sys_ioctl-tests: Likewise.
34551         * modules/sys_wait-tests: Likewise.
34552         * tests/test-ctype.c: Likewise.
34553         * tests/test-dirent.c: Likewise.
34554         * tests/test-spawn.c: Likewise.
34555         * tests/test-sys_file.c: Likewise.
34556         * tests/test-sys_ioctl.c: Likewise.
34557         * tests/test-sys_wait.c: Likewise.
34558         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
34559         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
34560         whether or not flock is in use.
34561
34562         tests: remove License section from module
34563         * modules/arpa_inet-tests: Remove unneeded section.
34564         * modules/byteswap-tests: Likewise.
34565         * modules/ceilf-tests: Likewise.
34566         * modules/ceill-tests: Likewise.
34567         * modules/crypto/des-tests: Likewise.
34568         * modules/crypto/gc-arcfour-tests: Likewise.
34569         * modules/crypto/gc-arctwo-tests: Likewise.
34570         * modules/crypto/gc-des-tests: Likewise.
34571         * modules/crypto/gc-hmac-md5-tests: Likewise.
34572         * modules/crypto/gc-hmac-sha1-tests: Likewise.
34573         * modules/crypto/gc-md2-tests: Likewise.
34574         * modules/crypto/gc-md4-tests: Likewise.
34575         * modules/crypto/gc-md5-tests: Likewise.
34576         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
34577         * modules/crypto/gc-rijndael-tests: Likewise.
34578         * modules/crypto/gc-sha1-tests: Likewise.
34579         * modules/crypto/gc-tests: Likewise.
34580         * modules/crypto/md2-tests: Likewise.
34581         * modules/crypto/md4-tests: Likewise.
34582         * modules/fcntl-h-tests: Likewise.
34583         * modules/floorf-tests: Likewise.
34584         * modules/floorl-tests: Likewise.
34585         * modules/frexp-nolibm-tests: Likewise.
34586         * modules/frexp-tests: Likewise.
34587         * modules/frexpl-nolibm-tests: Likewise.
34588         * modules/frexpl-tests: Likewise.
34589         * modules/getaddrinfo-tests: Likewise.
34590         * modules/inttypes-tests: Likewise.
34591         * modules/isfinite-tests: Likewise.
34592         * modules/isinf-tests: Likewise.
34593         * modules/ldexpl-tests: Likewise.
34594         * modules/locale-tests: Likewise.
34595         * modules/math-tests: Likewise.
34596         * modules/netdb-tests: Likewise.
34597         * modules/netinet_in-tests: Likewise.
34598         * modules/printf-frexp-tests: Likewise.
34599         * modules/printf-frexpl-tests: Likewise.
34600         * modules/priv-set-tests: Likewise.
34601         * modules/random_r-tests: Likewise.
34602         * modules/round-tests: Likewise.
34603         * modules/roundf-tests: Likewise.
34604         * modules/roundl-tests: Likewise.
34605         * modules/search-tests: Likewise.
34606         * modules/select-tests: Likewise.
34607         * modules/signal-tests: Likewise.
34608         * modules/stdbool-tests: Likewise.
34609         * modules/stddef-tests: Likewise.
34610         * modules/stdint-tests: Likewise.
34611         * modules/stdio-tests: Likewise.
34612         * modules/stdlib-tests: Likewise.
34613         * modules/string-tests: Likewise.
34614         * modules/strings-tests: Likewise.
34615         * modules/sys_select-tests: Likewise.
34616         * modules/sys_socket-tests: Likewise.
34617         * modules/sys_stat-tests: Likewise.
34618         * modules/sys_time-tests: Likewise.
34619         * modules/sys_utsname-tests: Likewise.
34620         * modules/sysexits-tests: Likewise.
34621         * modules/time-tests: Likewise.
34622         * modules/trunc-tests: Likewise.
34623         * modules/truncf-tests: Likewise.
34624         * modules/truncl-tests: Likewise.
34625         * modules/tsearch-tests: Likewise.
34626         * modules/unistd-tests: Likewise.
34627         * modules/wchar-tests: Likewise.
34628         * modules/wctype-tests: Likewise.
34629
34630         tests: fix license on several tests
34631         * tests/test-des.c: Update to GPLv3+.
34632         * tests/test-flock.c: Likewise.
34633         * tests/test-fsync.c: Likewise.
34634         * tests/test-futimens.h: Likewise.
34635         * tests/test-gc-arcfour.c: Likewise.
34636         * tests/test-gc-arctwo.c: Likewise.
34637         * tests/test-gc-des.c: Likewise.
34638         * tests/test-gc-hmac-md5.c: Likewise.
34639         * tests/test-gc-hmac-sha1.c: Likewise.
34640         * tests/test-gc-md2.c: Likewise.
34641         * tests/test-gc-md4.c: Likewise.
34642         * tests/test-gc-md5.c: Likewise.
34643         * tests/test-gc-pbkdf2-sha1.c: Likewise.
34644         * tests/test-gc-rijndael.c: Likewise.
34645         * tests/test-gc-sha1.c: Likewise.
34646         * tests/test-gc.c: Likewise.
34647         * tests/test-getcwd.c: Likewise.
34648         * tests/test-link.c: Likewise.
34649         * tests/test-link.h: Likewise.
34650         * tests/test-lutimens.h: Likewise.
34651         * tests/test-md2.c: Likewise.
34652         * tests/test-md4.c: Likewise.
34653         * tests/test-mkdir.h: Likewise.
34654         * tests/test-rename.c: Likewise.
34655         * tests/test-rename.h: Likewise.
34656         * tests/test-safe-alloc.c: Likewise.
34657         * tests/test-utimens-common.h: Likewise.
34658         * tests/test-utimens.h: Likewise.
34659
34660         maint: sync license texts
34661         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
34662         * doc/gpl-3.0.texi: Revert copyright year update.
34663         * doc/lgpl-3.0.texi: Likewise.
34664
34665 2009-12-29  Jim Meyering  <meyering@redhat.com>
34666
34667         update nearly all FSF copyright year lists to include 2009
34668         The files named by the following are exempted:
34669             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
34670               test -f "$dst" && { echo "$dst"; continue; }
34671               test -d "$dst" || continue
34672               echo "$dst"/$(basename "$src")
34673             done > exempt
34674             git ls-files tests/unictype >> exempt
34675         In the remaining files, convert to all-interval notation if
34676         - there is already at least one year interval like 2000-2003
34677         - the file is maintained by me
34678         - the file is in lib/uni*/, where that style already prevails
34679         Otherwise, use update-copyright's default.
34680
34681 2009-12-29  Simon Josefsson  <simon@josefsson.org>
34682         and Eric Blake  <ebb9@byu.net>
34683
34684         tests: don't require debug system() to pass
34685         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
34686         * tests/test-rmdir.h (test_rmdir_func): Likewise.
34687         * tests/test-unlink.h (test_unlink_func): Likewise.
34688         * tests/test-fstatat.c (main): ...into callers.
34689         * tests/test-lstat.c (main): Likewise.
34690         * tests/test-rmdir.c (main): Likewise.
34691         * tests/test-unlink.c (main): Likewise.
34692         * tests/test-unlinkat.c (main): Likewise.
34693         * tests/test-areadlink-with-size.c (main): Don't require a
34694         debug-only system call to pass, aiding cross-testing to mingw.
34695         * tests/test-areadlink.c (main): Likewise.
34696         * tests/test-areadlinkat-with-size.c (main): Likewise.
34697         * tests/test-areadlinkat.c (main): Likewise.
34698         * tests/test-canonicalize-lgpl.c (main): Likewise.
34699         * tests/test-canonicalize.c (main): Likewise.
34700         * tests/test-chown.c (main): Likewise.
34701         * tests/test-fchownat.c (main): Likewise.
34702         * tests/test-lchown.c (main): Likewise.
34703         * tests/test-fdutimensat.c (main): Likewise.
34704         * tests/test-futimens.c (main): Likewise.
34705         * tests/test-link.c (main): Likewise.
34706         * tests/test-linkat.c (main): Likewise.
34707         * tests/test-mkdir.c (main): Likewise.
34708         * tests/test-mkdirat.c (main): Likewise.
34709         * tests/test-mkfifo.c (main): Likewise.
34710         * tests/test-mkfifoat.c (main): Likewise.
34711         * tests/test-mknod.c (main): Likewise.
34712         * tests/test-readlink.c (main): Likewise.
34713         * tests/test-remove.c (main): Likewise.
34714         * tests/test-rename.c (main): Likewise.
34715         * tests/test-renameat.c (main): Likewise.
34716         * tests/test-symlink.c (main): Likewise.
34717         * tests/test-symlinkat.c (main): Likewise.
34718         * tests/test-utimens.c (main): Likewise.
34719         * tests/test-utimensat.c (main): Likewise.
34720
34721 2009-12-29  Simon Josefsson  <simon@josefsson.org>
34722
34723         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
34724         on $(UNUSED_PARAMETER_H) to avoid build failure.
34725
34726 2009-12-28  Jim Meyering  <meyering@redhat.com>
34727
34728         update-copyright: you may specify a max. line length other than 72
34729         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
34730
34731         maint: use consistent FSF copyright line syntax
34732         * lib/posixtm.c: Add missing comma in FSF copyright line.
34733         * lib/posixtm.h: Likewise.
34734         * lib/getugroups.c: Add missing ", Inc.".
34735
34736         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
34737         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
34738         FSF copyright line.  Remove trailing blanks.
34739
34740 2009-12-28  Eric Blake  <ebb9@byu.net>
34741
34742         test-dup2: reduce dependencies
34743         * modules/cloexec (Configure.ac): Set witness.
34744         * modules/dup2-tests (Depends-on): Drop cloexec.
34745         * tests/test-dup2.c (main): Skip portion of test if cloexec module
34746         not present.
34747         Suggested by Bruno Haible.
34748
34749 2009-12-26  Bruno Haible  <bruno@clisp.org>
34750
34751         Remove an unneeded dependency.
34752         * modules/fseterr (Depends-on): Remove dup2.
34753
34754 2009-12-26  Eric Blake  <ebb9@byu.net>
34755
34756         tests: use macros.h in more places
34757         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
34758         (ASSERT_STREAM): Provide default of stderr.
34759         * tests/test-dirent-safer.c: Include macros.h, using alternate
34760         stream for assertions.
34761         * tests/test-dup-safer.c: Likewise.
34762         * tests/test-freopen-safer.c: Likewise.
34763         * tests/test-getopt.c: Likewise.
34764         * tests/test-openat-safer.c: Likewise.
34765         * tests/test-pipe.c: Likewise.
34766         * tests/test-popen-safer.c: Likewise.
34767         * modules/dirent-safer-tests (Files): Include macros.h.
34768         * modules/unistd-safer-tests (Files): Likewise.
34769         * modules/freopen-safer-tests (Files): Likewise.
34770         * modules/getopt-posix-tests (Files): Likewise.
34771         * modules/openat-safer-tests (Files): Likewise.
34772         * modules/pipe-tests (Files): Likewise.
34773
34774 2009-12-26  Bruno Haible  <bruno@clisp.org>
34775
34776         javacomp: Portability fix.
34777         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
34778         that it also works on Solaris.
34779
34780 2009-12-26  Bruno Haible  <bruno@clisp.org>
34781
34782         localename: Fix storage allocation of gl_locale_name_thread's result.
34783         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
34784         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
34785         all platforms that have 'uselocale'.
34786         (gl_locale_name_thread_unsafe): New function, extracted from
34787         gl_locale_name_thread.
34788         (gl_locale_name_thread): Call struniq on all platforms that have
34789         'uselocale'.
34790         * tests/test-localename.c (test_locale_name_thread): Check that the
34791         resulting strings are permanently allocated.
34792         * modules/localename-tests (Depends-on): Add strdup.
34793
34794 2009-12-26  Bruno Haible  <bruno@clisp.org>
34795
34796         * tests/test-localename.c (categories): Fill in the strings.
34797
34798 2009-12-26  Jim Meyering  <meyering@redhat.com>
34799
34800         isdir: complete the removal of m4/isdir.m4
34801         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
34802
34803         isdir: clean up, since at least grep still uses it
34804         * lib/isdir.c: Include "isdir.h".
34805         (S_ISDIR): Remove now-unneeded definition.
34806         * modules/isdir (Files): Add lib/isdir.h.
34807         * lib/isdir.h: New file, with declaration.
34808         * m4/isdir.m4: Remove file -- unneeded.
34809
34810 2009-12-25  Bruno Haible  <bruno@clisp.org>
34811
34812         selinux-h: Make generated .h files standalone.
34813         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
34814         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
34815         * lib/se-selinux.in.h: Likewise.
34816         * modules/selinux-h (Depends-on): Add unused-parameter.
34817         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
34818         selinux/selinux.h and selinux/context.h.
34819         Suggested by Eric Blake.
34820
34821 2009-12-25  Bruno Haible  <bruno@clisp.org>
34822
34823         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
34824         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
34825         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
34826         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
34827         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
34828
34829 2009-12-24  Bruno Haible  <bruno@clisp.org>
34830
34831         openat: Fix warning.
34832         * lib/openat-proc.c: Include <unistd.h>.
34833
34834 2009-12-24  Bruno Haible  <bruno@clisp.org>
34835
34836         New module 'unused-parameter'.
34837         * build-aux/unused-parameter.h: New file, extracted from earlier
34838         gnulib-common.m4.
34839         * modules/unused-parameter: New file.
34840         * lib/unistr.h: Include unused-parameter.h.
34841         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
34842         _GL_UNUSED.
34843         * modules/unistr/base (Depends-on): Add unused-parameter.
34844
34845 2009-12-24  Bruno Haible  <bruno@clisp.org>
34846
34847         Add missing dependencies to 'extensions' module.
34848         * m4/extensions.m4: Add comment.
34849         * modules/accept4 (Depends-on): Add extensions.
34850         * modules/dup3 (Depends-on): Likewise.
34851         * modules/fcntl (Depends-on): Likewise.
34852         * modules/futimens (Depends-on): Likewise.
34853         * modules/mknod (Depends-on): Likewise.
34854         * modules/pipe2 (Depends-on): Likewise.
34855         * modules/stat-time (Depends-on): Likewise.
34856         * modules/strcasestr-simple (Depends-on): Likewise.
34857         * modules/strsignal (Depends-on): Likewise.
34858         * modules/utimensat (Depends-on): Likewise.
34859         * modules/localcharset (Depends-on): Likewise. Needed because of
34860         gl_FCNTL_O_FLAGS.
34861         * modules/wcrtomb (Depends-on): Likewise. Needed because of
34862         AC_TYPE_MBSTATE_T.
34863         * modules/wcsnrtombs (Depends-on): Likewise.
34864         * modules/wcsrtombs (Depends-on): Likewise.
34865
34866 2009-12-24  Bruno Haible  <bruno@clisp.org>
34867
34868         binary-io: Avoid gcc warning due to SET_BINARY.
34869         * lib/binary-io.h (SET_BINARY): Cast the result to void.
34870         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
34871
34872 2009-12-24  Bruno Haible  <bruno@clisp.org>
34873
34874         Avoid future namespace pollution on glibc systems.
34875         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
34876         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
34877         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
34878         glibc systems.
34879
34880 2009-12-24  Bruno Haible  <bruno@clisp.org>
34881
34882         Refactor common macros used in tests.
34883         * tests/macros.h: New file.
34884         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
34885         and/or <stdlib.h>, if appropriate.
34886         (ASSERT, SIZEOF): Remove macros.
34887         * tests/test-areadlink-with-size.c: Likewise.
34888         * tests/test-areadlinkat.c: Likewise.
34889         * tests/test-areadlinkat-with-size.c: Likewise.
34890         * tests/test-argmatch.c: Likewise.
34891         * tests/test-argv-iter.c: Likewise.
34892         * tests/test-array-mergesort.c: Likewise.
34893         * tests/test-array_list.c: Likewise.
34894         * tests/test-array_oset.c: Likewise.
34895         * tests/test-avltree_list.c: Likewise.
34896         * tests/test-avltree_oset.c: Likewise.
34897         * tests/test-avltreehash_list.c: Likewise.
34898         * tests/test-base64.c: Likewise.
34899         * tests/test-binary-io.c: Likewise.
34900         * tests/test-bitrotate.c: Likewise.
34901         * tests/test-btowc.c: Likewise.
34902         * tests/test-byteswap.c: Likewise.
34903         * tests/test-c-ctype.c: Likewise.
34904         * tests/test-c-stack.c: Likewise.
34905         * tests/test-c-strcasecmp.c: Likewise.
34906         * tests/test-c-strcasestr.c: Likewise.
34907         * tests/test-c-strncasecmp.c: Likewise.
34908         * tests/test-c-strstr.c: Likewise.
34909         * tests/test-canonicalize-lgpl.c: Likewise.
34910         * tests/test-canonicalize.c: Likewise.
34911         * tests/test-carray_list.c: Likewise.
34912         * tests/test-ceilf1.c: Likewise.
34913         * tests/test-ceilf2.c: Likewise.
34914         * tests/test-ceill.c: Likewise.
34915         * tests/test-chown.c: Likewise.
34916         * tests/test-cloexec.c: Likewise.
34917         * tests/test-copy-acl.c: Likewise.
34918         * tests/test-copy-file.c: Likewise.
34919         * tests/test-count-one-bits.c: Likewise.
34920         * tests/test-dprintf-posix.c: Likewise.
34921         * tests/test-dup2.c: Likewise.
34922         * tests/test-dup3.c: Likewise.
34923         * tests/test-duplocale.c: Likewise.
34924         * tests/test-fbufmode.c: Likewise.
34925         * tests/test-fchdir.c: Likewise.
34926         * tests/test-fchownat.c: Likewise.
34927         * tests/test-fcntl-safer.c: Likewise.
34928         * tests/test-fcntl.c: Likewise.
34929         * tests/test-fdopendir.c: Likewise.
34930         * tests/test-fdutimensat.c: Likewise.
34931         * tests/test-fflush2.c: Likewise.
34932         * tests/test-file-has-acl.c: Likewise.
34933         * tests/test-filevercmp.c: Likewise.
34934         * tests/test-flock.c: Likewise.
34935         * tests/test-floorf1.c: Likewise.
34936         * tests/test-floorf2.c: Likewise.
34937         * tests/test-floorl.c: Likewise.
34938         * tests/test-fnmatch.c: Likewise.
34939         * tests/test-fopen.h: Likewise.
34940         * tests/test-fpending.c: Likewise.
34941         * tests/test-fprintf-posix.c: Likewise.
34942         * tests/test-fpurge.c: Likewise.
34943         * tests/test-freadable.c: Likewise.
34944         * tests/test-freadahead.c: Likewise.
34945         * tests/test-freading.c: Likewise.
34946         * tests/test-freadptr.c: Likewise.
34947         * tests/test-freadptr2.c: Likewise.
34948         * tests/test-freadseek.c: Likewise.
34949         * tests/test-freopen.c: Likewise.
34950         * tests/test-frexp.c: Likewise.
34951         * tests/test-frexpl.c: Likewise.
34952         * tests/test-fseek.c: Likewise.
34953         * tests/test-fseeko.c: Likewise.
34954         * tests/test-fstatat.c: Likewise.
34955         * tests/test-fstrcmp.c: Likewise.
34956         * tests/test-fsync.c: Likewise.
34957         * tests/test-ftell.c: Likewise.
34958         * tests/test-ftello.c: Likewise.
34959         * tests/test-func.c: Likewise.
34960         * tests/test-futimens.c: Likewise.
34961         * tests/test-fwritable.c: Likewise.
34962         * tests/test-fwriting.c: Likewise.
34963         * tests/test-getcwd.c: Likewise.
34964         * tests/test-getdate.c: Likewise.
34965         * tests/test-getdelim.c: Likewise.
34966         * tests/test-getdtablesize.c: Likewise.
34967         * tests/test-getgroups.c: Likewise.
34968         * tests/test-getline.c: Likewise.
34969         * tests/test-getndelim2.c: Likewise.
34970         * tests/test-glob.c: Likewise.
34971         * tests/test-hash.c: Likewise.
34972         * tests/test-i-ring.c: Likewise.
34973         * tests/test-iconv-utf.c: Likewise.
34974         * tests/test-iconv.c: Likewise.
34975         * tests/test-idpriv-drop.c: Likewise.
34976         * tests/test-idpriv-droptemp.c: Likewise.
34977         * tests/test-inet_ntop.c: Likewise.
34978         * tests/test-inet_pton.c: Likewise.
34979         * tests/test-isblank.c: Likewise.
34980         * tests/test-isfinite.c: Likewise.
34981         * tests/test-isinf.c: Likewise.
34982         * tests/test-isnan.c: Likewise.
34983         * tests/test-isnand.h: Likewise.
34984         * tests/test-isnanf.h: Likewise.
34985         * tests/test-isnanl.h: Likewise.
34986         * tests/test-lchown.c: Likewise.
34987         * tests/test-ldexpl.c: Likewise.
34988         * tests/test-link.c: Likewise.
34989         * tests/test-linkat.c: Likewise.
34990         * tests/test-linked_list.c: Likewise.
34991         * tests/test-linkedhash_list.c: Likewise.
34992         * tests/test-localename.c: Likewise.
34993         * tests/test-lseek.c: Likewise.
34994         * tests/test-lstat.c: Likewise.
34995         * tests/test-mbmemcasecmp.c: Likewise.
34996         * tests/test-mbmemcasecoll.c: Likewise.
34997         * tests/test-mbrtowc.c: Likewise.
34998         * tests/test-mbscasecmp.c: Likewise.
34999         * tests/test-mbscasestr1.c: Likewise.
35000         * tests/test-mbscasestr2.c: Likewise.
35001         * tests/test-mbscasestr3.c: Likewise.
35002         * tests/test-mbscasestr4.c: Likewise.
35003         * tests/test-mbschr.c: Likewise.
35004         * tests/test-mbscspn.c: Likewise.
35005         * tests/test-mbsinit.c: Likewise.
35006         * tests/test-mbsncasecmp.c: Likewise.
35007         * tests/test-mbsnrtowcs.c: Likewise.
35008         * tests/test-mbspbrk.c: Likewise.
35009         * tests/test-mbspcasecmp.c: Likewise.
35010         * tests/test-mbsrchr.c: Likewise.
35011         * tests/test-mbsrtowcs.c: Likewise.
35012         * tests/test-mbsspn.c: Likewise.
35013         * tests/test-mbsstr1.c: Likewise.
35014         * tests/test-mbsstr2.c: Likewise.
35015         * tests/test-mbsstr3.c: Likewise.
35016         * tests/test-memchr.c: Likewise.
35017         * tests/test-memchr2.c: Likewise.
35018         * tests/test-memcmp.c: Likewise.
35019         * tests/test-memmem.c: Likewise.
35020         * tests/test-memrchr.c: Likewise.
35021         * tests/test-mkdir.c: Likewise.
35022         * tests/test-mkdirat.c: Likewise.
35023         * tests/test-mkfifo.c: Likewise.
35024         * tests/test-mkfifoat.c: Likewise.
35025         * tests/test-mknod.c: Likewise.
35026         * tests/test-nanosleep.c: Likewise.
35027         * tests/test-nl_langinfo.c: Likewise.
35028         * tests/test-obstack-printf.c: Likewise.
35029         * tests/test-open.c: Likewise.
35030         * tests/test-openat.c: Likewise.
35031         * tests/test-pipe-filter-gi1.c: Likewise.
35032         * tests/test-pipe-filter-gi2-main.c: Likewise.
35033         * tests/test-pipe-filter-ii1.c: Likewise.
35034         * tests/test-pipe-filter-ii2-main.c: Likewise.
35035         * tests/test-pipe2.c: Likewise.
35036         * tests/test-popen.h: Likewise.
35037         * tests/test-posixtm.c: Likewise.
35038         * tests/test-pread.c: Likewise.
35039         * tests/test-printf-frexp.c: Likewise.
35040         * tests/test-printf-frexpl.c: Likewise.
35041         * tests/test-printf-posix.c: Likewise.
35042         * tests/test-priv-set.c: Likewise.
35043         * tests/test-quotearg.c: Likewise.
35044         * tests/test-random_r.c: Likewise.
35045         * tests/test-rawmemchr.c: Likewise.
35046         * tests/test-rbtree_list.c: Likewise.
35047         * tests/test-rbtree_oset.c: Likewise.
35048         * tests/test-rbtreehash_list.c: Likewise.
35049         * tests/test-readlink.c: Likewise.
35050         * tests/test-remove.c: Likewise.
35051         * tests/test-rename.c: Likewise.
35052         * tests/test-renameat.c: Likewise.
35053         * tests/test-rmdir.c: Likewise.
35054         * tests/test-round1.c: Likewise.
35055         * tests/test-roundf1.c: Likewise.
35056         * tests/test-roundl.c: Likewise.
35057         * tests/test-safe-alloc.c: Likewise.
35058         * tests/test-sameacls.c: Likewise.
35059         * tests/test-set-mode-acl.c: Likewise.
35060         * tests/test-setenv.c: Likewise.
35061         * tests/test-sigaction.c: Likewise.
35062         * tests/test-signbit.c: Likewise.
35063         * tests/test-sleep.c: Likewise.
35064         * tests/test-snprintf-posix.c: Likewise.
35065         * tests/test-snprintf.c: Likewise.
35066         * tests/test-sprintf-posix.c: Likewise.
35067         * tests/test-stat-time.c: Likewise.
35068         * tests/test-stat.c: Likewise.
35069         * tests/test-strcasestr.c: Likewise.
35070         * tests/test-strchrnul.c: Likewise.
35071         * tests/test-strerror.c: Likewise.
35072         * tests/test-striconv.c: Likewise.
35073         * tests/test-striconveh.c: Likewise.
35074         * tests/test-striconveha.c: Likewise.
35075         * tests/test-strsignal.c: Likewise.
35076         * tests/test-strstr.c: Likewise.
35077         * tests/test-strtod.c: Likewise.
35078         * tests/test-strverscmp.c: Likewise.
35079         * tests/test-symlink.c: Likewise.
35080         * tests/test-symlinkat.c: Likewise.
35081         * tests/test-trunc1.c: Likewise.
35082         * tests/test-trunc2.c: Likewise.
35083         * tests/test-truncf1.c: Likewise.
35084         * tests/test-truncf2.c: Likewise.
35085         * tests/test-truncl.c: Likewise.
35086         * tests/test-uname.c: Likewise.
35087         * tests/test-unlink.c: Likewise.
35088         * tests/test-unlinkat.c: Likewise.
35089         * tests/test-unsetenv.c: Likewise.
35090         * tests/test-usleep.c: Likewise.
35091         * tests/test-utimens.c: Likewise.
35092         * tests/test-utimensat.c: Likewise.
35093         * tests/test-vasnprintf-posix.c: Likewise.
35094         * tests/test-vasnprintf-posix2.c: Likewise.
35095         * tests/test-vasnprintf.c: Likewise.
35096         * tests/test-vasprintf-posix.c: Likewise.
35097         * tests/test-vasprintf.c: Likewise.
35098         * tests/test-vdprintf-posix.c: Likewise.
35099         * tests/test-vfprintf-posix.c: Likewise.
35100         * tests/test-vprintf-posix.c: Likewise.
35101         * tests/test-vsnprintf-posix.c: Likewise.
35102         * tests/test-vsnprintf.c: Likewise.
35103         * tests/test-vsprintf-posix.c: Likewise.
35104         * tests/test-wcrtomb.c: Likewise.
35105         * tests/test-wcsnrtombs.c: Likewise.
35106         * tests/test-wcsrtombs.c: Likewise.
35107         * tests/test-wctype.c: Likewise.
35108         * tests/test-wcwidth.c: Likewise.
35109         * tests/test-xfprintf-posix.c: Likewise.
35110         * tests/test-xmemdup0.c: Likewise.
35111         * tests/test-xprintf-posix.c: Likewise.
35112         * tests/test-xvasprintf.c: Likewise.
35113         * tests/unicase/test-locale-language.c: Likewise.
35114         * tests/unicase/test-mapping-part1.h: Likewise.
35115         * tests/unicase/test-predicate-part1.h: Likewise.
35116         * tests/unicase/test-u8-casecmp.c: Likewise.
35117         * tests/unicase/test-u8-casecoll.c: Likewise.
35118         * tests/unicase/test-u8-casefold.c: Likewise.
35119         * tests/unicase/test-u8-is-cased.c: Likewise.
35120         * tests/unicase/test-u8-is-casefolded.c: Likewise.
35121         * tests/unicase/test-u8-is-lowercase.c: Likewise.
35122         * tests/unicase/test-u8-is-titlecase.c: Likewise.
35123         * tests/unicase/test-u8-is-uppercase.c: Likewise.
35124         * tests/unicase/test-u8-tolower.c: Likewise.
35125         * tests/unicase/test-u8-totitle.c: Likewise.
35126         * tests/unicase/test-u8-toupper.c: Likewise.
35127         * tests/unicase/test-u16-casecmp.c: Likewise.
35128         * tests/unicase/test-u16-casecoll.c: Likewise.
35129         * tests/unicase/test-u16-casefold.c: Likewise.
35130         * tests/unicase/test-u16-is-cased.c: Likewise.
35131         * tests/unicase/test-u16-is-casefolded.c: Likewise.
35132         * tests/unicase/test-u16-is-lowercase.c: Likewise.
35133         * tests/unicase/test-u16-is-titlecase.c: Likewise.
35134         * tests/unicase/test-u16-is-uppercase.c: Likewise.
35135         * tests/unicase/test-u16-tolower.c: Likewise.
35136         * tests/unicase/test-u16-totitle.c: Likewise.
35137         * tests/unicase/test-u16-toupper.c: Likewise.
35138         * tests/unicase/test-u32-casecmp.c: Likewise.
35139         * tests/unicase/test-u32-casecoll.c: Likewise.
35140         * tests/unicase/test-u32-casefold.c: Likewise.
35141         * tests/unicase/test-u32-is-cased.c: Likewise.
35142         * tests/unicase/test-u32-is-casefolded.c: Likewise.
35143         * tests/unicase/test-u32-is-lowercase.c: Likewise.
35144         * tests/unicase/test-u32-is-titlecase.c: Likewise.
35145         * tests/unicase/test-u32-is-uppercase.c: Likewise.
35146         * tests/unicase/test-u32-tolower.c: Likewise.
35147         * tests/unicase/test-u32-totitle.c: Likewise.
35148         * tests/unicase/test-u32-toupper.c: Likewise.
35149         * tests/unicase/test-ulc-casecmp.c: Likewise.
35150         * tests/unicase/test-ulc-casecoll.c: Likewise.
35151         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
35152         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
35153         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
35154         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
35155         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
35156         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
35157         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
35158         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
35159         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
35160         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
35161         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
35162         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
35163         * tests/unictype/test-bidi_byname.c: Likewise.
35164         * tests/unictype/test-bidi_name.c: Likewise.
35165         * tests/unictype/test-bidi_of.c: Likewise.
35166         * tests/unictype/test-bidi_test.c: Likewise.
35167         * tests/unictype/test-block_list.c: Likewise.
35168         * tests/unictype/test-block_of.c: Likewise.
35169         * tests/unictype/test-block_test.c: Likewise.
35170         * tests/unictype/test-categ_and.c: Likewise.
35171         * tests/unictype/test-categ_and_not.c: Likewise.
35172         * tests/unictype/test-categ_byname.c: Likewise.
35173         * tests/unictype/test-categ_name.c: Likewise.
35174         * tests/unictype/test-categ_none.c: Likewise.
35175         * tests/unictype/test-categ_of.c: Likewise.
35176         * tests/unictype/test-categ_or.c: Likewise.
35177         * tests/unictype/test-categ_test_withtable.c: Likewise.
35178         * tests/unictype/test-combining.c: Likewise.
35179         * tests/unictype/test-decdigit.c: Likewise.
35180         * tests/unictype/test-digit.c: Likewise.
35181         * tests/unictype/test-mirror.c: Likewise.
35182         * tests/unictype/test-numeric.c: Likewise.
35183         * tests/unictype/test-pr_byname.c: Likewise.
35184         * tests/unictype/test-pr_test.c: Likewise.
35185         * tests/unictype/test-predicate-part1.h: Likewise.
35186         * tests/unictype/test-scripts.c: Likewise.
35187         * tests/unictype/test-sy_c_ident.c: Likewise.
35188         * tests/unictype/test-sy_java_ident.c: Likewise.
35189         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
35190         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
35191         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
35192         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
35193         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
35194         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
35195         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
35196         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
35197         * tests/uninorm/test-canonical-decomposition.c: Likewise.
35198         * tests/uninorm/test-compat-decomposition.c: Likewise.
35199         * tests/uninorm/test-composition.c: Likewise.
35200         * tests/uninorm/test-decomposing-form.c: Likewise.
35201         * tests/uninorm/test-decomposition.c: Likewise.
35202         * tests/uninorm/test-u8-nfc.c: Likewise.
35203         * tests/uninorm/test-u8-nfd.c: Likewise.
35204         * tests/uninorm/test-u8-nfkc.c: Likewise.
35205         * tests/uninorm/test-u8-nfkd.c: Likewise.
35206         * tests/uninorm/test-u8-normcmp.c: Likewise.
35207         * tests/uninorm/test-u8-normcoll.c: Likewise.
35208         * tests/uninorm/test-u16-nfc.c: Likewise.
35209         * tests/uninorm/test-u16-nfd.c: Likewise.
35210         * tests/uninorm/test-u16-nfkc.c: Likewise.
35211         * tests/uninorm/test-u16-nfkd.c: Likewise.
35212         * tests/uninorm/test-u16-normcmp.c: Likewise.
35213         * tests/uninorm/test-u16-normcoll.c: Likewise.
35214         * tests/uninorm/test-u32-nfc.c: Likewise.
35215         * tests/uninorm/test-u32-nfd.c: Likewise.
35216         * tests/uninorm/test-u32-nfkc.c: Likewise.
35217         * tests/uninorm/test-u32-nfkd.c: Likewise.
35218         * tests/uninorm/test-u32-normalize-big.c: Likewise.
35219         * tests/uninorm/test-u32-normcmp.c: Likewise.
35220         * tests/uninorm/test-u32-normcoll.c: Likewise.
35221         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
35222         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
35223         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
35224         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
35225         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
35226         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
35227         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
35228         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
35229         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
35230         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
35231         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
35232         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
35233         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
35234         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
35235         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
35236         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
35237         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
35238         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
35239         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
35240         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
35241         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
35242         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
35243         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
35244         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
35245         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
35246         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
35247         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
35248         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
35249         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
35250         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
35251         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
35252         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
35253         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
35254         * tests/uniwidth/test-u8-strwidth.c: Likewise.
35255         * tests/uniwidth/test-u8-width.c: Likewise.
35256         * tests/uniwidth/test-u16-strwidth.c: Likewise.
35257         * tests/uniwidth/test-u16-width.c: Likewise.
35258         * tests/uniwidth/test-u32-strwidth.c: Likewise.
35259         * tests/uniwidth/test-u32-width.c: Likewise.
35260         * tests/uniwidth/test-uc_width.c: Likewise.
35261         * tests/uniwidth/test-uc_width2.c: Likewise.
35262         * modules/acl-tests (Files): Add tests/macros.h.
35263         * modules/areadlink-tests (Files): Likewise.
35264         * modules/areadlink-with-size-tests (Files): Likewise.
35265         * modules/areadlinkat-tests (Files): Likewise.
35266         * modules/areadlinkat-with-size-tests (Files): Likewise.
35267         * modules/argmatch-tests (Files): Likewise.
35268         * modules/argv-iter-tests (Files): Likewise.
35269         * modules/array-list-tests (Files): Likewise.
35270         * modules/array-mergesort-tests (Files): Likewise.
35271         * modules/array-oset-tests (Files): Likewise.
35272         * modules/avltree-list-tests (Files): Likewise.
35273         * modules/avltree-oset-tests (Files): Likewise.
35274         * modules/avltreehash-list-tests (Files): Likewise.
35275         * modules/base64-tests (Files): Likewise.
35276         * modules/binary-io-tests (Files): Likewise.
35277         * modules/bitrotate-tests (Files): Likewise.
35278         * modules/btowc-tests (Files): Likewise.
35279         * modules/byteswap-tests (Files): Likewise.
35280         * modules/c-ctype-tests (Files): Likewise.
35281         * modules/c-stack-tests (Files): Likewise.
35282         * modules/c-strcase-tests (Files): Likewise.
35283         * modules/c-strcasestr-tests (Files): Likewise.
35284         * modules/c-strstr-tests (Files): Likewise.
35285         * modules/canonicalize-lgpl-tests (Files): Likewise.
35286         * modules/canonicalize-tests (Files): Likewise.
35287         * modules/carray-list-tests (Files): Likewise.
35288         * modules/ceilf-tests (Files): Likewise.
35289         * modules/ceill-tests (Files): Likewise.
35290         * modules/chown-tests (Files): Likewise.
35291         * modules/cloexec-tests (Files): Likewise.
35292         * modules/copy-file-tests (Files): Likewise.
35293         * modules/count-one-bits-tests (Files): Likewise.
35294         * modules/dprintf-posix-tests (Files): Likewise.
35295         * modules/dup2-tests (Files): Likewise.
35296         * modules/dup3-tests (Files): Likewise.
35297         * modules/duplocale-tests (Files): Likewise.
35298         * modules/fbufmode-tests (Files): Likewise.
35299         * modules/fchdir-tests (Files): Likewise.
35300         * modules/fcntl-safer-tests (Files): Likewise.
35301         * modules/fcntl-tests (Files): Likewise.
35302         * modules/fdopendir-tests (Files): Likewise.
35303         * modules/fdutimensat-tests (Files): Likewise.
35304         * modules/fflush-tests (Files): Likewise.
35305         * modules/filevercmp-tests (Files): Likewise.
35306         * modules/flock-tests (Files): Likewise.
35307         * modules/floorf-tests (Files): Likewise.
35308         * modules/floorl-tests (Files): Likewise.
35309         * modules/fnmatch-tests (Files): Likewise.
35310         * modules/fopen-safer-tests (Files): Likewise.
35311         * modules/fopen-tests (Files): Likewise.
35312         * modules/fpending-tests (Files): Likewise.
35313         * modules/fprintf-posix-tests (Files): Likewise.
35314         * modules/fpurge-tests (Files): Likewise.
35315         * modules/freadable-tests (Files): Likewise.
35316         * modules/freadahead-tests (Files): Likewise.
35317         * modules/freading-tests (Files): Likewise.
35318         * modules/freadptr-tests (Files): Likewise.
35319         * modules/freadseek-tests (Files): Likewise.
35320         * modules/freopen-tests (Files): Likewise.
35321         * modules/frexp-nolibm-tests (Files): Likewise.
35322         * modules/frexp-tests (Files): Likewise.
35323         * modules/frexpl-nolibm-tests (Files): Likewise.
35324         * modules/frexpl-tests (Files): Likewise.
35325         * modules/fseek-tests (Files): Likewise.
35326         * modules/fseeko-tests (Files): Likewise.
35327         * modules/fstrcmp-tests (Files): Likewise.
35328         * modules/fsync-tests (Files): Likewise.
35329         * modules/ftell-tests (Files): Likewise.
35330         * modules/ftello-tests (Files): Likewise.
35331         * modules/func-tests (Files): Likewise.
35332         * modules/futimens-tests (Files): Likewise.
35333         * modules/fwritable-tests (Files): Likewise.
35334         * modules/fwriting-tests (Files): Likewise.
35335         * modules/getcwd-tests (Files): Likewise.
35336         * modules/getdate-tests (Files): Likewise.
35337         * modules/getdelim-tests (Files): Likewise.
35338         * modules/getdtablesize-tests (Files): Likewise.
35339         * modules/getgroups-tests (Files): Likewise.
35340         * modules/getline-tests (Files): Likewise.
35341         * modules/getndelim2-tests (Files): Likewise.
35342         * modules/glob-tests (Files): Likewise.
35343         * modules/hash-tests (Files): Likewise.
35344         * modules/i-ring-tests (Files): Likewise.
35345         * modules/iconv-tests (Files): Likewise.
35346         * modules/iconv_open-utf-tests (Files): Likewise.
35347         * modules/idpriv-drop-tests (Files): Likewise.
35348         * modules/idpriv-droptemp-tests (Files): Likewise.
35349         * modules/inet_ntop-tests (Files): Likewise.
35350         * modules/inet_pton-tests (Files): Likewise.
35351         * modules/isblank-tests (Files): Likewise.
35352         * modules/isfinite-tests (Files): Likewise.
35353         * modules/isinf-tests (Files): Likewise.
35354         * modules/isnan-tests (Files): Likewise.
35355         * modules/isnand-nolibm-tests (Files): Likewise.
35356         * modules/isnand-tests (Files): Likewise.
35357         * modules/isnanf-nolibm-tests (Files): Likewise.
35358         * modules/isnanf-tests (Files): Likewise.
35359         * modules/isnanl-nolibm-tests (Files): Likewise.
35360         * modules/isnanl-tests (Files): Likewise.
35361         * modules/lchown-tests (Files): Likewise.
35362         * modules/ldexpl-tests (Files): Likewise.
35363         * modules/link-tests (Files): Likewise.
35364         * modules/linkat-tests (Files): Likewise.
35365         * modules/linked-list-tests (Files): Likewise.
35366         * modules/linkedhash-list-tests (Files): Likewise.
35367         * modules/localename-tests (Files): Likewise.
35368         * modules/lseek-tests (Files): Likewise.
35369         * modules/lstat-tests (Files): Likewise.
35370         * modules/mbmemcasecmp-tests (Files): Likewise.
35371         * modules/mbmemcasecoll-tests (Files): Likewise.
35372         * modules/mbrtowc-tests (Files): Likewise.
35373         * modules/mbscasecmp-tests (Files): Likewise.
35374         * modules/mbscasestr-tests (Files): Likewise.
35375         * modules/mbschr-tests (Files): Likewise.
35376         * modules/mbscspn-tests (Files): Likewise.
35377         * modules/mbsinit-tests (Files): Likewise.
35378         * modules/mbsncasecmp-tests (Files): Likewise.
35379         * modules/mbsnrtowcs-tests (Files): Likewise.
35380         * modules/mbspbrk-tests (Files): Likewise.
35381         * modules/mbspcasecmp-tests (Files): Likewise.
35382         * modules/mbsrchr-tests (Files): Likewise.
35383         * modules/mbsrtowcs-tests (Files): Likewise.
35384         * modules/mbsspn-tests (Files): Likewise.
35385         * modules/mbsstr-tests (Files): Likewise.
35386         * modules/memchr-tests (Files): Likewise.
35387         * modules/memchr2-tests (Files): Likewise.
35388         * modules/memcmp-tests (Files): Likewise.
35389         * modules/memmem-tests (Files): Likewise.
35390         * modules/memrchr-tests (Files): Likewise.
35391         * modules/mkdir-tests (Files): Likewise.
35392         * modules/mkfifo-tests (Files): Likewise.
35393         * modules/mkfifoat-tests (Files): Likewise.
35394         * modules/mknod-tests (Files): Likewise.
35395         * modules/nanosleep-tests (Files): Likewise.
35396         * modules/nl_langinfo-tests (Files): Likewise.
35397         * modules/obstack-printf-tests (Files): Likewise.
35398         * modules/open-tests (Files): Likewise.
35399         * modules/openat-tests (Files): Likewise.
35400         * modules/pipe-filter-gi-tests (Files): Likewise.
35401         * modules/pipe-filter-ii-tests (Files): Likewise.
35402         * modules/pipe2-tests (Files): Likewise.
35403         * modules/popen-safer-tests (Files): Likewise.
35404         * modules/popen-tests (Files): Likewise.
35405         * modules/posixtm-tests (Files): Likewise.
35406         * modules/pread-tests (Files): Likewise.
35407         * modules/printf-frexp-tests (Files): Likewise.
35408         * modules/printf-frexpl-tests (Files): Likewise.
35409         * modules/printf-posix-tests (Files): Likewise.
35410         * modules/priv-set-tests (Files): Likewise.
35411         * modules/quotearg-tests (Files): Likewise.
35412         * modules/random_r-tests (Files): Likewise.
35413         * modules/rawmemchr-tests (Files): Likewise.
35414         * modules/rbtree-list-tests (Files): Likewise.
35415         * modules/rbtree-oset-tests (Files): Likewise.
35416         * modules/rbtreehash-list-tests (Files): Likewise.
35417         * modules/readlink-tests (Files): Likewise.
35418         * modules/remove-tests (Files): Likewise.
35419         * modules/rename-tests (Files): Likewise.
35420         * modules/renameat-tests (Files): Likewise.
35421         * modules/rmdir-tests (Files): Likewise.
35422         * modules/round-tests (Files): Likewise.
35423         * modules/roundf-tests (Files): Likewise.
35424         * modules/roundl-tests (Files): Likewise.
35425         * modules/safe-alloc-tests (Files): Likewise.
35426         * modules/setenv-tests (Files): Likewise.
35427         * modules/sigaction-tests (Files): Likewise.
35428         * modules/signbit-tests (Files): Likewise.
35429         * modules/sleep-tests (Files): Likewise.
35430         * modules/snprintf-posix-tests (Files): Likewise.
35431         * modules/snprintf-tests (Files): Likewise.
35432         * modules/sprintf-posix-tests (Files): Likewise.
35433         * modules/stat-tests (Files): Likewise.
35434         * modules/stat-time-tests (Files): Likewise.
35435         * modules/strcasestr-tests (Files): Likewise.
35436         * modules/strchrnul-tests (Files): Likewise.
35437         * modules/strerror-tests (Files): Likewise.
35438         * modules/striconv-tests (Files): Likewise.
35439         * modules/striconveh-tests (Files): Likewise.
35440         * modules/striconveha-tests (Files): Likewise.
35441         * modules/strsignal-tests (Files): Likewise.
35442         * modules/strstr-tests (Files): Likewise.
35443         * modules/strtod-tests (Files): Likewise.
35444         * modules/strverscmp-tests (Files): Likewise.
35445         * modules/symlink-tests (Files): Likewise.
35446         * modules/symlinkat-tests (Files): Likewise.
35447         * modules/trunc-tests (Files): Likewise.
35448         * modules/truncf-tests (Files): Likewise.
35449         * modules/truncl-tests (Files): Likewise.
35450         * modules/uname-tests (Files): Likewise.
35451         * modules/unicase/cased-tests (Files): Likewise.
35452         * modules/unicase/ignorable-tests (Files): Likewise.
35453         * modules/unicase/locale-language-tests (Files): Likewise.
35454         * modules/unicase/tolower-tests (Files): Likewise.
35455         * modules/unicase/totitle-tests (Files): Likewise.
35456         * modules/unicase/toupper-tests (Files): Likewise.
35457         * modules/unicase/u8-casecmp-tests (Files): Likewise.
35458         * modules/unicase/u8-casecoll-tests (Files): Likewise.
35459         * modules/unicase/u8-casefold-tests (Files): Likewise.
35460         * modules/unicase/u8-is-cased-tests (Files): Likewise.
35461         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
35462         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
35463         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
35464         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
35465         * modules/unicase/u8-tolower-tests (Files): Likewise.
35466         * modules/unicase/u8-totitle-tests (Files): Likewise.
35467         * modules/unicase/u8-toupper-tests (Files): Likewise.
35468         * modules/unicase/u16-casecmp-tests (Files): Likewise.
35469         * modules/unicase/u16-casecoll-tests (Files): Likewise.
35470         * modules/unicase/u16-casefold-tests (Files): Likewise.
35471         * modules/unicase/u16-is-cased-tests (Files): Likewise.
35472         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
35473         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
35474         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
35475         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
35476         * modules/unicase/u16-tolower-tests (Files): Likewise.
35477         * modules/unicase/u16-totitle-tests (Files): Likewise.
35478         * modules/unicase/u16-toupper-tests (Files): Likewise.
35479         * modules/unicase/u32-casecmp-tests (Files): Likewise.
35480         * modules/unicase/u32-casecoll-tests (Files): Likewise.
35481         * modules/unicase/u32-casefold-tests (Files): Likewise.
35482         * modules/unicase/u32-is-cased-tests (Files): Likewise.
35483         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
35484         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
35485         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
35486         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
35487         * modules/unicase/u32-tolower-tests (Files): Likewise.
35488         * modules/unicase/u32-totitle-tests (Files): Likewise.
35489         * modules/unicase/u32-toupper-tests (Files): Likewise.
35490         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
35491         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
35492         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
35493         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
35494         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
35495         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
35496         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
35497         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
35498         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
35499         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
35500         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
35501         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
35502         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
35503         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
35504         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
35505         * modules/unictype/bidicategory-name-tests (Files): Likewise.
35506         * modules/unictype/bidicategory-of-tests (Files): Likewise.
35507         * modules/unictype/bidicategory-test-tests (Files): Likewise.
35508         * modules/unictype/block-list-tests (Files): Likewise.
35509         * modules/unictype/block-of-tests (Files): Likewise.
35510         * modules/unictype/block-test-tests (Files): Likewise.
35511         * modules/unictype/category-C-tests (Files): Likewise.
35512         * modules/unictype/category-Cc-tests (Files): Likewise.
35513         * modules/unictype/category-Cf-tests (Files): Likewise.
35514         * modules/unictype/category-Cn-tests (Files): Likewise.
35515         * modules/unictype/category-Co-tests (Files): Likewise.
35516         * modules/unictype/category-Cs-tests (Files): Likewise.
35517         * modules/unictype/category-L-tests (Files): Likewise.
35518         * modules/unictype/category-Ll-tests (Files): Likewise.
35519         * modules/unictype/category-Lm-tests (Files): Likewise.
35520         * modules/unictype/category-Lo-tests (Files): Likewise.
35521         * modules/unictype/category-Lt-tests (Files): Likewise.
35522         * modules/unictype/category-Lu-tests (Files): Likewise.
35523         * modules/unictype/category-M-tests (Files): Likewise.
35524         * modules/unictype/category-Mc-tests (Files): Likewise.
35525         * modules/unictype/category-Me-tests (Files): Likewise.
35526         * modules/unictype/category-Mn-tests (Files): Likewise.
35527         * modules/unictype/category-N-tests (Files): Likewise.
35528         * modules/unictype/category-Nd-tests (Files): Likewise.
35529         * modules/unictype/category-Nl-tests (Files): Likewise.
35530         * modules/unictype/category-No-tests (Files): Likewise.
35531         * modules/unictype/category-P-tests (Files): Likewise.
35532         * modules/unictype/category-Pc-tests (Files): Likewise.
35533         * modules/unictype/category-Pd-tests (Files): Likewise.
35534         * modules/unictype/category-Pe-tests (Files): Likewise.
35535         * modules/unictype/category-Pf-tests (Files): Likewise.
35536         * modules/unictype/category-Pi-tests (Files): Likewise.
35537         * modules/unictype/category-Po-tests (Files): Likewise.
35538         * modules/unictype/category-Ps-tests (Files): Likewise.
35539         * modules/unictype/category-S-tests (Files): Likewise.
35540         * modules/unictype/category-Sc-tests (Files): Likewise.
35541         * modules/unictype/category-Sk-tests (Files): Likewise.
35542         * modules/unictype/category-Sm-tests (Files): Likewise.
35543         * modules/unictype/category-So-tests (Files): Likewise.
35544         * modules/unictype/category-Z-tests (Files): Likewise.
35545         * modules/unictype/category-Zl-tests (Files): Likewise.
35546         * modules/unictype/category-Zp-tests (Files): Likewise.
35547         * modules/unictype/category-Zs-tests (Files): Likewise.
35548         * modules/unictype/category-and-not-tests (Files): Likewise.
35549         * modules/unictype/category-and-tests (Files): Likewise.
35550         * modules/unictype/category-byname-tests (Files): Likewise.
35551         * modules/unictype/category-name-tests (Files): Likewise.
35552         * modules/unictype/category-none-tests (Files): Likewise.
35553         * modules/unictype/category-of-tests (Files): Likewise.
35554         * modules/unictype/category-or-tests (Files): Likewise.
35555         * modules/unictype/category-test-withtable-tests (Files): Likewise.
35556         * modules/unictype/combining-class-tests (Files): Likewise.
35557         * modules/unictype/ctype-alnum-tests (Files): Likewise.
35558         * modules/unictype/ctype-alpha-tests (Files): Likewise.
35559         * modules/unictype/ctype-blank-tests (Files): Likewise.
35560         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
35561         * modules/unictype/ctype-digit-tests (Files): Likewise.
35562         * modules/unictype/ctype-graph-tests (Files): Likewise.
35563         * modules/unictype/ctype-lower-tests (Files): Likewise.
35564         * modules/unictype/ctype-print-tests (Files): Likewise.
35565         * modules/unictype/ctype-punct-tests (Files): Likewise.
35566         * modules/unictype/ctype-space-tests (Files): Likewise.
35567         * modules/unictype/ctype-upper-tests (Files): Likewise.
35568         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
35569         * modules/unictype/decimal-digit-tests (Files): Likewise.
35570         * modules/unictype/digit-tests (Files): Likewise.
35571         * modules/unictype/mirror-tests (Files): Likewise.
35572         * modules/unictype/numeric-tests (Files): Likewise.
35573         * modules/unictype/property-alphabetic-tests (Files): Likewise.
35574         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
35575         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
35576         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
35577         Likewise.
35578         * modules/unictype/property-bidi-block-separator-tests (Files):
35579         Likewise.
35580         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
35581         Likewise.
35582         * modules/unictype/property-bidi-common-separator-tests (Files):
35583         Likewise.
35584         * modules/unictype/property-bidi-control-tests (Files): Likewise.
35585         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
35586         Likewise.
35587         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
35588         Likewise.
35589         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
35590         Likewise.
35591         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
35592         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
35593         Likewise.
35594         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
35595         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
35596         Likewise.
35597         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
35598         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
35599         * modules/unictype/property-bidi-segment-separator-tests (Files):
35600         Likewise.
35601         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
35602         * modules/unictype/property-byname-tests (Files): Likewise.
35603         * modules/unictype/property-combining-tests (Files): Likewise.
35604         * modules/unictype/property-composite-tests (Files): Likewise.
35605         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
35606         * modules/unictype/property-dash-tests (Files): Likewise.
35607         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
35608         * modules/unictype/property-default-ignorable-code-point-tests (Files):
35609         Likewise.
35610         * modules/unictype/property-deprecated-tests (Files): Likewise.
35611         * modules/unictype/property-diacritic-tests (Files): Likewise.
35612         * modules/unictype/property-extender-tests (Files): Likewise.
35613         * modules/unictype/property-format-control-tests (Files): Likewise.
35614         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
35615         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
35616         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
35617         * modules/unictype/property-hex-digit-tests (Files): Likewise.
35618         * modules/unictype/property-hyphen-tests (Files): Likewise.
35619         * modules/unictype/property-id-continue-tests (Files): Likewise.
35620         * modules/unictype/property-id-start-tests (Files): Likewise.
35621         * modules/unictype/property-ideographic-tests (Files): Likewise.
35622         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
35623         * modules/unictype/property-ids-trinary-operator-tests (Files):
35624         Likewise.
35625         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
35626         * modules/unictype/property-iso-control-tests (Files): Likewise.
35627         * modules/unictype/property-join-control-tests (Files): Likewise.
35628         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
35629         * modules/unictype/property-line-separator-tests (Files): Likewise.
35630         * modules/unictype/property-logical-order-exception-tests (Files):
35631         Likewise.
35632         * modules/unictype/property-lowercase-tests (Files): Likewise.
35633         * modules/unictype/property-math-tests (Files): Likewise.
35634         * modules/unictype/property-non-break-tests (Files): Likewise.
35635         * modules/unictype/property-not-a-character-tests (Files): Likewise.
35636         * modules/unictype/property-numeric-tests (Files): Likewise.
35637         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
35638         * modules/unictype/property-other-default-ignorable-code-point-tests
35639         (Files): Likewise.
35640         * modules/unictype/property-other-grapheme-extend-tests (Files):
35641         Likewise.
35642         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
35643         * modules/unictype/property-other-id-start-tests (Files): Likewise.
35644         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
35645         * modules/unictype/property-other-math-tests (Files): Likewise.
35646         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
35647         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
35648         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
35649         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
35650         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
35651         * modules/unictype/property-private-use-tests (Files): Likewise.
35652         * modules/unictype/property-punctuation-tests (Files): Likewise.
35653         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
35654         * modules/unictype/property-radical-tests (Files): Likewise.
35655         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
35656         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
35657         * modules/unictype/property-space-tests (Files): Likewise.
35658         * modules/unictype/property-terminal-punctuation-tests (Files):
35659         Likewise.
35660         * modules/unictype/property-test-tests (Files): Likewise.
35661         * modules/unictype/property-titlecase-tests (Files): Likewise.
35662         * modules/unictype/property-unassigned-code-value-tests (Files):
35663         Likewise.
35664         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
35665         * modules/unictype/property-uppercase-tests (Files): Likewise.
35666         * modules/unictype/property-variation-selector-tests (Files): Likewise.
35667         * modules/unictype/property-white-space-tests (Files): Likewise.
35668         * modules/unictype/property-xid-continue-tests (Files): Likewise.
35669         * modules/unictype/property-xid-start-tests (Files): Likewise.
35670         * modules/unictype/property-zero-width-tests (Files): Likewise.
35671         * modules/unictype/scripts-tests (Files): Likewise.
35672         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
35673         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
35674         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
35675         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
35676         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
35677         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
35678         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
35679         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
35680         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
35681         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
35682         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
35683         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
35684         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
35685         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
35686         * modules/uninorm/composition-tests (Files): Likewise.
35687         * modules/uninorm/decomposing-form-tests (Files): Likewise.
35688         * modules/uninorm/decomposition-tests (Files): Likewise.
35689         * modules/uninorm/filter-tests (Files): Likewise.
35690         * modules/uninorm/nfc-tests (Files): Likewise.
35691         * modules/uninorm/nfd-tests (Files): Likewise.
35692         * modules/uninorm/nfkc-tests (Files): Likewise.
35693         * modules/uninorm/nfkd-tests (Files): Likewise.
35694         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
35695         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
35696         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
35697         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
35698         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
35699         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
35700         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
35701         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
35702         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
35703         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
35704         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
35705         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
35706         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
35707         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
35708         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
35709         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
35710         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
35711         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
35712         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
35713         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
35714         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
35715         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
35716         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
35717         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
35718         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
35719         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
35720         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
35721         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
35722         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
35723         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
35724         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
35725         * modules/uniwidth/u8-width-tests (Files): Likewise.
35726         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
35727         * modules/uniwidth/u16-width-tests (Files): Likewise.
35728         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
35729         * modules/uniwidth/u32-width-tests (Files): Likewise.
35730         * modules/uniwidth/width-tests (Files): Likewise.
35731         * modules/unlink-tests (Files): Likewise.
35732         * modules/unsetenv-tests (Files): Likewise.
35733         * modules/usleep-tests (Files): Likewise.
35734         * modules/utimens-tests (Files): Likewise.
35735         * modules/utimensat-tests (Files): Likewise.
35736         * modules/vasnprintf-posix-tests (Files): Likewise.
35737         * modules/vasnprintf-tests (Files): Likewise.
35738         * modules/vasprintf-posix-tests (Files): Likewise.
35739         * modules/vasprintf-tests (Files): Likewise.
35740         * modules/vdprintf-posix-tests (Files): Likewise.
35741         * modules/vfprintf-posix-tests (Files): Likewise.
35742         * modules/vprintf-posix-tests (Files): Likewise.
35743         * modules/vsnprintf-posix-tests (Files): Likewise.
35744         * modules/vsnprintf-tests (Files): Likewise.
35745         * modules/vsprintf-posix-tests (Files): Likewise.
35746         * modules/wcrtomb-tests (Files): Likewise.
35747         * modules/wcsnrtombs-tests (Files): Likewise.
35748         * modules/wcsrtombs-tests (Files): Likewise.
35749         * modules/wctype-tests (Files): Likewise.
35750         * modules/wcwidth-tests (Files): Likewise.
35751         * modules/xmemdup0-tests (Files): Likewise.
35752         * modules/xprintf-posix-tests (Files): Likewise.
35753         * modules/xvasprintf-tests (Files): Likewise.
35754
35755 2009-12-24  Eric Blake  <ebb9@byu.net>
35756
35757         test-nanosleep: fix typo
35758         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
35759         patch.
35760         Reported by Bruno Haible.
35761
35762 2009-12-24  Bruno Haible  <bruno@clisp.org>
35763
35764         Reduce namespace pollution on glibc systems.
35765         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
35766         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
35767         systems.
35768         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
35769         <getopt.h> on glibc systems.
35770         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
35771         systems.
35772         * lib/fcntl.c: Include <unistd.h> here instead.
35773
35774 2009-12-24  Bruno Haible  <bruno@clisp.org>
35775
35776         * lib/stdlib.in.h (includes): Fix typo in today's commit.
35777
35778 2009-12-24  Eric Blake  <ebb9@byu.net>
35779
35780         tests: add signature checks
35781         * tests/signature.h (SIGNATURE_CHECK): New file.
35782         * modules/atexit-tests (Files): Use it.
35783         * modules/btowc-tests (Files): Likewise.
35784         * modules/canonicalize-lgpl-tests (Files): Likewise.
35785         * modules/ceilf-tests (Files): Likewise.
35786         * modules/ceill-tests (Files): Likewise.
35787         * modules/chown-tests (Files): Likewise.
35788         * modules/dprintf-posix-tests (Files): Likewise.
35789         * modules/dup2-tests (Files): Likewise.
35790         * modules/dup3-tests (Files): Likewise.
35791         * modules/duplocale-tests (Files): Likewise.
35792         * modules/fchdir-tests (Files): Likewise.
35793         * modules/fcntl-tests (Files): Likewise.
35794         * modules/fdopendir-tests (Files): Likewise.
35795         * modules/fflush-tests (Files): Likewise.
35796         * modules/flock-tests (Files): Likewise.
35797         * modules/floorf-tests (Files): Likewise.
35798         * modules/floorl-tests (Files): Likewise.
35799         * modules/fnmatch-tests (Files): Likewise.
35800         * modules/fopen-tests (Files): Likewise.
35801         * modules/fprintf-posix-tests (Files): Likewise.
35802         * modules/freopen-tests (Files): Likewise.
35803         * modules/frexp-nolibm-tests (Files): Likewise.
35804         * modules/frexp-tests (Files): Likewise.
35805         * modules/frexpl-nolibm-tests (Files): Likewise.
35806         * modules/frexpl-tests (Files): Likewise.
35807         * modules/fseek-tests (Files): Likewise.
35808         * modules/fseeko-tests (Files): Likewise.
35809         * modules/fsync-tests (Files): Likewise.
35810         * modules/ftell-tests (Files): Likewise.
35811         * modules/ftello-tests (Files): Likewise.
35812         * modules/futimens-tests (Files): Likewise.
35813         * modules/getaddrinfo-tests (Files): Likewise.
35814         * modules/getcwd-tests (Files): Likewise.
35815         * modules/getdelim-tests (Files): Likewise.
35816         * modules/getdtablesize-tests (Files): Likewise.
35817         * modules/getgroups-tests (Files): Likewise.
35818         * modules/gethostname-tests (Files): Likewise.
35819         * modules/getline-tests (Files): Likewise.
35820         * modules/getopt-posix-tests (Files): Likewise.
35821         * modules/gettimeofday-tests (Files): Likewise.
35822         * modules/glob-tests (Files): Likewise.
35823         * modules/iconv-tests (Files): Likewise.
35824         * modules/inet_ntop-tests (Files): Likewise.
35825         * modules/inet_pton-tests (Files): Likewise.
35826         * modules/isblank-tests (Files): Likewise.
35827         * modules/lchown-tests (Files): Likewise.
35828         * modules/ldexpl-tests (Files): Likewise.
35829         * modules/link-tests (Files): Likewise.
35830         * modules/linkat-tests (Files): Likewise.
35831         * modules/lseek-tests (Files): Likewise.
35832         * modules/lstat-tests (Files): Likewise.
35833         * modules/mbrtowc-tests (Files): Likewise.
35834         * modules/mbsinit-tests (Files): Likewise.
35835         * modules/mbsnrtowcs-tests (Files): Likewise.
35836         * modules/mbsrtowcs-tests (Files): Likewise.
35837         * modules/memchr-tests (Files): Likewise.
35838         * modules/memcmp-tests (Files): Likewise.
35839         * modules/memmem-tests (Files): Likewise.
35840         * modules/memrchr-tests (Files): Likewise.
35841         * modules/mkdir-tests (Files): Likewise.
35842         * modules/mkfifo-tests (Files): Likewise.
35843         * modules/mkfifoat-tests (Files): Likewise.
35844         * modules/mknod-tests (Files): Likewise.
35845         * modules/nanosleep-tests (Files): Likewise.
35846         * modules/nl_langinfo-tests (Files): Likewise.
35847         * modules/obstack-printf-tests (Files): Likewise.
35848         * modules/open-tests (Files): Likewise.
35849         * modules/openat-tests (Files): Likewise.
35850         * modules/perror-tests (Files): Likewise.
35851         * modules/pipe2-tests (Files): Likewise.
35852         * modules/poll-tests (Files): Likewise.
35853         * modules/popen-tests (Files): Likewise.
35854         * modules/posix_spawn-tests (Files): Likewise.
35855         * modules/posix_spawnp-tests (Files): Likewise.
35856         * modules/pread-tests (Files): Likewise.
35857         * modules/printf-posix-tests (Files): Likewise.
35858         * modules/pty-tests (Files): Likewise.
35859         * modules/random_r-tests (Files): Likewise.
35860         * modules/rawmemchr-tests (Files): Likewise.
35861         * modules/readlink-tests (Files): Likewise.
35862         * modules/remove-tests (Files): Likewise.
35863         * modules/rename-tests (Files): Likewise.
35864         * modules/renameat-tests (Files): Likewise.
35865         * modules/rmdir-tests (Files): Likewise.
35866         * modules/round-tests (Files): Likewise.
35867         * modules/roundf-tests (Files): Likewise.
35868         * modules/roundl-tests (Files): Likewise.
35869         * modules/select-tests (Files): Likewise.
35870         * modules/setenv-tests (Files): Likewise.
35871         * modules/sigaction-tests (Files): Likewise.
35872         * modules/sleep-tests (Files): Likewise.
35873         * modules/snprintf-posix-tests (Files): Likewise.
35874         * modules/snprintf-tests (Files): Likewise.
35875         * modules/sprintf-posix-tests (Files): Likewise.
35876         * modules/stat-tests (Files): Likewise.
35877         * modules/strcasestr-tests (Files): Likewise.
35878         * modules/strchrnul-tests (Files): Likewise.
35879         * modules/strerror-tests (Files): Likewise.
35880         * modules/strsignal-tests (Files): Likewise.
35881         * modules/strstr-tests (Files): Likewise.
35882         * modules/strtod-tests (Files): Likewise.
35883         * modules/strverscmp-tests (Files): Likewise.
35884         * modules/symlink-tests (Files): Likewise.
35885         * modules/symlinkat-tests (Files): Likewise.
35886         * modules/times-tests (Files): Likewise.
35887         * modules/trunc-tests (Files): Likewise.
35888         * modules/truncf-tests (Files): Likewise.
35889         * modules/truncl-tests (Files): Likewise.
35890         * modules/tsearch-tests (Files): Likewise.
35891         * modules/uname-tests (Files): Likewise.
35892         * modules/unlink-tests (Files): Likewise.
35893         * modules/unsetenv-tests (Files): Likewise.
35894         * modules/usleep-tests (Files): Likewise.
35895         * modules/utimensat-tests (Files): Likewise.
35896         * modules/vasprintf-tests (Files): Likewise.
35897         * modules/vdprintf-posix-tests (Files): Likewise.
35898         * modules/vfprintf-posix-tests (Files): Likewise.
35899         * modules/vprintf-posix-tests (Files): Likewise.
35900         * modules/vsnprintf-posix-tests (Files): Likewise.
35901         * modules/vsnprintf-tests (Files): Likewise.
35902         * modules/vsprintf-posix-tests (Files): Likewise.
35903         * modules/wcrtomb-tests (Files): Likewise.
35904         * modules/wcsnrtombs-tests (Files): Likewise.
35905         * modules/wcsrtombs-tests (Files): Likewise.
35906         * modules/wcwidth-tests (Files): Likewise.
35907         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
35908         * tests/test-isinf.c (isinf): Likewise.
35909         * tests/test-isnan.c (isnan): Likewise.
35910         * tests/test-signbit.c (signbit): Likewise.
35911         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
35912         declaration, either as macro or with correct signature.
35913         (select): Ensure function under test is declared with correct
35914         signature in correct header.
35915         * tests/test-atexit.c (atexit): Likewise.
35916         * tests/test-btowc.c (btowc): Likewise.
35917         * tests/test-canonicalize-lgpl.c (realpath)
35918         (canonicalize_file_name): Likewise.
35919         * tests/test-ceilf1.c (ceilf): Likewise.
35920         * tests/test-ceill.c (ceill): Likewise.
35921         * tests/test-chown.c (chown): Likewise.
35922         * tests/test-dprintf-posix.c (dprintf): Likewise.
35923         * tests/test-dup2.c (dup2): Likewise.
35924         * tests/test-dup3.c (dup3): Likewise.
35925         * tests/test-duplocale.c (duplocale): Likewise.
35926         * tests/test-fchdir.c (fchdir): Likewise.
35927         * tests/test-fchownat.c (fchownat): Likewise.
35928         * tests/test-fcntl.c (fcntl): Likewise.
35929         * tests/test-fdopendir.c (fdopendir): Likewise.
35930         * tests/test-fflush.c (fflush): Likewise.
35931         * tests/test-flock.c (flock): Likewise.
35932         * tests/test-floorf1.c (floorf): Likewise.
35933         * tests/test-floorl.c (floorl): Likewise.
35934         * tests/test-fnmatch.c (fnmatch): Likewise.
35935         * tests/test-fopen.c (fopen): Likewise.
35936         * tests/test-fprintf-posix.c (fprintf): Likewise.
35937         * tests/test-freopen.c (freopen): Likewise.
35938         * tests/test-frexp.c (frexp): Likewise.
35939         * tests/test-frexpl.c (frexpl): Likewise.
35940         * tests/test-fseek.c (fseek): Likewise.
35941         * tests/test-fseeko.c (fseeko): Likewise.
35942         * tests/test-fstatat.c (fstatat): Likewise.
35943         * tests/test-fsync.c (fsync): Likewise.
35944         * tests/test-ftell.c (ftell): Likewise.
35945         * tests/test-ftello.c (ftello): Likewise.
35946         * tests/test-futimens.c (futimens): Likewise.
35947         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
35948         (gai_strerror): Likewise.
35949         * tests/test-getcwd.c (getcwd): Likewise.
35950         * tests/test-getdelim.c (getdelim): Likewise.
35951         * tests/test-getdtablesize.c (getdtablesize): Likewise.
35952         * tests/test-getgroups.c (getgroups): Likewise.
35953         * tests/test-gethostname.c (gethostname): Likewise.
35954         * tests/test-getline.c (getline): Likewise.
35955         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
35956         Likewise.
35957         * tests/test-gettimeofday.c (gettimeofday): Likewise.
35958         * tests/test-glob.c (glob, globfree): Likewise.
35959         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
35960         * tests/test-inet_ntop.c (inet_ntop): Likewise.
35961         * tests/test-inet_pton.c (inet_pton): Likewise.
35962         * tests/test-isblank.c (isblank): Likewise.
35963         * tests/test-lchown.c (lchown): Likewise.
35964         * tests/test-ldexpl.c (ldexpl): Likewise.
35965         * tests/test-link.c (link): Likewise.
35966         * tests/test-linkat.c (linkat): Likewise.
35967         * tests/test-lseek.c (lseek): Likewise.
35968         * tests/test-lstat.c (lstat): Likewise.
35969         * tests/test-mbrtowc.c (mbrtowc): Likewise.
35970         * tests/test-mbsinit.c (mbsinit): Likewise.
35971         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
35972         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
35973         * tests/test-memchr.c (memchr): Likewise.
35974         * tests/test-memcmp.c (memcmp): Likewise.
35975         * tests/test-memmem.c (memmem): Likewise.
35976         * tests/test-memrchr.c (memrchr): Likewise.
35977         * tests/test-mkdir.c (mkdir): Likewise.
35978         * tests/test-mkdirat.c (mkdirat): Likewise.
35979         * tests/test-mkfifo.c (mkfifo): Likewise.
35980         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
35981         * tests/test-mknod.c (mknod): Likewise.
35982         * tests/test-nanosleep.c (nanosleep): Likewise.
35983         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
35984         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
35985         Likewise.
35986         * tests/test-open.c (open): Likewise.
35987         * tests/test-openat.c (openat): Likewise.
35988         * tests/test-perror.c (perror): Likewise.
35989         * tests/test-pipe2.c (pipe2): Likewise.
35990         * tests/test-poll.c (poll): Likewise.
35991         * tests/test-popen.c (popen, pclose): Likewise.
35992         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
35993         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
35994         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
35995         (posix_spawn_file_actions_destroy)
35996         (posix_spawn_file_actions_addclose)
35997         (posix_spawn_file_actions_addopen)
35998         (posix_spawn_file_actions_adddup2): Likewise.
35999         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
36000         * tests/test-pread.c (pread): Likewise.
36001         * tests/test-printf-posix.c (printf): Likewise.
36002         * tests/test-pty.c (openpty, forkpty): Likewise.
36003         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
36004         (random_r): Likewise.
36005         * tests/test-rawmemchr.c (rawmemchr): Likewise.
36006         * tests/test-readlink.c (readlink): Likewise.
36007         * tests/test-remove.c (remove): Likewise.
36008         * tests/test-rename.c (rename): Likewise.
36009         * tests/test-renameat.c (renameat): Likewise.
36010         * tests/test-rmdir.c (rmdir): Likewise.
36011         * tests/test-round1.c (round): Likewise.
36012         * tests/test-roundf1.c (roundf): Likewise.
36013         * tests/test-roundl.c (roundl): Likewise.
36014         * tests/test-setenv.c (setenv): Likewise.
36015         * tests/test-sigaction.c (sigaction): Likewise.
36016         * tests/test-sleep.c (sleep): Likewise.
36017         * tests/test-snprintf.c (snprintf): Likewise.
36018         * tests/test-sprintf-posix.c (sprintf): Likewise.
36019         * tests/test-stat.c (stat): Likewise.
36020         * tests/test-stpncpy.c (stpncpy): Likewise.
36021         * tests/test-strcasestr.c (strcasestr): Likewise.
36022         * tests/test-strchrnul.c (strchrnul): Likewise.
36023         * tests/test-strerror.c (strerror): Likewise.
36024         * tests/test-strsignal.c (strsignal): Likewise.
36025         * tests/test-strstr.c (strstr): Likewise.
36026         * tests/test-strtod.c (strtod): Likewise.
36027         * tests/test-strverscmp.c (strverscmp): Likewise.
36028         * tests/test-symlink.c (symlink): Likewise.
36029         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
36030         * tests/test-times.c (times): Likewise.
36031         * tests/test-trunc1.c (trunc): Likewise.
36032         * tests/test-truncf1.c (truncf): Likewise.
36033         * tests/test-truncl.c (truncl): Likewise.
36034         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
36035         Likewise.
36036         * tests/test-uname.c (uname): Likewise.
36037         * tests/test-unlink.c (unlink): Likewise.
36038         * tests/test-unlinkat.c (unlinkat): Likewise.
36039         * tests/test-unsetenv.c (unsetenv): Likewise.
36040         * tests/test-usleep.c (usleep): Likewise.
36041         * tests/test-utimensat.c (utimensat): Likewise.
36042         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
36043         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
36044         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
36045         * tests/test-vprintf-posix.c (vprintf): Likewise.
36046         * tests/test-vsnprintf.c (vsnprintf): Likewise.
36047         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
36048         * tests/test-wcrtomb.c (wcrtomb): Likewise.
36049         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
36050         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
36051         * tests/test-wcwidth.c (wcwidth): Likewise.
36052
36053         build: pull in conditional headers during GNULIB_POSIXCHECK
36054         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
36055         definitions from any conditionally-included headers.
36056         * lib/stdlib.in.h (includes): Likewise.
36057         * lib/unistd.in.h (includes): Likewise.
36058
36059 2009-12-24  Bruno Haible  <bruno@clisp.org>
36060
36061         * tests/test-argv-iter.c: Include header file being tested immediately
36062         after config.h.
36063         * tests/test-base64.c: Likewise.
36064         * tests/test-flock.c: Likewise.
36065         * tests/test-fsync.c: Likewise.
36066         * tests/test-getdate.c: Likewise.
36067         * tests/test-getndelim2.c: Likewise.
36068         * tests/test-isfinite.c: Likewise.
36069         * tests/test-isinf.c: Likewise.
36070         * tests/test-strerror.c: Likewise.
36071         * tests/test-strsignal.c: Likewise.
36072
36073 2009-12-23  Eric Blake  <ebb9@byu.net>
36074
36075         unistd: work around cygwin bug
36076         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
36077         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
36078         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
36079
36080 2009-12-23  Bruno Haible  <bruno@clisp.org>
36081
36082         localename: More tests.
36083         * tests/test-localename.c (SIZEOF): New macro.
36084         (categories): New variable.
36085         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
36086         test_locale_name_default): Add test w.r.t. thread locale.
36087         (test_locale_name_thread): New function.
36088         (main): Invoke it.
36089
36090         localename: Make aware of thread locale.
36091         * lib/localename.h (gl_locale_name_thread): New declaration.
36092         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
36093         behaviour with respect to thread locale.
36094         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
36095         <langinfo.h>, glthread/lock.h.
36096         (SIZE_BITS): New macro.
36097         (string_hash): New function.
36098         (struct hash_node): New type.
36099         (HASH_TABLE_SIZE): New macro.
36100         (struniq_hash_table, struniq_lock): New variables.
36101         (struniq): New function.
36102         (gl_locale_name_thread): New function.
36103         (gl_locale_name): Invoke it.
36104         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
36105         * modules/localename (Depends-on): Add lock.
36106         Reported by Mike Gran <spk121@yahoo.com>.
36107
36108 2009-12-23  Eric Blake  <ebb9@byu.net>
36109
36110         va-args: new module
36111         * modules/va-args: New file.
36112         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
36113         * MODULES.html.sh (Core language properties): Mention it.
36114
36115         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
36116         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
36117         named alias for __attribute__((__unused__)).
36118         * lib/chown.c: Update client.
36119         * lib/fchmodat.c: Likewise.
36120         * lib/fts.c: Likewise.
36121         * lib/getdate.y: Likewise.
36122         * lib/getgroups.c: Likewise.
36123         * lib/getopt.c: Likewise.
36124         * lib/getugroups.c: Likewise.
36125         * lib/mkdir.c: Likewise.
36126         * lib/mkfifo.c: Likewise.
36127         * lib/mkfifoat.c: Likewise.
36128         * lib/mknod.c: Likewise.
36129         * lib/mknodat.c: Likewise.
36130         * lib/readlink.c: Likewise.
36131         * lib/se-context.in.h: Likewise.
36132         * lib/se-selinux.in.h: Likewise.
36133         * lib/sockets.c: Likewise.
36134         * lib/symlink.c: Likewise.
36135         * lib/symlinkat.c: Likewise.
36136         * lib/unicodeio.c: Likewise.
36137         * lib/unistr.h: Likewise.
36138         * tests/test-areadlink.c: Likewise.
36139         * tests/test-areadlinkat.c: Likewise.
36140         * tests/test-filenamecat.c: Likewise.
36141         * tests/test-fseeko.c: Likewise.
36142         * tests/test-ftello.c: Likewise.
36143         * tests/test-getdate.c: Likewise.
36144         * tests/test-getgroups.c: Likewise.
36145         * tests/test-gethostname.c: Likewise.
36146         * tests/test-quotearg.c: Likewise.
36147         * tests/test-version-etc.c: Likewise.
36148         * tests/test-xalloc-die.c: Likewise.
36149         * tests/test-xfprintf-posix.c: Likewise.
36150         * tests/test-xprintf-posix.c: Likewise.
36151         * tests/test-xvasprintf.c: Likewise.
36152
36153         tests: avoid compiler warnings
36154         * tests/test-fcntl.c (main): Delete unused parameters.
36155         * tests/test-freopen-safer.c (main): Likewise.
36156         * tests/test-xalloc-die.c (main): Mark unused parameters.
36157         * tests/test-fseeko.c (main): Likewise.
36158         * tests/test-ftello.c (main): Likewise.
36159         * tests/test-nanosleep.c (main): Avoid declaration warning.
36160         * tests/test-sleep.c (main): Likewise.
36161         * tests/test-unsetenv.c (main): Silence warning about string
36162         literal.
36163         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
36164
36165 2009-12-23  Bruno Haible  <bruno@clisp.org>
36166
36167         * tests/test-localename.c (test_locale_name): New function, extracted
36168         from main. Also test mixed situations.
36169         (test_locale_name_posix, test_locale_name_environ,
36170         test_locale_name_default): New functions.
36171         (main): Invoke them all.
36172         * modules/localename-tests (configure.ac): Test for newlocale.
36173
36174 2009-12-23  Bruno Haible  <bruno@clisp.org>
36175
36176         unistd: Ensure getcwd gets declared before being overridden.
36177         * lib/unistd.in.h: Conditionally include <io.h>.
36178
36179 2009-12-22  Bruno Haible  <bruno@clisp.org>
36180
36181         wchar: Diagnose broken combination of glibc and gcc versions and flags.
36182         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
36183         (gl_WCHAR_H): Invoke it.
36184         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
36185         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
36186         Reported by Karl Berry <karl@freefriends.org>.
36187
36188 2009-12-22  Eric Blake  <ebb9@byu.net>
36189
36190         math, unistd: avoid redundant includes
36191         * lib/math.in.h (isnan): No need to re-include <math.h>.
36192         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
36193
36194         getsubopt: work around cygwin bug
36195         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
36196         avoid conflicting with system getsubopt.
36197         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
36198         bug.
36199
36200         getopt: synchronize from glibc
36201         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
36202         parameter order.  Adjust all callers.
36203         (_getopt_internal_r, main): Adjust quoting in error messages.
36204         Drop considerations for outdated POSIX 1003.2 error message.
36205         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
36206         callers.
36207         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
36208
36209         test-getopt: test stderr behavior
36210         * modules/getopt-posix-tests (Depends-on): Add dup2.
36211         * tests/test-getopt.c (ASSERT): Avoid stderr.
36212         (main): Move stderr to a temporary file.
36213         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
36214         Instead, add parameter to inform caller if output occurred.
36215         (test_getopt): Adjust all existing tests to expect silence, and
36216         add new tests of leading ":".
36217         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
36218         glibc shortcomings with leading "-:" or "+:" in optstring.
36219         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
36220         Likewise.
36221         * doc/posix-functions/getopt.texi (getopt): Likewise.
36222
36223         test-getopt: enhance test
36224         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
36225         supports optind=0.
36226         * tests/test-getopt.c (OPTIND_MIN): Move...
36227         * tests/test-getopt.h (OPTIND_MIN): ...here.
36228         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
36229         Require that optind=0 works, since modern BSD supports it in
36230         addition to optreset, and since coreutils expects it.
36231         (test_getopt_long_only): New test.
36232         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
36233         glibc shortcomings with 'W;', and enforcement of optind=0.
36234         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
36235         Likewise.
36236
36237 2009-12-21  Bruno Haible  <bruno@clisp.org>
36238
36239         localename: Improvements for MacOS X and Cygwin.
36240         * lib/localename.h (gl_locale_name_environ): New declaration.
36241         * lib/localename.c (gl_locale_name_environ): New function, extracted from
36242         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
36243         (gl_locale_name_posix): Invoke it.
36244         (gl_locale_name_default): Add comments. Use Windows native API also on
36245         Cygwin.
36246
36247 2009-12-21  Bruno Haible  <bruno@clisp.org>
36248
36249         Update list of Win32 locale ids.
36250         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
36251         (LANG_SAMI): Renamed from LANG_SAAMI.
36252         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
36253         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
36254         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
36255         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
36256         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
36257         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
36258         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
36259         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
36260         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
36261         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
36262         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
36263         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
36264         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
36265         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
36266         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
36267         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
36268         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
36269         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
36270         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
36271         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
36272         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
36273         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
36274         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
36275         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
36276         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
36277         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
36278         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
36279         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
36280         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
36281         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
36282         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
36283         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
36284         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
36285         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
36286         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
36287         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
36288         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
36289         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
36290         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
36291         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
36292         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
36293         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
36294         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
36295         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
36296         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
36297         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
36298         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
36299         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
36300         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
36301         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
36302         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
36303         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
36304         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
36305         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
36306         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
36307         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
36308         Add more languages and countries for Sami, Sorbian. Add more countries
36309         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
36310         for Pashto. Change country for Syriac, Tswana.
36311
36312 2009-12-21  Eric Blake  <ebb9@byu.net>
36313
36314         test-utimens: avoid spurious failure
36315         * tests/test-chown.h (nap): Factor...
36316         * tests/nap.h: ...into new file.
36317         * tests/test-lchown.h (nap): Avoid duplication.
36318         * tests/test-utimens-common.h (nap): Use shared implementation,
36319         necessary on file systems with 1-second resolution.
36320         * modules/chown-tests (Files): Include new file.
36321         * modules/fdutimensat-tests (Files): Likewise.
36322         * modules/futimens-tests (Files): Likewise.
36323         * modules/lchown-tests (Files): Likewise.
36324         * modules/openat-tests (Files): Likewise.
36325         * modules/utimens-tests (Files): Likewise.
36326         * modules/utimensat-tests (Files): Likewise.
36327
36328 2009-12-19  Eric Blake  <ebb9@byu.net>
36329
36330         futimens, utimensat: work around Linux bug
36331         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
36332         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
36333         * lib/utimensat.c (rpl_utimensat): Work around it.
36334         * lib/futimens.c (rpl_futimens): Adjust comment.
36335
36336         utimens: work around Linux ctime bug
36337         * lib/utimens.c (detect_ctime_bug): New helper function.
36338         (update_timespec): Differentiate between workaround needed for
36339         this bug vs. what is needed for systems that lack utimensat.
36340         (fdutimens, lutimens): Work around bug.
36341
36342         utimens: check for ctime update
36343         * tests/test-utimens-common.h (check_ctime): Define.
36344         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
36345         * tests/test-futimens.h (test_futimens): Likewise.
36346         * tests/test-lutimens.h (test_lutimens): Likewise.
36347         * doc/posix-functions/futimens.texi (futimens): Document the bug.
36348         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
36349
36350 2009-12-19  Bruno Haible  <bruno@clisp.org>
36351
36352         dprintf-posix: Check against memory leak fixed on 2009-12-15.
36353         * tests/test-dprintf-posix2.sh: New file.
36354         * tests/test-dprintf-posix2.c: New file.
36355         * modules/dprintf-posix-tests (Files): Add them.
36356         (configure.ac): Check for getrlimit and setrlimit.
36357         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
36358
36359 2009-12-19  Bruno Haible  <bruno@clisp.org>
36360
36361         fprintf-posix: Check against memory leak fixed on 2009-12-15.
36362         * tests/test-fprintf-posix3.sh: New file.
36363         * tests/test-fprintf-posix3.c: New file.
36364         * modules/fprintf-posix-tests (Files): Add them.
36365         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
36366
36367 2009-12-19  Eric Blake  <ebb9@byu.net>
36368
36369         dirfd: fix prototype
36370         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
36371         * lib/dirfd.c (dirfd): Likewise.
36372
36373         canonicalize: reduce memory usage
36374         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
36375         allocation to size.
36376         Reported by Solar Designer <solar@openwall.com>.
36377
36378 2009-12-19  Bruno Haible  <bruno@clisp.org>
36379
36380         New module attribute 'Applicability'.
36381         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
36382         * gnulib-tool: New option --extract-applicability.
36383         (func_usage): Document it.
36384         (sed_extract_prog): Recognize it.
36385         (func_get_applicability): New function.
36386         (func_import): Generalize handling of 'link-warning' module.
36387         * modules/link-warning (Applicability): New section.
36388         * modules/arg-nonnull (Applicability): New section.
36389         Repoted by Simon Josefsson <simon@josefsson.org>.
36390
36391 2009-12-19  Bruno Haible  <bruno@clisp.org>
36392
36393         fflush: tweak
36394         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
36395         * lib/fseeko.c (rpl_fseeko): Likewise.
36396
36397 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
36398
36399         * lib/gl_list.h: Fix typo in comment.
36400
36401 2009-12-16  Eric Blake  <ebb9@byu.net>
36402
36403         fcntl: use to simplify other modules
36404         * modules/cloexec (Depends-on): Add fcntl.
36405         * modules/fchdir (Depends-on): Likewise.
36406         * modules/fd-safer-flag (Depends-on): Likewise.
36407         * modules/unistd-safer (Depends-on): Likewise.
36408         * modules/dup3 (configure.ac): Set module indicator.
36409         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
36410         missing.
36411         * lib/fchdir.c (_gl_register_dup): Fix comment.
36412         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
36413         * lib/dup-safer.c (dup_safer): Likewise.
36414         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
36415         * lib/dup3.c (dup3): Likewise.
36416         * tests/test-fchdir.c (main): Enhance test.
36417         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
36418
36419         fcntl: port portions of fcntl to mingw
36420         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
36421         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
36422         replacement for mingw.
36423         * modules/fcntl (Description): Update.
36424         (Depends-on): Add dup2.
36425         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
36426         * modules/fcntl-h (Makefile.am): Substitute it.
36427         * lib/fcntl.in.h (fcntl): Update declaration.
36428         (F_DUPFD, F_GETFD): New macros, when needed.
36429         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
36430         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
36431         * tests/test-fcntl.c (check_flags, main): Enhance test for items
36432         we now guarantee.
36433
36434         fcntl: work around cygwin bug in F_DUPFD
36435         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
36436         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
36437         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
36438         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
36439         * doc/posix-functions/fcntl.texi (fcntl): Document it.
36440
36441         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
36442         * modules/fcntl (Files): List new files.
36443         (configure.ac): Run a test.
36444         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
36445         * lib/fcntl.c (rpl_fcntl): Likewise.
36446         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
36447         (gl_FCNTL_H): Always replace fcntl.h.
36448         * modules/fcntl-h (Makefile.am): Substitute witnesses.
36449         * lib/fcntl.in.h (fcntl): Declare replacement.
36450         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
36451         needed, plus a witness.
36452         * doc/posix-functions/fcntl.texi (fcntl): Document this.
36453         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
36454         * tests/test-fcntl.c: New file.
36455         * modules/fcntl-tests: Likewise.
36456
36457         binary-io: avoid potential compilation warning
36458         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
36459         directives.
36460
36461         fflush: avoid compilation error on NetBSD
36462         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
36463         between off_t and fpos_t, since the latter is sometimes a struct.
36464         * lib/fseeko.c (rpl_fseeko): Likewise.
36465         Reported by Alexander Nasonov <alnsn@yandex.ru>.
36466
36467 2009-12-15  Eric Blake  <ebb9@byu.net>
36468
36469         fcntl-h, stdio, sys_ioctl: fix declarations
36470         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
36471         function must not take arguments.
36472         * lib/sys_ioctl.in.h (ioctl): Likewise.
36473         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
36474         (open): Add a link warning.
36475
36476 2009-12-15  Jim Meyering  <meyering@redhat.com>
36477
36478         areadlink, areadlink-with-size: relax license to LGPLv2+
36479         * modules/areadlink (License): Relax to LGPLv2+.
36480         * modules/areadlink-with-size (License): Likewise.
36481
36482 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
36483             Bruno Haible  <bruno@clisp.org>
36484
36485         *printf: Fix memory leak.
36486         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
36487         * lib/vfprintf.c (vfprintf): Likewise.
36488         * lib/dprintf.c (dprintf): Likewise.
36489         * lib/vdprintf.c (vdprintf): Likewise.
36490
36491 2009-12-14  Eric Blake  <ebb9@byu.net>
36492
36493         accept4: adjust module dependencies
36494         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
36495
36496         utimens: one more try at avoiding compiler warning
36497         * lib/utimens.c (lutimens): Lower scope of result.
36498
36499 2009-12-13  Bruno Haible  <bruno@clisp.org>
36500
36501         Move the malloc checking from module 'list' to new module 'xlist'.
36502         * modules/xlist: New file.
36503         * lib/gl_xlist.h: New file.
36504         * lib/gl_xlist.c: New file.
36505         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
36506         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
36507         gl_list_add_last, gl_list_add_before, gl_list_add_after,
36508         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
36509         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
36510         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
36511         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
36512         gl_sortedlist_nx_add): New declarations.
36513         (struct gl_list_implementation): Rename and change methods accordingly.
36514         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
36515         (gl_list_nx_create): Renamed from gl_list_create.
36516         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
36517         (gl_list_nx_set_at): Renamed from gl_list_set_at.
36518         (gl_list_nx_add_first): Renamed from gl_list_add_first.
36519         (gl_list_nx_add_last): Renamed from gl_list_add_last.
36520         (gl_list_nx_add_before): Renamed from gl_list_add_before.
36521         (gl_list_nx_add_after): Renamed from gl_list_add_after.
36522         (gl_list_nx_add_at): Renamed from gl_list_add_at.
36523         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
36524         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
36525         gl_list_create_empty.
36526         (gl_list_nx_create): Renamed from gl_list_create.
36527         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
36528         (gl_list_nx_set_at): Renamed from gl_list_set_at.
36529         (gl_list_nx_add_first): Renamed from gl_list_add_first.
36530         (gl_list_nx_add_last): Renamed from gl_list_add_last.
36531         (gl_list_nx_add_before): Renamed from gl_list_add_before.
36532         (gl_list_nx_add_after): Renamed from gl_list_add_after.
36533         (gl_list_nx_add_at): Renamed from gl_list_add_at.
36534         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
36535         * lib/gl_array_list.c: Don't include xalloc.h.
36536         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
36537         NULL upon out-of-memory.
36538         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
36539         out-of-memory.
36540         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
36541         Change return type to 'int'.
36542         (gl_array_nx_set_at): Renamed from gl_array_set_at.
36543         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
36544         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
36545         upon out-of-memory.
36546         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
36547         upon out-of-memory.
36548         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
36549         upon out-of-memory.
36550         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
36551         upon out-of-memory.
36552         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
36553         out-of-memory.
36554         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
36555         Update.
36556         (gl_array_list_implementation): Update.
36557         * lib/gl_carray_list.c: Don't include xalloc.h.
36558         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
36559         Return NULL upon out-of-memory.
36560         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
36561         out-of-memory.
36562         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
36563         Change return type to 'int'.
36564         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
36565         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
36566         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
36567         upon out-of-memory.
36568         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
36569         upon out-of-memory.
36570         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
36571         out-of-memory.
36572         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
36573         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
36574         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
36575         Update.
36576         (gl_carray_list_implementation): Update.
36577         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
36578         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
36579         gl_linked_create_empty. Return NULL upon out-of-memory.
36580         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
36581         out-of-memory.
36582         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
36583         Change return type to 'int'. Return -1 upon out-of-memory.
36584         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
36585         out-of-memory.
36586         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
36587         upon out-of-memory.
36588         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
36589         upon out-of-memory.
36590         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
36591         NULL upon out-of-memory.
36592         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
36593         upon out-of-memory.
36594         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
36595         out-of-memory.
36596         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
36597         Update.
36598         * lib/gl_linked_list.c: Don't include xalloc.h.
36599         (gl_linked_list_implementation): Update.
36600         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
36601         (add_to_bucket): Change return type to 'int'.
36602         (gl_linkedhash_list_implementation): Update.
36603         * lib/gl_anytree_list1.h (free_subtree): New function.
36604         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
36605         gl_tree_create_empty. Return NULL upon out-of-memory.
36606         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
36607         Change return type to 'int'. Return -1 upon out-of-memory.
36608         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
36609         out-of-memory.
36610         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
36611         (gl_tree_remove_node): New function, moved here from
36612         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
36613         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
36614         Update.
36615         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
36616         malloc, not xmalloc. Return NULL upon out-of-memory.
36617         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
36618         out-of-memory.
36619         (gl_tree_remove_node_from_tree): New function, extracted from
36620         gl_tree_remove_node.
36621         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
36622         upon out-of-memory.
36623         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
36624         out-of-memory.
36625         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
36626         upon out-of-memory.
36627         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
36628         upon out-of-memory.
36629         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
36630         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
36631         not xmalloc. Return NULL upon out-of-memory.
36632         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
36633         out-of-memory.
36634         (gl_tree_remove_node_from_tree): New function, extracted from
36635         gl_tree_remove_node.
36636         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
36637         upon out-of-memory.
36638         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
36639         out-of-memory.
36640         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
36641         upon out-of-memory.
36642         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
36643         upon out-of-memory.
36644         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
36645         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
36646         gl_anytree_list1.h before gl_anyavltree_list2.h.
36647         (gl_avltree_list_implementation): Update.
36648         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
36649         gl_anytree_list1.h before gl_anyavltree_list2.h.
36650         (gl_rbtree_list_implementation): Update.
36651         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
36652         Change return type to 'int'. Return -1 upon out-of-memory. Use
36653         __builtin_expect.
36654         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
36655         (gl_avltreehash_list_implementation): Update.
36656         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
36657         (gl_rbtreehash_list_implementation): Update.
36658         * modules/array-list (Depends-on): Remove xalloc.
36659         * modules/carray-list (Depends-on): Likewise.
36660         * modules/linked-list (Depends-on): Likewise.
36661         * modules/linkedhash-list (Depends-on): Likewise.
36662         * modules/avltree-list (Depends-on): Likewise.
36663         * modules/rbtree-list (Depends-on): Likewise.
36664         * modules/avltreehash-list (Depends-on): Likewise.
36665         * modules/rbtreehash-list (Depends-on): Likewise.
36666
36667         * modules/xsublist: New file.
36668         * lib/gl_xsublist.h: New file.
36669         * lib/gl_xsublist.c: New file.
36670         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
36671         (gl_sublist_nx_create): New declaration.
36672         * lib/gl_sublist.c: Don't include xalloc.h.
36673         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
36674         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
36675         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
36676         Change return type to 'int'. Return -1 upon out-of-memory.
36677         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
36678         upon out-of-memory.
36679         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
36680         NULL upon out-of-memory.
36681         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
36682         upon out-of-memory.
36683         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
36684         NULL upon out-of-memory.
36685         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
36686         NULL upon out-of-memory.
36687         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
36688         upon out-of-memory.
36689         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
36690         (gl_sublist_list_implementation): Update.
36691         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
36692         upon out-of-memory.
36693         * modules/sublist (Depends-on): Remove xalloc.
36694
36695         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
36696         * tests/test-carray_list.c: Likewise.
36697         * tests/test-linked_list.c: Likewise.
36698         * tests/test-linkedhash_list.c: Likewise.
36699         * tests/test-avltree_list.c: Likewise.
36700         * tests/test-rbtree_list.c: Likewise.
36701         * tests/test-avltreehash_list.c: Likewise.
36702         * tests/test-rbtreehash_list.c: Likewise.
36703         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
36704         * modules/carray-list-tests (Makefile.am): Likewise.
36705         * modules/linked-list-tests (Makefile.am): Likewise.
36706         * modules/linkedhash-list-tests (Makefile.am): Likewise.
36707         * modules/avltree-list-tests (Makefile.am): Likewise.
36708         * modules/rbtree-list-tests (Makefile.am): Likewise.
36709         * modules/avltreehash-list-tests (Makefile.am): Likewise.
36710         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
36711
36712         * NEWS: Mention the changes.
36713
36714         * lib/clean-temp.c: Include gl_xlist.h.
36715         * modules/clean-temp (Depends-on): Add xlist.
36716
36717         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
36718         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
36719
36720         * tests/test-array_oset.c: Include gl_xlist.h.
36721         * modules/array-oset-tests (Depends-on): Add xlist.
36722
36723         Reported by José E. Marchesi <jemarch@gnu.org>.
36724
36725 2009-12-13  Bruno Haible  <bruno@clisp.org>
36726
36727         Move the malloc checking from module 'oset' to new module 'xoset'.
36728         * modules/xoset: New file.
36729         * lib/gl_xoset.h: New file.
36730         * lib/gl_xoset.c: New file.
36731         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
36732         declarations.
36733         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
36734         (struct gl_oset_implementation): Rename and change methods accordingly.
36735         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
36736         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
36737         'int'. Mark as __warn_unused_result__.
36738         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
36739         gl_oset_create_empty.
36740         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
36741         'int'.
36742         * lib/gl_array_oset.c: Don't include xalloc.h.
36743         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
36744         malloc, not xmalloc.
36745         (grow): Change return type to 'int'. Don't call xalloc_die.
36746         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
36747         to 'int'.
36748         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
36749         'int'.
36750         (gl_array_oset_implementation): Update.
36751         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
36752         gl_tree_create_empty.
36753         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
36754         'int'.
36755         * lib/gl_avltree_oset.c: Don't include xalloc.h.
36756         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
36757         xmalloc.
36758         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
36759         not xmalloc.
36760         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
36761         xmalloc.
36762         (gl_avltree_oset_implementation): Update.
36763         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
36764         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
36765         xmalloc.
36766         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
36767         not xmalloc.
36768         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
36769         xmalloc.
36770         (gl_rbtree_oset_implementation): Update.
36771         * modules/array-oset (Depends-on): Remove xalloc.
36772         * modules/avltree-oset (Depends-on): Likewise.
36773         * modules/rbtree-oset (Depends-on): Likewise.
36774         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
36775         * tests/test-avltree_oset.c: Likewise.
36776         * tests/test-rbtree_oset.c: Likewise.
36777         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
36778         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
36779         * modules/rbtree-oset-tests (Makefile.am): Likewise.
36780         * NEWS: Mention the change.
36781
36782 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
36783
36784         maint.mk: allow a project to override release-prep commands
36785         * top/maint.mk (alpha, beta, stable): Move release-preparatory
36786         commands into a new rule.
36787         (release-prep): New rule.
36788         (release-prep-hook): New overridable variable.
36789
36790 2009-12-13  Bruno Haible  <bruno@clisp.org>
36791
36792         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
36793
36794 2009-12-13  Jim Meyering  <meyering@redhat.com>
36795
36796         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
36797         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
36798
36799 2009-12-12  Bruno Haible  <bruno@clisp.org>
36800
36801         duplocale: Tweak.
36802         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
36803
36804 2009-12-12  Karl Berry  <karl@gnu.org>
36805
36806         * config/srclist.txt (strtoll.c): tab changes, no more sync.
36807
36808 2009-12-12  Bruno Haible  <bruno@clisp.org>
36809
36810         * m4/po.m4: Undo incorrect untabification.
36811
36812 2009-12-12  Bruno Haible  <bruno@clisp.org>
36813
36814         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
36815         * modules/c-strtod (Depends-on): Add locale.
36816         * modules/c-strtold (Depends-on): Likewise.
36817
36818 2009-12-12  Bruno Haible  <bruno@clisp.org>
36819
36820         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
36821
36822 2009-12-11  Eric Blake  <ebb9@byu.net>
36823
36824         setenv: relax requirement in light of POSIX ruling
36825         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
36826         not NULL.
36827         * tests/test-setenv.c (main): Relax test.
36828         * tests/test-unsetenv.c (main): Likewise.
36829         * doc/posix-functions/setenv.texi (setenv): Document this.
36830         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
36831
36832 2009-12-11  Bruno Haible  <bruno@clisp.org>
36833
36834         New module 'fd-safer-flag'.
36835         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
36836         * lib/dup-safer.c (dup_safer_flag): Remove function.
36837         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
36838         * lib/fd-safer.c (fd_safer_flag): Remove function.
36839         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
36840         * modules/cloexec (configure.ac): Drop indicator macro.
36841         * modules/fd-safer-flag: New file.
36842         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
36843         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
36844         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
36845
36846 2009-12-11  Bruno Haible  <bruno@clisp.org>
36847
36848         Tests for module 'nl_langinfo'.
36849         * modules/nl_langinfo-tests: New file.
36850         * tests/test-nl_langinfo.sh: New file.
36851         * tests/test-nl_langinfo.c: New file.
36852
36853         New module 'nl_langinfo'.
36854         * lib/nl_langinfo.c: New file.
36855         * m4/nl_langinfo.m4: New file.
36856         * modules/nl_langinfo: New file.
36857         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
36858
36859 2009-12-11  Bruno Haible  <bruno@clisp.org>
36860
36861         Tests for module 'langinfo'.
36862         * modules/langinfo-tests: New file.
36863         * tests/test-langinfo.c: New file.
36864
36865         New module 'langinfo'.
36866         * lib/langinfo.in.h: New file.
36867         * m4/langinfo_h.m4: New file.
36868         * modules/langinfo: New file.
36869         * doc/posix-headers/langinfo.texi: Mention the new module.
36870
36871 2009-12-11  Bruno Haible  <bruno@clisp.org>
36872
36873         * lib/config.charset: Untabify.
36874
36875 2009-12-11  Bruno Haible  <bruno@clisp.org>
36876
36877         * modules/unistd-safer (configure.ac): Drop indicator macro.
36878
36879 2009-12-11  Bruno Haible  <bruno@clisp.org>
36880
36881         Move pipe2-safer code to its own file.
36882         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
36883         * lib/pipe-safer.c (pipe2_safer): Remove function.
36884         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
36885         (Makefile.am): Add it to lib_SOURCES.
36886
36887 2009-12-10  Bruno Haible  <bruno@clisp.org>
36888
36889         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
36890
36891 2009-12-10  Bruno Haible  <bruno@clisp.org>
36892
36893         Declare which arguments expect non-NULL values, for GCC and clang.
36894         * build-aux/arg-nonnull.h: New file.
36895         * modules/arg-nonnull: New file.
36896         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
36897         (inet_ntop, inet_pton): Use it.
36898         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
36899         (closedir, dirfd, opendir, scandir, alphasort): Use it.
36900         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
36901         (open, openat): Use it.
36902         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
36903         (fnmatch): Use it.
36904         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
36905         (getopt, getopt_long, getopt_long_only): Use it.
36906         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
36907         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
36908         Use it.
36909         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
36910         (iconv_open): Use it.
36911         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
36912         (strtoimax, strtoumax): Use it.
36913         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
36914         (duplocale): Use it.
36915         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
36916         (frexp, frexpl): Use it.
36917         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
36918         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
36919         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
36920         (tsearch, tfind, tdelete, twalk): Use it.
36921         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
36922         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36923         sigpending): Use it.
36924         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
36925         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36926         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36927         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36928         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36929         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36930         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36931         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36932         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36933         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36934         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36935         Use it.
36936         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
36937         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
36938         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
36939         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
36940         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
36941         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
36942         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
36943         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
36944         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
36945         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
36946         strtoull, unsetenv): Use it.
36947         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
36948         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36949         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36950         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
36951         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
36952         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
36953         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
36954         (strcasecmp, strncasecmp): Use it.
36955         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
36956         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
36957         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
36958         rpl_setsockopt): Use it.
36959         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
36960         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
36961         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
36962         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
36963         (gettimeofday): Use it.
36964         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
36965         (times): Use it.
36966         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
36967         (uname): Use it.
36968         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
36969         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
36970         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
36971         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
36972         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
36973         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
36974         unlinkat, write): Use it.
36975         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
36976         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
36977         * lib/argv-iter.h: Include arg-nonnull.h.
36978         (_ATTRIBUTE_NONNULL_): Remove macro.
36979         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
36980         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
36981         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
36982         optimization.
36983         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
36984         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
36985         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
36986         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
36987         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
36988         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
36989         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
36990         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
36991         * modules/arpa_inet (Depends-on): Add arg-nonnull.
36992         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
36993         * modules/dirent (Depends-on): Add arg-nonnull.
36994         (Makefile.am): Insert arg-nonnull.h into dirent.h.
36995         * modules/fcntl-h (Depends-on): Add arg-nonnull.
36996         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
36997         * modules/fnmatch (Depends-on): Add arg-nonnull.
36998         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
36999         * modules/getopt-posix (Depends-on): Add arg-nonnull.
37000         (Makefile.am): Insert arg-nonnull.h into getopt.h.
37001         * modules/glob (Depends-on): Add arg-nonnull.
37002         (Makefile.am): Insert arg-nonnull.h into glob.h.
37003         * modules/iconv_open (Depends-on): Add arg-nonnull.
37004         (Makefile.am): Insert arg-nonnull.h into iconv.h.
37005         * modules/inttypes (Depends-on): Add arg-nonnull.
37006         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
37007         * modules/locale (Depends-on): Add arg-nonnull.
37008         (Makefile.am): Insert arg-nonnull.h into locale.h.
37009         * modules/math (Depends-on): Add arg-nonnull.
37010         (Makefile.am): Insert arg-nonnull.h into math.h.
37011         * modules/netdb (Depends-on): Add arg-nonnull.
37012         (Makefile.am): Insert arg-nonnull.h into netdb.h.
37013         * modules/search (Depends-on): Add arg-nonnull.
37014         (Makefile.am): Insert arg-nonnull.h into search.h.
37015         * modules/signal (Depends-on): Add arg-nonnull.
37016         (Makefile.am): Insert arg-nonnull.h into signal.h.
37017         * modules/spawn (Depends-on): Add arg-nonnull.
37018         (Makefile.am): Insert arg-nonnull.h into spawn.h.
37019         * modules/stdio (Depends-on): Add arg-nonnull.
37020         (Makefile.am): Insert arg-nonnull.h into stdio.h.
37021         * modules/stdlib (Depends-on): Add arg-nonnull.
37022         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
37023         * modules/string (Depends-on): Add arg-nonnull.
37024         (Makefile.am): Insert arg-nonnull.h into string.h.
37025         * modules/strings (Depends-on): Add arg-nonnull.
37026         (Makefile.am): Insert arg-nonnull.h into strings.h.
37027         * modules/sys_socket (Depends-on): Add arg-nonnull.
37028         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
37029         * modules/sys_stat (Depends-on): Add arg-nonnull.
37030         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
37031         * modules/sys_time (Depends-on): Add arg-nonnull.
37032         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
37033         * modules/sys_times (Depends-on): Add arg-nonnull.
37034         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
37035         * modules/sys_utsname (Depends-on): Add arg-nonnull.
37036         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
37037         * modules/time (Depends-on): Add arg-nonnull.
37038         (Makefile.am): Insert arg-nonnull.h into time.h.
37039         * modules/unistd (Depends-on): Add arg-nonnull.
37040         (Makefile.am): Insert arg-nonnull.h into unistd.h.
37041         * modules/wchar (Depends-on): Add arg-nonnull.
37042         (Makefile.am): Insert arg-nonnull.h into wchar.h.
37043         * modules/argv-iter (Depends-on): Add arg-nonnull.
37044         * tests/test-canonicalize.c (null_ptr): New function.
37045         (main): Use it.
37046         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
37047         (main): Use it.
37048         * tests/test-memmem.c (null_ptr): New function.
37049         (main): Use it.
37050         Reported by Jim Meyering.
37051
37052 2009-12-10  Bruno Haible  <bruno@clisp.org>
37053
37054         Use spaces for indentation, not tabs.
37055         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
37056         * m4/*.m4: Untabify.
37057         * build-aux/*.h: Untabify.
37058         * tests/**/*.[hc]: Untabify.
37059         * README: New section "Indent with spaces, not TABs", based on
37060         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
37061         * NEWS: Mention the change.
37062
37063 2009-12-10  Bruno Haible  <bruno@clisp.org>
37064
37065         pty test: Fix link error.
37066         * modules/pty-tests (Makefile.am): Add the default LDADD value to
37067         test_pty_LDADD.
37068
37069 2009-12-07  Simon Josefsson  <simon@josefsson.org>
37070
37071         * modules/pty: New file.
37072         * modules/pty-tests: New file.
37073         * m4/pty.m4: New file.
37074         * tests/test-pty.c: New file.
37075         * doc/glibc-headers/pty.texi: Modified.
37076         * doc/glibc-functions/forkpty.texi: Modified.
37077         * doc/glibc-functions/openpty.texi: Modified.
37078
37079 2009-12-10  Bruno Haible  <bruno@clisp.org>
37080
37081         Avoid syntax error in C++ mode.
37082         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
37083
37084 2009-12-10  Bruno Haible  <bruno@clisp.org>
37085
37086         Use sed with option -e.
37087         * gnulib-tool (func_version, func_emit_copyright_notice,
37088         func_emit_initmacro_end, func_import, func_create_testdir): Pass
37089         option -e to sed.
37090         * modules/link-warning (Makefile.am): Likewise.
37091
37092 2009-12-10  Jim Meyering  <meyering@redhat.com>
37093
37094         mgetgroups: do not write bytes beyond end of malloc'd buffer
37095         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
37096         username, we call getgroups with a one-element-shorter buffer,
37097         but still told it the length was original, max_n_groups.
37098
37099 2009-12-09  Eric Blake  <ebb9@byu.net>
37100
37101         cloexec: relax license
37102         * modules/cloexec (Maintainer): Add myself.
37103         (License): Use LGPL, not GPL.
37104
37105         link-warning: optimize generation
37106         * modules/link-warning (Makefile.am): Reduce process usage.
37107
37108 2009-12-09  Bruno Haible  <bruno@clisp.org>
37109
37110         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
37111         workaround was added on 2009-11-17.
37112
37113 2009-12-09  Jim Meyering  <meyering@redhat.com>
37114             Bruno Haible  <bruno@clisp.org>
37115
37116         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
37117         * modules/link-warning (Makefile.am): Make the comment-removing sed
37118         command more robust in the face of bootstrap-prepended comment lines.
37119
37120 2009-12-09  Bruno Haible  <bruno@clisp.org>
37121
37122         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
37123         most one group.
37124
37125 2009-12-09  Simon Josefsson <simon@josefsson.org>
37126             Bruno Haible  <bruno@clisp.org>
37127
37128         * build-aux/link-warning.h: Add copyright notice.
37129         * modules/link-warning (Makefile.am): Generate link-warning.h from
37130         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
37131         * NEWS: Mention change in link-warning module.
37132         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
37133         * modules/dirent (Makefile.am): Add dependency to dirent.h.
37134         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
37135         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
37136         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
37137         * modules/math (Makefile.am): Add dependency to math.h.
37138         * modules/search (Makefile.am): Add dependency to search.h.
37139         * modules/signal (Makefile.am): Add dependency to signal.h.
37140         * modules/spawn (Makefile.am): Add dependency to spawn.h.
37141         * modules/stdio (Makefile.am): Add dependency to stdio.h.
37142         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
37143         * modules/string (Makefile.am): Add dependency to string.h.
37144         * modules/strings (Makefile.am): Add dependency to strings.h.
37145         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
37146         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
37147         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
37148         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
37149         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
37150         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
37151         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
37152         * modules/unistd (Makefile.am): Add dependency to unistd.h.
37153         * modules/wchar (Makefile.am): Add dependency to wchar.h.
37154
37155 2009-12-09  Bruno Haible  <bruno@clisp.org>
37156
37157         fchdir: Optimize away rpl_fstat when possible.
37158         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
37159         REPLACE_OPEN_DIRECTORY.
37160         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
37161
37162 2009-12-09  Bruno Haible  <bruno@clisp.org>
37163
37164         * lib/fchdir.c: Update comment.
37165
37166 2009-12-09  Bruno Haible  <bruno@clisp.org>
37167
37168         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
37169
37170 2009-12-08  Eric Blake  <ebb9@byu.net>
37171
37172         fchdir: avoid memory leak on re-registration.
37173         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
37174
37175 2009-12-08  Jim Meyering  <meyering@redhat.com>
37176
37177         init.sh: avoid Solaris 10 /bin/sh portability problem
37178         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
37179         sourced script:
37180           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
37181           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
37182           bar
37183         tests/init.sh relied on that, accepting a --set-path=DIR argument,
37184         and two tests used that idiom.
37185         * tests/init.sh: Update suggested usage comments.
37186         (path_prepend_): New function, to be used in place
37187         of the --src-path=DIR option.
37188         (setup_): Move PATH-prepending code into path_prepend_.
37189         * tests/test-pread.sh: Adapt to new usage.
37190         * tests/test-xalloc-die.sh: Likewise.
37191
37192 2009-12-08  Simon Josefsson  <simon@josefsson.org>
37193
37194         * doc/gnulib.texi (Glibc pty.h): Add.
37195         * doc/glibc-functions/forkpty.texi: Add.
37196         * doc/glibc-functions/openpty.texi: Add.
37197         Suggested by Bruno Haible.
37198
37199 2009-12-08  Eric Blake  <ebb9@byu.net>
37200
37201         fchdir: fix logic bugs
37202         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
37203         * tests/test-fchdir.c (main): Enhance test.
37204         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
37205         is in use.
37206
37207         dup2: fix logic bugs
37208         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
37209         REPLACE_DUP2 to decide when rpl_dup2 is needed.
37210         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
37211         exists.
37212         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
37213
37214 2009-12-07  Eric Blake  <ebb9@byu.net>
37215
37216         unlink: fix m4 detection
37217         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
37218
37219         unistd-safer: add unit test
37220         * modules/unistd-safer-tests: New file.
37221         * tests/test-dup-safer.c: Likewise.
37222         * tests/test-cloexec.c (setmode): Avoid compiler warning.
37223         * tests/test-dup2.c (setmode): Likewise.
37224         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
37225
37226         cloexec: preserve text vs. binary across dup_cloexec
37227         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
37228         mode.
37229         * modules/dup2-tests (Depends-on): Add binary-io.
37230         * modules/cloexec-tests (Depends-on): Likewise.
37231         * tests/test-dup2.c (setmode, is_mode): New helpers.
37232         (main): Add tests that translation mode is preserved.
37233         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
37234         Reported by Bruno Haible.
37235
37236         mgetgroups: reduce duplicate listings
37237         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
37238         resulting array.
37239         * tests/test-chown.h (test_chown): Simplify client.
37240         * tests/test-lchown.h (test_lchown): Likewise.
37241
37242 2009-12-06  Bruno Haible  <bruno@clisp.org>
37243
37244         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
37245         value.
37246
37247 2009-12-06  Bruno Haible  <bruno@clisp.org>
37248
37249         * lib/progname.c: Include stdio.h, stdlib.h.
37250         (set_program_name): Reject a NULL argument.
37251
37252 2009-12-05  Eric Blake  <ebb9@byu.net>
37253
37254         pipe2-safer: new module
37255         * modules/pipe2-safer: New file.
37256         * lib/unistd-safer.h (pipe2_safer): New prototype.
37257         * lib/unistd--.h (pipe2): New wrapper.
37258         * lib/pipe-safer.c (pipe2_safer): New function.
37259         * modules/pipe (Depends-on): Add pipe2-safer.
37260         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
37261
37262         stdlib-safer: preserve cloexec flag for mkostemp[s]
37263         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
37264         fd_safer_flag.
37265
37266         unistd-safer: allow preservation of cloexec status via flag
37267         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
37268         prototypes.
37269         * lib/dup-safer.c (dup_safer_flag): New function.
37270         * lib/fd-safer.c (fd_safer_flag): Likewise.
37271         * modules/cloexec (configure.ac): Set witness.
37272
37273         test-dup2: enhance test
37274         * modules/dup2-tests (Depends-on): Add cloexec.
37275         * tests/test-dup2.c (main): Enhance test.
37276
37277         cloexec: add dup_cloexec
37278         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
37279         header and comments.
37280         * lib/cloexec.c (set_cloexec_flag): Add comments.
37281         (dup_cloexec): New function, with mingw implementation borrowed
37282         from...
37283         * lib/w32spawn.h (dup_noinherit): ...here.
37284         * modules/execute (Depends-on): Add cloexec.
37285         * modules/pipe (Depends-on): Likewise.
37286         * modules/cloexec (Depends-on): Add dup2.
37287         * modules/cloexec-tests (Files): New file.
37288         * tests/test-cloexec.c: Likewise.
37289
37290         test-xalloc-die: fix test for mingw
37291         * modules/xalloc-die-tests (Files): Add tests/init.sh.
37292         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
37293         directory and .exe suffix off argv[0] output.
37294
37295         test-fseeko: fix test for mingw
37296         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
37297         than undefining fseek, so test will pass on mingw.
37298
37299 2009-12-05  Bruno Haible  <bruno@clisp.org>
37300
37301         * lib/progname.h (set_program_name): Clarify specification.
37302         * lib/progname.c (set_program_name): Likewise.
37303         Reported by Jim Meyering.
37304
37305 2009-12-05  Jim Meyering  <meyering@redhat.com>
37306
37307         maint.mk: backslash-escape parens in default regexp
37308         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
37309         backslash-escape the literal parentheses.
37310
37311         maint.mk: news-date-check: use grep -E
37312         * top/maint.mk (today): Define a Make variable, not a...
37313         (news-date-check): ...shell variable.
37314         (news-date-regexp): Use the Make variable.
37315         Use grep's -E option.  Change the failing diagnostic to mention
37316         the variable, $(news-date-regexp).
37317
37318 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
37319
37320         maintainer-makefile: allow customization of NEWS entry format
37321         * top/maint.mk (news-date-regexp): New overridable variable.
37322         (news-date-check): Use it.
37323
37324 2009-12-04  Eric Blake  <ebb9@byu.net>
37325
37326         mgetgroups: add xgetgroups, and avoid ENOSYS failures
37327         * lib/mgetgroups.h (xgetgroups): New prototype.
37328         * lib/mgetgroups.c (xgetgroups): New wrapper.
37329         (mgetgroups): Handle ENOSYS.
37330         * modules/mgetgroups (Depends-on): Add realloc.
37331         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
37332
37333         mgetgroups: avoid argument promotion issues with -1
37334         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
37335         for invalid gid_t.
37336         * tests/test-chown.h (getegid, test_chown): Likewise.
37337         * tests/test-lchown.h (getegid, test_lchown): Likewise.
37338
37339 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
37340
37341         exclude: Fix header file problems.
37342         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
37343
37344 2009-12-01  Jim Meyering  <meyering@redhat.com>
37345
37346         fts: fts_open: do not let an empty string cause immediate failure
37347         This is required in support of GNU rm, for which the command
37348         "rm A '' B" must process and remove both A and B, in spite of
37349         the empty string argument.
37350         * lib/fts.c (fts_open): Do not let the presence of an empty string
37351         cause fts_open to fail immediately.  Most fts-using tools must be
37352         able to process all arguments, in order, and can be expected to
37353         diagnose such arguments themselves.
37354
37355 2009-11-30  Eric Blake  <ebb9@byu.net>
37356
37357         utimens: fix compilation error
37358         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
37359         Declare variable at right scope.
37360
37361 2009-11-29  Jim Meyering  <meyering@redhat.com>
37362
37363         bootstrap: handle perl-5.11's changed --version output
37364         * build-aux/bootstrap (get_version): Handle perl separately,
37365         since perl-5.11's --version output is different.
37366
37367 2009-11-28  Jim Meyering  <meyering@redhat.com>
37368
37369         userspec: depend on the inttostr module, too
37370         * modules/userspec (Depends-on): Add inttostr.
37371
37372         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
37373         * lib/userspec.c (parse_with_separator): Do not accept a user ID
37374         number of MAXUID when it evaluates to (uid_t) -1.
37375         Likewise for group ID.  Reported by Matt McCutchen in
37376         <http://savannah.gnu.org/bugs/?28113>
37377
37378         userspec: reformat to use spaces, not TABs
37379         * lib/userspec.c: Expand TABs to spaces.
37380         Add Emacs' "indent-tabs-mode: nil" hint.
37381
37382 2009-11-27  Eric Blake  <ebb9@byu.net>
37383
37384         getopt-gnu: flush out another BSD bug
37385         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
37386         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
37387         flush out BSD bug.
37388         * tests/test-getopt.h (test_getopt): End lists with NULL.
37389         * tests/test-getopt_long.h (test_getopt_long): Likewise.
37390         (test_getopt_long_posix): Enhance test.
37391         * modules/getopt-posix-tests (Depends-on): Add stdbool.
37392         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
37393         getopt-gnu.
37394         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
37395         Likewise.
37396
37397 2009-11-27  Simon Josefsson  <simon@josefsson.org>
37398
37399         * modules/idpriv-droptemp-tests (Notice): Fix text.
37400
37401 2009-11-27  Jim Meyering  <meyering@redhat.com>
37402
37403         test-xalloc-die: avoid spurious failure due to libtool argv difference
37404         In a libtool-enabled project, this test would fail due to a difference
37405         in the emitted program name, e.g.,
37406         -test-xalloc-die: memory exhausted
37407         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
37408         Use program to avoid that.
37409         * modules/xalloc-die-tests (Depends-on): Add progname.
37410         * tests/test-xalloc-die.c: Include progname.h".
37411         (program_name): Remove decl.
37412         (main): Call set_program_name.
37413         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
37414
37415 2009-11-26  Richard Jones  <rjones@redhat.com>
37416
37417         w32sock: leave win32 error in place.
37418         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
37419
37420 2009-11-26  Eric Blake  <ebb9@byu.net>
37421
37422         init.sh: suggest to use skip_ and fail_ functions in comments
37423         * tests/init.sh: Add a sentence.
37424
37425 2009-11-25  Bruno Haible  <bruno@clisp.org>
37426
37427         init.sh: add documentation in comments
37428         * tests/init.sh: Add some developer and user documentation.
37429
37430 2009-11-26  Jim Meyering  <meyering@redhat.com>
37431
37432         init.sh: accommodate even those who specify bogus srcdir manually
37433         * tests/init.sh: Normally, srcdir is guaranteed by automake and
37434         configure-time tests to be sanitized, so that there is no need to
37435         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
37436         (with no double quotes) suffices.  However, since tests may be
37437         invoked manually, and since you may explicitly set srcdir to the
37438         name of a directory containing spaces, do quote its uses here.
37439         * tests/test-pread.sh: Likewise.
37440         Suggested by Bruno Haible.
37441
37442         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
37443         * tests/test-pread.sh: Write no data into the pipe, because
37444         test-pread actually reads none.  This avoids a diagnostic,
37445         "bash: echo: write error: Broken pipe", that arises in the unusual
37446         event something is ignoring SIGPIPE, and might be interpreted
37447         as some sort of failure.  Reported by Bruno Haible.
37448
37449 2009-11-25  Jim Meyering  <meyering@redhat.com>
37450
37451         test-pread: cover failure with ESPIPE and EINVAL
37452         * tests/test-pread.c (main): Test for failure, too.
37453         * tests/test-pread.sh: Invoke with stdin on a pipe.
37454         Suggested by Eric Blake.
37455
37456         pread: improvement and fix
37457         * modules/pread (Depends-on): Depend on lseek, for portability to
37458         e.g., mingw.  Suggested by Eric Blake.
37459         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
37460
37461         unistd.in.h: correct declaration of pread
37462         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
37463         Reported by Richard W.M. Jones.
37464
37465         test-pread.sh: distribute the test script
37466         * modules/pread-tests (Files): Include test-pread.sh.
37467
37468         test-pread.sh: clean up
37469         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
37470         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
37471         That is unnecessary, since it's always ".".
37472         Suggestion from Eric Blake.
37473
37474         test-pread.sh: make executable
37475         * tests/test-pread.sh: Set executable bit.
37476         Reported by Eric Blake.
37477
37478         correct typo in test-pread.sh
37479         * tests/test-pread.sh: Add #! line.
37480
37481         test pread
37482         * tests/test-pread.c: New file.
37483         * tests/test-pread.sh: Likewise.
37484         * modules/pread-tests: Likewise.
37485
37486         pread: new module
37487         * modules/pread: New file.
37488         * lib/unistd.in.h (pread): Define/declare.
37489         * lib/pread.c (pread): New file.
37490         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
37491         * modules/unistd (Makefile.am): Substitute witnesses.
37492         * doc/posix-functions/pread.texi (pread): Update.
37493         * MODULES.html.sh: Add pread.
37494
37495 2009-11-25  Jim Meyering  <meyering@redhat.com>
37496
37497         tests/init.sh: new file to be used via most *.sh tests
37498         * tests/init.sh: New file.
37499
37500 2009-11-25  Eric Blake  <ebb9@byu.net>
37501
37502         utimens: work around older Linux failure with symlinks
37503         * lib/utimens.c (lutimensat_works_really): New variable.
37504         (fdutimens, lutimens): Use it to manage kernels that support
37505         nanosecond times on files, but not on symlinks.
37506         Reported by OndÅ™ej Vašík.
37507
37508         utimes: fix configure grammar
37509         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
37510
37511 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
37512
37513         regex: Fix fastmap for multibyte character ranges.
37514         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
37515         characters when a multibyte character range is included.
37516
37517 2009-11-22  Andy Wingo  <wingo@pobox.com>
37518
37519         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
37520         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
37521
37522 2009-11-24  Bruno Haible  <bruno@clisp.org>
37523
37524         doc: Most *_l functions exist in MacOS X 10.5.
37525         * doc/posix-functions/duplocale.texi: Update platforms list.
37526         * doc/posix-functions/freelocale.texi: Likewise.
37527         * doc/posix-functions/newlocale.texi: Likewise.
37528         * doc/posix-functions/uselocale.texi: Likewise.
37529         * doc/posix-functions/isalnum_l.texi: Likewise.
37530         * doc/posix-functions/isalpha_l.texi: Likewise.
37531         * doc/posix-functions/isblank_l.texi: Likewise.
37532         * doc/posix-functions/iscntrl_l.texi: Likewise.
37533         * doc/posix-functions/isdigit_l.texi: Likewise.
37534         * doc/posix-functions/isgraph_l.texi: Likewise.
37535         * doc/posix-functions/islower_l.texi: Likewise.
37536         * doc/posix-functions/isprint_l.texi: Likewise.
37537         * doc/posix-functions/ispunct_l.texi: Likewise.
37538         * doc/posix-functions/isspace_l.texi: Likewise.
37539         * doc/posix-functions/isupper_l.texi: Likewise.
37540         * doc/posix-functions/iswalnum_l.texi: Likewise.
37541         * doc/posix-functions/iswalpha_l.texi: Likewise.
37542         * doc/posix-functions/iswblank_l.texi: Likewise.
37543         * doc/posix-functions/iswcntrl_l.texi: Likewise.
37544         * doc/posix-functions/iswctype_l.texi: Likewise.
37545         * doc/posix-functions/iswdigit_l.texi: Likewise.
37546         * doc/posix-functions/iswgraph_l.texi: Likewise.
37547         * doc/posix-functions/iswlower_l.texi: Likewise.
37548         * doc/posix-functions/iswprint_l.texi: Likewise.
37549         * doc/posix-functions/iswpunct_l.texi: Likewise.
37550         * doc/posix-functions/iswspace_l.texi: Likewise.
37551         * doc/posix-functions/iswupper_l.texi: Likewise.
37552         * doc/posix-functions/iswxdigit_l.texi: Likewise.
37553         * doc/posix-functions/isxdigit_l.texi: Likewise.
37554         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
37555         * doc/posix-functions/strcasecmp_l.texi: Likewise.
37556         * doc/posix-functions/strcoll_l.texi: Likewise.
37557         * doc/posix-functions/strfmon_l.texi: Likewise.
37558         * doc/posix-functions/strftime_l.texi: Likewise.
37559         * doc/posix-functions/strncasecmp_l.texi: Likewise.
37560         * doc/posix-functions/strxfrm_l.texi: Likewise.
37561         * doc/posix-functions/tolower_l.texi: Likewise.
37562         * doc/posix-functions/toupper_l.texi: Likewise.
37563         * doc/posix-functions/towctrans_l.texi: Likewise.
37564         * doc/posix-functions/towlower_l.texi: Likewise.
37565         * doc/posix-functions/towupper_l.texi: Likewise.
37566         * doc/posix-functions/wcscoll_l.texi: Likewise.
37567         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
37568         * doc/posix-functions/wctrans_l.texi: Likewise.
37569         * doc/posix-functions/wctype_l.texi: Likewise.
37570         * doc/glibc-functions/strptime_l.texi: Likewise.
37571         * doc/glibc-functions/strtod_l.texi: Likewise.
37572         * doc/glibc-functions/strtof_l.texi: Likewise.
37573         * doc/glibc-functions/strtol_l.texi: Likewise.
37574         * doc/glibc-functions/strtold_l.texi: Likewise.
37575         * doc/glibc-functions/strtoll_l.texi: Likewise.
37576         * doc/glibc-functions/strtoul_l.texi: Likewise.
37577         * doc/glibc-functions/strtoull_l.texi: Likewise.
37578         * doc/glibc-functions/wcsftime_l.texi: Likewise.
37579         * doc/glibc-functions/wcstod_l.texi: Likewise.
37580         * doc/glibc-functions/wcstof_l.texi: Likewise.
37581         * doc/glibc-functions/wcstol_l.texi: Likewise.
37582         * doc/glibc-functions/wcstold_l.texi: Likewise.
37583         * doc/glibc-functions/wcstoll_l.texi: Likewise.
37584         * doc/glibc-functions/wcstoul_l.texi: Likewise.
37585         * doc/glibc-functions/wcstoull_l.texi: Likewise.
37586
37587 2009-11-24  Bruno Haible  <bruno@clisp.org>
37588
37589         duplocale: Fix logic bug.
37590         * lib/duplocale.c: Don't include <langinfo.h>.
37591         (_NL_LOCALE_NAME): Remove macro.
37592         (rpl_duplocale): Use setlocale instead of nl_langinfo.
37593         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
37594
37595 2009-11-23  Jim Meyering  <meyering@redhat.com>
37596
37597         test-update-copyright: don't hard-code /usr/bin/perl
37598         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
37599         perl to print the current year.  Gilles Espinasse reported that
37600         the replaced use of perl was hard-coded as /usr/bin/perl.
37601
37602 2009-11-23  Bruno Haible  <bruno@clisp.org>
37603
37604         duplocale: Add support for glibc 2.3.x.
37605         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
37606
37607 2009-11-22  Bruno Haible  <bruno@clisp.org>
37608
37609         vasnprintf: Tiny optimization.
37610         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
37611         MacOS X.
37612
37613 2009-11-22  Bruno Haible  <bruno@clisp.org>
37614
37615         Tests for module 'duplocale'.
37616         * modules/duplocale-tests: New file.
37617         * tests/test-duplocale.c: New file.
37618
37619         New module 'duplocale'.
37620         * m4/duplocale.m4: New file.
37621         * lib/locale.in.h (duplocale): New declaration.
37622         * lib/duplocale.c: New file.
37623         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
37624         gl_LOCALE_H_DEFAULTS): New macros.
37625         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
37626         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
37627         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
37628         REPLACE_DUPLOCALE.
37629         * modules/duplocale: New file.
37630         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
37631
37632 2009-11-22  Bruno Haible  <bruno@clisp.org>
37633
37634         * modules/locale-tests (configure.ac): Test for newlocale function.
37635         * tests/test-locale.c: When the system has extended locale functions,
37636         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
37637
37638         locale: Make locale_t available when possible.
37639         * lib/locale.in.h: Include <xlocale.h> when it exists.
37640         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
37641         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
37642         * modules/locale (Depends-on): Add extensions.
37643         (Makefile.am): Also substitute HAVE_XLOCALE_H.
37644         * doc/posix-headers/locale.texi: Document the problem with locale_t.
37645
37646 2009-11-22  Bruno Haible  <bruno@clisp.org>
37647
37648         Add comments.
37649         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
37650         invocation.
37651         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
37652         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
37653         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37654
37655 2009-11-22  Bruno Haible  <bruno@clisp.org>
37656
37657         error: account for the possibility of freopen (stdout).
37658         * lib/error.c: Include <unistd.h>.
37659         (flush_stdout): New function, extracted from error and error_at_line.
37660         Determine stdout's fd dynamically.
37661         (error, error_at_line): Invoke flush_stdout.
37662         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
37663         * modules/error (Depends-on): Add unistd.
37664
37665 2009-11-22  Bruno Haible  <bruno@clisp.org>
37666
37667         diffseq: Add comment.
37668         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
37669
37670 2009-11-22  Jim Meyering  <meyering@redhat.com>
37671
37672         c-stack: avoid defining an unused static function
37673         * lib/c-stack.c (find_stack_direction): Do not define this function
37674         when it will not be used.
37675
37676         diffseq: avoid spurious gcc warnings
37677         * lib/diffseq.h (IF_LINT2): Define.
37678         (compareseq): Use it to initialize two members of "part".
37679         This avoids two used-uninitialized warnings.
37680
37681 2009-11-21  Jim Meyering  <meyering@redhat.com>
37682
37683         c-stack: avoid "ignoring return value of `write'" warning
37684         * lib/c-stack.c: Include "ignore-value.h".
37685         (die): Explicitly ignore each write return value.
37686         * modules/c-stack (Depends-on): Add ignore-value.
37687
37688 2009-11-21  Bruno Haible  <bruno@clisp.org>
37689
37690         diffseq: reduce scope of variable 'best'.
37691         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
37692         variable, earlier used for two different purposes.
37693
37694 2009-11-21  Jim Meyering  <meyering@redhat.com>
37695
37696         diffseq: remove useless assignment to "best"
37697         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
37698         assignment.  At that point "best" is already guaranteed to be zero.
37699
37700 2009-11-20  Eric Blake  <ebb9@byu.net>
37701
37702         build: mention ftp redirector in release announcements
37703         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
37704         values that used to come from cfg.mk; mention FTP redirect URL.
37705         * build-aux/announce-gen: Mention the mirror list.
37706         Suggested by Karl Berry.
37707
37708         nanosleep: improve port to mingw
37709         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
37710         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
37711         LIB_NANOSLEEP, but only when needed.
37712         * modules/select (Link): Document LIBSOCKET.
37713         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
37714         enough.
37715
37716         nanosleep: work around cygwin bug
37717         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
37718         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
37719         bug.
37720         (getnow): Delete, not needed.
37721         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
37722         LIB_CLOCK_GETTIME.
37723         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
37724         clock-time, gettime.
37725         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
37726         bug.
37727         * modules/nanosleep-tests: New test.
37728         * tests/test-nanosleep.c: New file.
37729
37730         sleep: work around cygwin bug
37731         * lib/sleep.c (rpl_sleep): Work around the bug.
37732         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
37733         (gl_PREREQ_SLEEP): Delete unused macro.
37734         * modules/sleep (Depends-on): Add verify.
37735         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
37736         * modules/unistd (Makefile.am): Substitute witness.
37737         * lib/unistd.in.h (sleep): Update prototype.
37738         * doc/posix-functions/sleep.texi (sleep): Document the bug.
37739         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
37740         * modules/sleep-tests (Depends-on): Check for alarm.
37741
37742 2009-11-20  Jim Meyering  <meyering@redhat.com>
37743
37744         maint.mk: improve sc_prohibit_magic_number_exit
37745         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
37746         so it does not match uses like System.exit(1).
37747         Add comments showing how to correct all offenders.
37748
37749 2009-11-19  Eric Blake  <ebb9@byu.net>
37750
37751         xalloc-die-tests: add missing library
37752         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
37753
37754         test-xvasprintf: silence compiler warnings
37755         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
37756         empty string from gcc.
37757
37758 2009-11-19  Jim Meyering  <meyering@redhat.com>
37759
37760         xfreopen: new module, from coreutils
37761         * modules/xfreopen: New module.
37762         * lib/xfreopen.c: New file.
37763         * lib/xfreopen.h: New file.
37764         * MODULES.html.sh (File stream based Input/Output"): Add it.
37765
37766 2009-11-19  Eric Blake  <ebb9@byu.net>
37767
37768         manywarnings: depend on warnings
37769         * modules/manywarnings (Depends-on): Add warnings.
37770
37771         build: avoid compiler warnings
37772         * lib/select.c (rpl_select): Delete unused variable.
37773         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
37774
37775 2009-11-18  Eric Blake  <ebb9@byu.net>
37776
37777         tests: avoid false negative with --with-packager
37778         * tests/test-version-etc.sh: Discard packager information.
37779         * tests/test-argp-version-etc-1.sh: Likewise.
37780         Reported by Mike Frysinger.
37781
37782         utimens: fix regression on Solaris
37783         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
37784         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
37785         can only change fd timestamps via futimesat.  Instead, use an
37786         additional witness macro to avoid BSD bug.
37787         Reported by Jim Meyering.
37788
37789 2009-11-17  Eric Blake  <ebb9@byu.net>
37790
37791         usleep: use it to simplify tests
37792         * modules/stat-time-tests (Depends-on): Add usleep.
37793         (configure.ac): Drop usleep check.
37794         * modules/chown-tests (Depends-on, configure.ac): Likewise.
37795         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
37796         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
37797         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
37798         * modules/openat-tests (Depends-on, configure.ac): Likewise.
37799         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
37800         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
37801         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
37802         Likewise.
37803         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
37804         * tests/test-lchown.h (nap): Likewise.
37805         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
37806         * tests/test-stat-time.c (nap): Likewise.
37807         * tests/test-utimens-common.h (nap): Update comments.
37808
37809         usleep: new module
37810         * modules/usleep: New file.
37811         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
37812         * lib/usleep.c (usleep): Likewise.
37813         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
37814         * modules/unistd (Makefile.am): Substitute witnesses.
37815         * lib/unistd.in.h (usleep): Add declaration.
37816         * doc/pastposix-functions/usleep.texi (usleep): Document this.
37817         * MODULES.html.sh (Date and time): Likewise.
37818         * modules/usleep-tests (Depends-on): New test.
37819         * tests/test-usleep.c: New file.
37820
37821         chown: work around OpenBSD bug
37822         * lib/chown.c (rpl_chown): Work around the bug.
37823         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
37824         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
37825         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
37826         * modules/chown (Depends-on): Add stdbool.
37827         * modules/lchown (Depends-on): Likewise.
37828         * doc/posix-functions/chown.texi (chown): Document the bug.
37829         * doc/posix-functions/lchown.texi (lchown): Likewise.
37830         * tests/test-lchown.h (test_chown): Relax test.
37831
37832         mkstemp: avoid conflict with C++ keyword template
37833         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
37834         * lib/mkostemp.c (mkostemp): Likewise.
37835         * lib/mkostemps.c (mkostemps): Likewise.
37836         * lib/mkstemp.c (mkstemp): Likewise.
37837         * lib/mkstemps.c (mkstemps): Likewise.
37838
37839         xalloc-die-tests: optimize
37840         * tests/test-xalloc-die.sh: Reduce number of processes.
37841
37842 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37843
37844         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
37845         patch from ludo@gnu.org (Ludovic Courtès).
37846
37847 2009-11-17  Jim Meyering  <meyering@redhat.com>
37848
37849         version-etc: use proper license string
37850         * modules/version-etc (License): Use LGPL, not LGPLv3+.
37851         * modules/version-etc-fsf: Likewise.
37852
37853 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37854
37855         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
37856         printed to stdout.  Deal with EOL differences.
37857
37858 2009-11-17  Eric Blake  <ebb9@byu.net>
37859
37860         unsetenv: work around Solaris bug
37861         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
37862         * lib/unsetenv.c (rpl_unsetenv): Work around it.
37863         Reported by Jim Meyering.
37864
37865         vasnprintf: avoid compiler warnings
37866         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
37867         variables.
37868         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
37869
37870 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37871
37872         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
37873         settings since xalloc-die is no longer the self test,
37874         xalloc-die.sh is.
37875
37876 2009-11-17  Jim Meyering  <meyering@redhat.com>
37877
37878         test-xalloc-die.sh: make the code agree with the commit log
37879         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
37880         at the end, just in case you happen to have a test-xalloc-die
37881         program in some other PATH directory.
37882
37883         test-xalloc-die.sh: fix a portability bug
37884         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
37885         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
37886         Otherwise, argv[0] (as often seen in diagnostics) would be too
37887         system-dependent, sometimes with, and sometimes without the leading "./".
37888
37889         version-etc-fsf: relax license to LGPLv3+
37890         * modules/version-etc-fsf (License): Relax license.
37891
37892 2009-11-16  Eric Blake  <ebb9@byu.net>
37893
37894         xalloc-die-tests: avoid printing null pointer
37895         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
37896         shell script.
37897         * tests/test-xalloc-die.c (program_name): Declare.
37898         * tests/test-xalloc-die.sh (tmpfiles): New file.
37899
37900         setenv, unsetenv: work around various bugs
37901         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
37902         (setenv) [HAVE_SETENV]: Work around bugs.
37903         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
37904         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
37905         for bugs.
37906         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
37907         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
37908         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
37909         * modules/stdlib (Makefile.am): Update substitutions.
37910         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
37911         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
37912         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
37913         * modules/setenv-tests: New test.
37914         * modules/unsetenv-tests: Likewise.
37915         * tests/test-setenv.c: New file.
37916         * tests/test-unsetenv.c: Likewise.
37917
37918 2009-11-16  Jim Meyering  <meyering@redhat.com>
37919
37920         version-etc: relax license to LGPLv3+
37921         * modules/version-etc (License): Relax license.
37922
37923         better AC_REQUIRE expanded-before-required-warning avoidance
37924         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
37925         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
37926         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
37927         which is no longer needed.
37928
37929 2009-11-16  Eric Blake  <ebb9@byu.net>
37930
37931         test-freading: clean up temporary file
37932         * tests/test-freading.c (main): Remove file on success, and use
37933         ASSERT more liberally.
37934         Reported by Jim Meyering.
37935
37936 2009-11-16  Jim Meyering  <meyering@redhat.com>
37937
37938         avoid new AC_REQUIRE expanded-before-required warnings
37939         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
37940         merely using it.
37941         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
37942         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
37943
37944 2009-11-15  Simon Josefsson  <simon@josefsson.org>
37945
37946         * tests/test-xalloc-die.c: New file.
37947         * modules/xalloc-die-tests: New file.
37948         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
37949         XFAIL_TESTS so it can be appended by modules.
37950
37951 2009-11-15  Simon Josefsson  <simon@josefsson.org>
37952
37953         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
37954         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
37955
37956 2009-11-14  Eric Blake  <ebb9@byu.net>
37957
37958         fnmatch: avoid compiler warning
37959         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
37960         to silence compiler warning about mismatch signedness in ?:.
37961         Reported by Robert Millan.
37962
37963         intprops: add double-inclusion guard
37964         * lib/intprops.h: Allow idempotent includes.
37965         Suggested by Bruce Korb.
37966
37967         openat: detect Solaris fchownat bug
37968         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
37969         penalizing glibc chownat when only lchownat is broken.
37970         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
37971         trailing slash bugs.
37972         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
37973         * modules/openat-tests (Files): Include more files.
37974         (Depends-on): Add mgetgroups, sleep, stat-time.
37975         (configure.ac): Add additional checks.
37976         (Makefile.am): Build new test.
37977         * tests/test-fchownat.c: New file.
37978
37979         lchown: detect Solaris and FreeBSD bug
37980         * lib/lchown.c (rpl_lchown): Work around bug.
37981         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
37982         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37983         * modules/unistd (Makefile.am): Populate it.
37984         * lib/unistd.in.h (lchown): Update declaration.
37985         * doc/posix-functions/lchown.texi (lchown): Document the bug.
37986         * modules/lchown-tests: New file.
37987         * tests/test-lchown.h (test_lchown): Likewise.
37988         * tests/test-lchown.c (main): Likewise.
37989
37990         chown: detect Solaris and FreeBSD bug
37991         * lib/chown.c (rpl_chown): Work around bug.
37992         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
37993         (gl_PREREQ_CHOWN): Delete.
37994         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37995         * modules/unistd (Makefile.am): Populate it.
37996         * lib/unistd.in.h (chown): Update declaration.
37997         * lib/lchown.c (chown): Update client.
37998         * modules/lchown (Depends-on): Add lstat.
37999         * doc/posix-functions/chown.texi (chown): Document the bug.
38000         * doc/posix-functions/getgroups.texi (getgroups): Document
38001         getgroups pitfall.
38002         * modules/chown-tests: New file.
38003         * tests/test-chown.h (test_chown): Likewise.
38004         * tests/test-chown.c (main): Likewise.
38005
38006 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
38007
38008         gnulib-tool: correctly detect absence of m4 directories
38009         * gnulib-tool: Avoid extra newline on data passed to wc -l.
38010
38011 2009-11-14  Jim Meyering  <meyering@redhat.com>
38012
38013         maint.mk: Prohibit inclusion of "xalloc.h" without use.
38014         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
38015
38016 2009-11-14  John W. Eaton  <jwe@gnu.org>
38017
38018         strftime.h: wrap funtion declaration in extern "C" block
38019         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
38020
38021 2009-11-13  Eric Blake  <ebb9@byu.net>
38022
38023         getgroups: avoid compiler warning
38024         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
38025
38026         getgroups: work around FreeBSD bug
38027         * lib/getgroups.c (rpl_getgroups): Work around the bug.
38028         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
38029         * doc/posix-functions/getgroups.texi (getgroups): Document it.
38030         * tests/test-getgroups.c (main): Fix buffer overrun.
38031
38032         getgroups: avoid compilation failure
38033         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
38034         * modules/getgroups (Depends-on): Add stdint.
38035
38036 2009-11-13  Jim Meyering  <meyering@redhat.com>
38037
38038         test-getgroups: avoid compilation failure
38039         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
38040
38041 2009-11-13  Eric Blake  <ebb9@byu.net>
38042
38043         mgetgroups: new module, taken from coreutils
38044         * modules/mgetgroups: New file.
38045         * lib/mgetgroups.h: Likewise.
38046         * lib/mgetgroups.c (mgetgroups): Likewise.
38047         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
38048         * MODULES.html.sh (Users and groups): Mention it.
38049
38050         getgroups: don't expose GETGROUPS_T to user
38051         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
38052         an element at a time if GETGROUPS_T is wrong size.
38053         * lib/getugroups.h (getugroups): Change signature.
38054         * lib/unistd.in.h (getgroups): Likewise.
38055         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
38056         signature needs fixing.
38057         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
38058         AC_TYPE_GETGROUPS.
38059         * modules/group-member (Depends-on): Add getgroups.
38060         * lib/group-member.c (group_info, get_group_info): Use gid_t.
38061         (group_member): Rely on getgroups replacement.
38062         * lib/getugroups.c (getugroups): Use gid_t.
38063         * tests/test-getgroups.c (main): Likewise.
38064         * NEWS: Mention the signature change.
38065         * doc/posix-functions/getgroups.texi (getgroups): Mention the
38066         problem with signature.
38067         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
38068         GETGROUPS_T is still useful for setgroups.
38069
38070         getgroups, getugroups: provide stubs for mingw
38071         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
38072         * lib/getugroups.c (getugroups): Likewise.
38073         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
38074         function.  Modernize replacement scheme.
38075         (gl_PREREQ_GETGROUPS): Delete.
38076         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
38077         * modules/getgroups (configure.ac): Declare witness.
38078         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
38079         * modules/unistd (Depends-on): Substitute witness.
38080         * lib/unistd.in.h (getgroups): Declare replacement.
38081
38082         getgroups: avoid calling exit
38083         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
38084         drop xalloc.
38085         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
38086         dependencies.
38087         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
38088         exiting, in the rare case of malloc failure.
38089
38090         getgroups: fix logic error
38091         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
38092         has more than 20 groups.
38093         * modules/getgroups-tests: New test.
38094         * tests/test-getgroups.c: New file.
38095
38096 2009-11-13  Simon Josefsson  <simon@josefsson.org>
38097
38098         * tests/test-base64.c: Improve.
38099
38100 2009-11-13  Simon Josefsson  <simon@josefsson.org>
38101
38102         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
38103         Blake <ebb9@byu.net>.
38104
38105 2009-11-13  Simon Josefsson  <simon@josefsson.org>
38106
38107         * tests/test-xvasprintf.c: Add %s%s related checks.
38108
38109 2009-11-12  Eric Blake  <ebb9@byu.net>
38110
38111         version-etc: match standards.texi style
38112         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
38113         and use <> only for URLs.
38114
38115 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
38116
38117         fts: do not fail on a submount during traversal
38118         * lib/fts.c (fts_build): Read the stat info again after opening
38119         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
38120         Original report at http://bugzilla.redhat.com/501848.
38121
38122 2009-11-12  Jim Meyering  <meyering@redhat.com>
38123
38124         bootstrap: sync from coreutils
38125         * build-aux/bootstrap (bootstrap_epilogue): New function.
38126         Use git_modules_config in one more place.  This make bootstrap's
38127         --gnulib-srcdir option more useful for testing.
38128
38129         bootstrap: generalize autoheader check
38130         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
38131         AC_CONFIG_HEADERS.
38132
38133 2009-11-11  Eric Blake  <ebb9@byu.net>
38134
38135         mkfifoat: use new modules for Solaris and BSD bugs
38136         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
38137         * lib/mkfifoat.c (mknodat): Split...
38138         * lib/mknodat.c (mknodat): ...into new file.
38139         * modules/mkfifoat (Files): Ship new file.
38140         (Depends-on): Add mkfifo, mknod.
38141         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
38142         (Depends-on): Add symlink.
38143         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
38144         redundant with test_mkfifo.h.
38145         (do_mkfifoat, do_mknodat): New helpers.
38146
38147         mknod: new module
38148         * modules/mknod: New file.
38149         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
38150         * lib/mknod.c (mknod): Likewise.
38151         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
38152         defaults.
38153         * modules/sys_stat (Makefile.am): Substitute them.
38154         * lib/sys_stat.in.h (mknod): Declare replacement.
38155         * MODULES.html.sh (Support for systems lacking POSIX:2008):
38156         Document it.
38157         * doc/posix-functions/mknod.texi (mknod): Likewise.
38158         * modules/mknod-tests: New test.
38159         * tests/test-mknod.c: Likewise.
38160
38161         mkfifo: new module
38162         * modules/mkfifo: New file.
38163         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
38164         * lib/mkfifo.c (mkfifo): Likewise.
38165         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
38166         defaults.
38167         * modules/sys_stat (Makefile.am): Substitute them.
38168         * lib/sys_stat.in.h (mkfifo): Declare replacement.
38169         * MODULES.html.sh (Support for systems lacking POSIX:2008):
38170         Document it.
38171         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
38172         * modules/mkfifo-tests: New test.
38173         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
38174         from test-mkfifoat.c.
38175         * tests/test-mkfifo.c: New file.
38176
38177         readlink: detect FreeBSD bug
38178         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
38179         slash on symlink.
38180         * doc/posix-functions/readlink.texi (readlink): Document the bug.
38181         * tests/test-readlink.h (test_readlink): Enhance test.
38182
38183         symlink: detect FreeBSD bug
38184         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
38185         slash on symlink.
38186         * doc/posix-functions/symlink.texi (symlink): Document the bug.
38187         * tests/test-symlink.h (test_symlink): Enhance test.
38188
38189 2009-11-10  Eric Blake  <ebb9@byu.net>
38190
38191         link: detect FreeBSD bug
38192         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
38193         symlink.
38194         * doc/posix-functions/link.texi (link): Document the bug.
38195         * tests/test-link.h (test_link): Enhance test.
38196         * tests/test-linkat.c (main): Update caller.
38197
38198         unlink, remove: detect FreeBSD bug
38199         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
38200         slash on symlink.
38201         * doc/posix-functions/unlink.texi (unlink): Document the bug.
38202         * doc/posix-functions/remove.texi (remove): Likewise.
38203         * tests/test-unlink.h (test_unlink): Enhance test.
38204         * tests/test-remove.c (main): Likewise.
38205
38206 2009-11-09  Eric Blake  <ebb9@byu.net>
38207
38208         rename: detect FreeBSD bug
38209         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
38210         slash on symlink.
38211         * modules/renameat-tests (Depends-on): Add filenamecat.
38212         * tests/test-rename.h (test_rename): Allow one more errno.
38213         * tests/test-renameat.c (main): Likewise.
38214         * doc/posix-functions/rename.texi (rename): Document the bug.
38215
38216         open: detect FreeBSD bug
38217         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
38218         symlink.
38219         * doc/posix-functions/open.texi (open): Document the bug.
38220         * doc/posix-functions/utimes.texi (utimes): Likewise.
38221         * tests/test-open.h (test_open): Add parameters, and test symlink
38222         handling.
38223         * tests/test-open.c (main): Adjust caller.
38224         * tests/test-fcntl-safer.c (main): Likewise.
38225         * modules/open-tests (Depends-on): Add stdbool, symlink.
38226         * modules/fcntl-safer-tests (Depends-on): Likewise.
38227         * tests/test-openat.c (main): Add test-open tests.
38228
38229         stat: detect FreeBSD bug
38230         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
38231         symlink.
38232         * doc/posix-functions/stat.texi (stat): Document the bug.
38233         * tests/test-stat.h (test_stat_func): Add argument.
38234         * tests/test-stat.c (main): Adjust caller.
38235         * tests/test-fstatat.c (main): Likewise.
38236         * modules/stat-tests (Depends-on): Add stdbool, symlink.
38237         Reported by Jim Meyering.
38238
38239 2009-11-09  James Youngman  <jay@gnu.org>
38240
38241         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
38242         * lib/strftime.c: Correct placement of #include "ignore-value.h".
38243
38244 2009-11-08  Jim Meyering  <meyering@redhat.com>
38245
38246         utimens: remove invalid futimesat call
38247         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
38248         It used the file descriptor of the target file as the DIR_FD
38249         parameter and NULL as the file name.  That caused failure with
38250         errno == EFAULT on FreeBSD-8.0-rc2
38251
38252 2009-11-07  Eric Blake  <ebb9@byu.net>
38253
38254         fflush, freadseek: use fseeko, not fseek
38255         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
38256         (clear_ungetc_buffer): Avoid potential problems on large files.
38257         * lib/freadseek.c (freadseek): Likewise.
38258         * modules/freadseek (Depends-on): Add fseeko.
38259         * modules/fseek (configure.ac): Set a witness.
38260         * tests/test-fflush.c (main): Use fseeko.
38261         * tests/test-fpurge.c (fseek): Disable link warning.
38262         * tests/test-freadable.c (fseek): Likewise.
38263         * tests/test-freading.c (fseek): Likewise.
38264         * tests/test-fseeko.c (fseek): Likewise.
38265         * tests/test-ftell.c (fseek): Likewise.
38266         * tests/test-ftello.c (fseek): Likewise.
38267         * tests/test-fwritable.c (fseek): Likewise.
38268         * tests/test-fwriting.c (fseek): Likewise.
38269
38270 2009-11-06  Simon Josefsson  <simon@josefsson.org>
38271
38272         * modules/memchr (Depends-on): Drop getpagesize dependency.
38273
38274 2009-11-06  Simon Josefsson  <simon@josefsson.org>
38275
38276         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
38277         Reported by Ludovic Courtès.
38278         * build-aux/pmccabe2html: Improve example usage.
38279         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
38280
38281 2009-11-06  Jim Meyering  <meyering@redhat.com>
38282
38283         do-release-commit-and-tag: New module.
38284         Automate the release-commit and tag process.
38285         * build-aux/do-release-commit-and-tag: New script, from coreutils.
38286         * modules/do-release-commit-and-tag: New file.
38287         * MODULES.html.sh (Support for maintaining and releasing): Add it.
38288
38289 2009-11-06  Simon Josefsson  <simon@josefsson.org>
38290
38291         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
38292         because test-select.c uses inet_pton.
38293
38294 2009-11-06  Simon Josefsson  <simon@josefsson.org>
38295
38296         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
38297         GETADDRINFO_LIB.  Bump serial number.
38298         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
38299         Suggested by Eric Blake <ebb9@byu.net>.
38300
38301 2009-11-05  Eric Blake  <ebb9@byu.net>
38302
38303         strtod: detect darwin bug
38304         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
38305         Reported by Leo Davis.
38306
38307         freopen-safer: new module
38308         * modules/freopen-safer: New module.
38309         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
38310         * lib/freopen-safer.c (freopen_safer): New file.
38311         * lib/stdio-safer.h (freopen_safer): New declaration.
38312         * lib/stdio--.h (freopen): New override.
38313         * MODULES.html.sh (File stream based Input/Output): Mention it.
38314         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
38315         freopen-safer module.
38316         * doc/posix-functions/stderr.texi (stderr): Likewise.
38317         * doc/posix-functions/stdin.texi (stdin): Likewise.
38318         * doc/posix-functions/stdout.texi (stdout): Likewise.
38319         * modules/freopen-safer-tests: New test.
38320         * tests/test-reopen-safer.c: New file.
38321
38322 2009-11-05  Jim Meyering  <meyering@redhat.com>
38323
38324         maint.mk: Prohibit inclusion of "close-stream.h" without use.
38325         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
38326
38327 2009-11-05  Simon Josefsson  <simon@josefsson.org>
38328
38329         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
38330
38331 2009-11-05  Simon Josefsson  <simon@josefsson.org>
38332
38333         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
38334
38335 2009-11-05  Simon Josefsson  <simon@josefsson.org>
38336
38337         Fix link error.
38338         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
38339         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
38340
38341 2009-11-05  Simon Josefsson  <simon@josefsson.org>
38342
38343         * tests/test-func.c: Also test value of __func__.
38344
38345 2009-11-05  Simon Josefsson  <simon@josefsson.org>
38346
38347         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
38348         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
38349
38350 2009-11-05  Bruno Haible  <bruno@clisp.org>
38351
38352         Fix link error.
38353         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
38354         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
38355         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
38356
38357 2009-11-05  Bruno Haible  <bruno@clisp.org>
38358
38359         Tests for module 'inet_pton'.
38360         * modules/inet_pton-tests: New file.
38361         * tests/test-inet_pton.c: New file.
38362
38363 2009-11-05  Bruno Haible  <bruno@clisp.org>
38364
38365         Tests for module 'inet_ntop'.
38366         * modules/inet_ntop-tests: New file.
38367         * tests/test-inet_ntop.c: New file.
38368
38369 2009-11-04  Eric Blake  <ebb9@byu.net>
38370
38371         stdlib-safer: wrap all mkstemp variants
38372         * modules/mkostemp (configure.ac): Set witness.
38373         * modules/mkostemps (configure.ac): Likewise.
38374         * modules/mkstemps (configure.ac): Likewise.
38375         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
38376         (mkstemps_safer): Wrap more functions.
38377         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
38378         wrapping.
38379         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
38380         (mkstemps_safer): Implement the wrappers.
38381
38382         mkstemps, mkostemps: new modules
38383         * modules/mkostemps: New module.
38384         * modules/mkstemps: Likewise.
38385         * lib/mkostemps.c (mkostemps): New file.
38386         * lib/mkstemps.c (mkstemps): Likewise.
38387         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
38388         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
38389         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
38390         * modules/stdlib (Makefile.am): Substitute them.
38391         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
38392         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
38393         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
38394         * doc/gnulib.texi (Glibc stdlib.h): Include them.
38395         * MODULES.html.sh (File system functions): Mention them.
38396
38397         tempname: resync from glibc
38398         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
38399         same values for __GT_FILE as glibc.  Abort even when assertions
38400         are disabled.
38401         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
38402         match its value otherwise.  Allow idempotent inclusion.
38403         * lib/mkdtemp.c (mkdtemp): Adjust caller.
38404         * lib/mkostemp.c (mkostemp): Likewise.
38405         * lib/mkstemp.c (mkstemp): Likewise.
38406         * lib/tmpfile.c (tmpfile): Likewise.
38407         * NEWS: Document this.
38408
38409         utimens: fix use of futimens on older Linux
38410         * lib/utimens.c (fdutimens): Use updated, rather than original,
38411         timespec to avoid bug in older Linux kernel.
38412         Reported by Simon Josefsson.
38413
38414 2009-11-04  Bruno Haible  <bruno@clisp.org>
38415
38416         Make num_processors more flexible and consistent.
38417         * lib/nproc.h (enum nproc_query): New type.
38418         (num_processors): Add a 'query' argument.
38419         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
38420         (num_processors): Add a 'query' argument. Test the value of the
38421         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
38422         mingw, count the number of CPUs available for the current process.
38423         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
38424         Check for sched_getaffinity and sched_getaffinity_np.
38425         * modules/nproc (Depends-on): Add c-ctype, extensions.
38426         * NEWS: Mention the change.
38427
38428 2009-11-03  Bruno Haible  <bruno@clisp.org>
38429
38430         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
38431
38432 2009-11-03  Jim Meyering  <meyering@redhat.com>
38433
38434         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
38435         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
38436         if it is defined.
38437
38438 2009-11-02  Eric Blake  <ebb9@byu.net>
38439
38440         mktime, timegm: share common declaration
38441         * lib/mktime-internal.h: New file.
38442         * lib/mktime.c: Use it rather than open-coding a declaration.
38443         * lib/timegm.c: Likewise.
38444         * modules/mktime (Files): Ship it.
38445         * modules/timegm (Files): Likewise.
38446         Suggested by Bruno Haible.
38447
38448         test-update-copyright: update test to match script changes
38449         * tests/test-update-copyright.sh: Avoid hard-coding perl
38450         location.  Don't update *.bak created by earlier runs.
38451
38452 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
38453             Simon Josefsson  <simon@josefsson.org>
38454             Bruno Haible  <bruno@clisp.org>
38455
38456         Fix link error on Solaris 8.
38457         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
38458         also in libnsl. Define also INET_PTON_LIB.
38459         * modules/inet_pton (Link): New section.
38460
38461 2009-11-02  Simon Josefsson  <simon@josefsson.org>
38462             Bruno Haible  <bruno@clisp.org>
38463
38464         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
38465         * modules/inet_ntop (Link): New section.
38466         Reported by Boyan Kasarov <bkasarov@gmail.com>.
38467
38468 2009-11-02  Eric Blake  <ebb9@byu.net>
38469
38470         maint: avoid compiler warnings in m4 macros
38471         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
38472         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
38473
38474 2009-11-02  Simon Josefsson  <simon@josefsson.org>
38475
38476         * m4/pmccabe2html.m4: Remove file.
38477         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
38478         function.  Change maintainer.
38479         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
38480         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
38481         Courtès).
38482
38483 2009-10-31  Eric Blake  <ebb9@byu.net>
38484
38485         fseeko: fix m4 regression
38486         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
38487         regression from 2009-10-27.
38488         Reported by Ralf Wildenhues.
38489
38490 2009-10-31  Jim Meyering  <meyering@redhat.com>
38491
38492         inttostr: aesthetics and improved (compile-time) safety
38493         Define inttype_is_signed rather than inttype_is_unsigned,
38494         since the sole use is via "#if inttype_is_signed".
38495         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
38496         inttype_is_unsigned.
38497         * lib/offtostr.c (inttype_is_signed): Likewise.
38498         * lib/uinttostr.c (inttype_is_signed): Likewise.
38499         * lib/umaxtostr.c (inttype_is_signed): Likewise.
38500         * lib/inttostr.c (inttostr): Use verify to cross-check the
38501         inttype_is_signed value and the signedness of the actual type.
38502         * modules/inttostr (Depends-on): Add verify.
38503
38504 2009-10-30  Eric Blake  <ebb9@byu.net>
38505
38506         build: avoid compiler warnings
38507         * lib/fchmodat.c (lchmod): Mark unused variables.
38508         * lib/getopt.c (_getopt_initialize): Likewise.
38509         * lib/mktime.c (__mktime_internal): Provide prototype.
38510         * lib/inttostr.c (inttostr): Avoid compiler warning even with
38511         older gcc that do not understand #pragma GCC diagnostic.
38512         * lib/uinttostr.c (inttype_is_unsigned): Define.
38513         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
38514
38515 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
38516
38517         stat: fix compilation on AIX
38518         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
38519         only see struct stat64.
38520
38521 2009-10-30  Eric Blake  <ebb9@byu.net>
38522
38523         exclude: make more robust
38524         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
38525         rather than masking a coding bug.
38526         Suggested by Bruno Haible.
38527
38528 2009-10-30  Jim Meyering  <meyering@redhat.com>
38529
38530         perl scripts: remove #!/usr/bin/perl in favor of more portable...
38531         Rather than putting #!/usr/bin/perl on the first line,
38532         start with a variant of what's recommended by "man perlrun" that
38533         invokes the first "perl" program from your shell's search path.
38534         * build-aux/gitlog-to-changelog: Replace #!... as above.
38535         Add a "Local Variables" perl mode setting.
38536         Prompted by a patch from Ludovic Courtès.
38537         Improved by Eric Blake.
38538         * build-aux/useless-if-before-free: Likewise.
38539         * build-aux/announce-gen: Likewise.
38540         * build-aux/update-copyright: Likewise.
38541
38542 2009-10-29  Eric Blake  <ebb9@byu.net>
38543
38544         filenamecat-lgpl: adjust clients
38545         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
38546         filenamecat.
38547         * modules/renameat (Depends-on): Likewise.
38548
38549         filenamecat: split into filenamecat-lgpl
38550         * modules/filenamecat-lgpl: New module.
38551         * modules/filenamecat (Files): Move library-safe files into
38552         filenamecat-lgpl.
38553         (Depends-on): Add filenamecat-lgpl.
38554         (configure.ac): Declare witness.
38555         * lib/filenamecat.h (file_name_concat): Only declare when using
38556         GPL module.
38557         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
38558         Move...
38559         * lib/filenamecat-lgpl.c: ...into new file.
38560         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
38561         (gl_FILE_NAME_CONCAT): Use it.
38562         * MODULES.html.sh (File system functions): Mention new module.
38563
38564         argp: avoid memory leak
38565         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
38566         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
38567         base_name, since the latter malloc()s and can call exit().
38568         Leak introduced 2006-07-03.
38569
38570         dirname-lgpl: adjust clients that don't need full dirname
38571         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
38572         * modules/filenamecat (Depends-on): Likewise.
38573         * modules/linkat (Depends-on): Likewise.
38574         * modules/mkancesdirs (Depends-on): Likewise.
38575         * modules/mkdir (Depends-on): Likewise.
38576         * modules/openat (Depends-on): Likewise.
38577         * modules/savewd (Depends-on): Likewise.
38578         * modules/rename (Depends-on): Likewise.
38579         (License): Relax license.
38580         * modules/mkdir-tests (Depends-on): Drop progname.
38581         (Makefile.am): Delete unneeded LDADD.
38582         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
38583
38584         dirname: split into dirname-lgpl
38585         * modules/dirname-lgpl: New module.
38586         * modules/dirname (Files): Move library-safe files into
38587         dirname-lgpl.
38588         (Depends-on): Add dirname-lgpl.
38589         (configure.ac): Declare witness.
38590         * modules/double-slash-root (License): Relax license.
38591         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
38592         module.
38593         * lib/dirname.c (dir_len, mdir_name): Move...
38594         * lib/dirname-lgpl.c: ...into new file.
38595         * lib/basename.c (last_component, base_len): Move...
38596         * lib/basename-lgpl.c: ...into new file.
38597         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
38598         (gl_DIRNAME): Use it.
38599         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
38600         Mention new module.
38601         * modules/dirname-tests (Depends-on): Add progname.
38602         * tests/test-dirname.c (program_name): Delete.
38603
38604         mkdir: make safe for libraries
38605         * modules/mkdir (Depends-on): Drop xalloc.
38606         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
38607         exit.
38608
38609         tests: avoid some compiler warnings
38610         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
38611         literals.
38612         * tests/test-memchr.c (main): Avoid type mismatch.
38613         * tests/test-arpa_inet.c (main): Avoid unused parameters.
38614         * tests/test-base64.c (main): Likewise.
38615         * tests/test-getdelim.c (main): Likewise.
38616         * tests/test-gethostname.c (main): Likewise.
38617         * tests/test-getline.c (main): Likewise.
38618         * tests/test-netinet_in.c (main): Likewise.
38619         * tests/test-select.c (open_server_socket, main): Likewise.
38620         * tests/test-select-stdin.c (main): Likewise.
38621         * tests/test-sockets.c (main): Likewise.
38622         * tests/test-strsignal.c (main): Likewise.
38623         * tests/test-sys_select.c (main): Likewise.
38624         * tests/test-sys_socket.c (main): Likewise.
38625         * tests/test-u64.c (main): Likewise.
38626         * tests/test-xfprintf-posix.c (main): Likewise.
38627         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
38628
38629         sockets: avoid compiler warning
38630         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
38631
38632         maint: detect usage(1) and other suspicious exits
38633         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
38634
38635 2009-10-29  Jim Meyering  <meyering@redhat.com>
38636
38637         timespec: long-to-int truncation could make timespec_cmp malfunction
38638         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
38639         a multiple of 2^32 nanoseconds as no difference.
38640
38641 2009-10-28  Jim Meyering  <meyering@redhat.com>
38642
38643         fprintftime: wrap macro code argument in "do {...} while(0)"
38644         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
38645         cpy macro must be a statement that can be followed by a semicolon.
38646         Now that the else clause contains a comment and is hence longer
38647         than one line, I require curly braces.  That in turn requires
38648         that we wrap this code block in the standard do...while(0).
38649
38650         fprintftime: remove stray semicolon from previous change
38651         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
38652
38653         fprintftime: avoid a warning about ignored fwrite return value
38654         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
38655         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
38656         that is unsafe.
38657         * modules/fprintftime (Depends-on): Add ignore-value.
38658
38659         exclude: avoid an unwarranted warning
38660         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
38661
38662 2009-10-27  Eric Blake  <ebb9@byu.net>
38663
38664         fseek: avoid compilation failure when fflush is replaced
38665         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
38666         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
38667         module is in use.
38668         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
38669         module is not in use; since REPLACE_FSEEK worked otherwise.
38670         (GNULIB_FTELLO): Likewise for ftell.
38671         Reported by Ian Beckwith and others.
38672
38673 2009-10-27  Bruno Haible  <bruno@clisp.org>
38674
38675         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
38676         Reported by Jim Meyering.
38677
38678 2009-10-27  Jim Meyering  <jim@meyering.net>
38679             Bruno Haible  <bruno@clisp.org>
38680
38681         Avoid warning despite dropping the return value of fwrite.
38682         * lib/unicodeio.c: Include ignore-value.h.
38683         (fwrite_success_callback): Explicitly ignore fwrite's return value.
38684         * modules/unicodeio (Depends-on): Add ignore-value.
38685
38686 2009-10-26  Eric Blake  <ebb9@byu.net>
38687
38688         areadlinkat: fix fallback path
38689         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
38690         pointer and zero.
38691
38692 2009-10-22  Pádraig Brady  <P@draigBrady.com>
38693
38694         Use a better IO block size for modern systems
38695         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
38696         * lib/md2.c: Likewise.
38697         * lib/md4.c: Likewise.
38698         * lib/md5.c: Likewise.
38699         * lib/sha1.c: Likewise.
38700         * lib/sha256.c: Likewise.
38701         * lib/sha512.c: Likewise.
38702
38703 2009-10-22  Eric Blake  <ebb9@byu.net>
38704
38705         tests: avoid several compiler warnings
38706         * tests/test-getcwd.c (main): Avoid buffer underflow.
38707         * tests/test-getdate.c (main): String literals are not safe with
38708         putenv, so use setenv.  Declare unused argument.
38709         * modules/getdate-tests (Depends-on): Add setenv.
38710         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
38711         problems with string literals in char *.
38712         * tests/test-hash.c (main): Avoid shadowing declaration.
38713         (insert_new): Treat string literals as char const *.
38714         * tests/test-getopt.h (test_getopt): Likewise.
38715         (getopt_loop): Alter types to minimize casting elsewhere.
38716         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
38717         (test_getopt_long_posix): Likewise.
38718         (do_getopt_long): Add wrapper to minimize casting.
38719         * tests/test-atexit.c (clear_temp_file): Use void.
38720         * tests/test-areadlink-with-size.c (main): Declare unused
38721         arguments.
38722         * tests/test-areadlink.c (main): Likewise.
38723         * tests/test-areadlinkat-with-size.c (main): Likewise.
38724         * tests/test-areadlinkat.c (main): Likewise.
38725         * tests/test-canonicalize-lgpl.c (main): Likewise.
38726         * tests/test-canonicalize.c (main): Likewise.
38727         * tests/test-dirent-safer.c (main): Likewise.
38728         * tests/test-dirname.c (main): Likewise.
38729         * tests/test-dup2.c (main): Likewise.
38730         * tests/test-fchdir.c (main): Likewise.
38731         * tests/test-fcntl-h.c (main): Likewise.
38732         * tests/test-fcntl-safer.c (main): Likewise.
38733         * tests/test-fdopendir.c (main): Likewise.
38734         * tests/test-fdutimensat.c (main): Likewise.
38735         * tests/test-fflush.c (main): Likewise.
38736         * tests/test-filenamecat.c (main): Likewise.
38737         * tests/test-filevercmp.c (main): Likewise.
38738         * tests/test-fopen-safer.c (main): Likewise.
38739         * tests/test-fopen.c (main): Likewise.
38740         * tests/test-fpending.c (main): Likewise.
38741         * tests/test-fpurge.c (main): Likewise.
38742         * tests/test-freading.c (main): Likewise.
38743         * tests/test-fstatat.c (main): Likewise.
38744         * tests/test-fsync.c (main): Likewise.
38745         * tests/test-futimens.c (main): Likewise.
38746         * tests/test-getndelim2.c (main): Likewise.
38747         * tests/test-gettimeofday.c (main): Likewise.
38748         * tests/test-getopt.c (main): Likewise.
38749         * tests/test-i-ring.c (main): Likewise.
38750         * tests/test-inttypes.c (main): Likewise.
38751         * tests/test-link.c (main): Likewise.
38752         * tests/test-lstat.c (main): Likewise.
38753         * tests/test-math.c (main): Likewise.
38754         * tests/test-md5.c (main): Likewise.
38755         * tests/test-memchr2.c (main): Likewise.
38756         * tests/test-memrchr.c (main): Likewise.
38757         * tests/test-mkdir.c (main): Likewise.
38758         * tests/test-mkdirat.c (main): Likewise.
38759         * tests/test-mkfifoat.c (main): Likewise.
38760         * tests/test-open.c (main): Likewise.
38761         * tests/test-openat-safer.c (main): Likewise.
38762         * tests/test-openat.c (main): Likewise.
38763         * tests/test-quotearg.c (main): Likewise.
38764         * tests/test-rawmemchr.c (main): Likewise.
38765         * tests/test-readlink.c (main): Likewise.
38766         * tests/test-remove.c (main): Likewise.
38767         * tests/test-rename.c (main): Likewise.
38768         * tests/test-renameat.c (main): Likewise.
38769         * tests/test-rmdir.c (main): Likewise.
38770         * tests/test-sha1.c (main): Likewise.
38771         * tests/test-signal.c (main): Likewise.
38772         * tests/test-sigaction.c (main): Likewise.
38773         * tests/test-stat.c (main): Likewise.
38774         * tests/test-stat-time.c (main): Likewise.
38775         * tests/test-stddef.c (main): Likewise.
38776         * tests/test-stdint.c (main): Likewise.
38777         * tests/test-stdio.c (main): Likewise.
38778         * tests/test-stdlib.c (main): Likewise.
38779         * tests/test-strchrnul.c (main): Likewise.
38780         * tests/test-strerror.c (main): Likewise.
38781         * tests/test-string.c (main): Likewise.
38782         * tests/test-strtod.c (main): Likewise.
38783         * tests/test-strverscmp.c (main): Likewise.
38784         * tests/test-symlink.c (main): Likewise.
38785         * tests/test-symlinkat.c (main): Likewise.
38786         * tests/test-sys_stat.c (main): Likewise.
38787         * tests/test-sys_time.c (main): Likewise.
38788         * tests/test-time.c (main): Likewise.
38789         * tests/test-unistd.c (main): Likewise.
38790         * tests/test-unlink.c (main): Likewise.
38791         * tests/test-unlinkat.c (main): Likewise.
38792         * tests/test-utimens.c (main): Likewise.
38793         * tests/test-utimensat.c (main): Likewise.
38794         * tests/test-version-etc.c (main): Likewise.
38795         * tests/test-wchar.c (main): Likewise.
38796         * tests/test-wctype.c (main): Likewise.
38797         * tests/test-xprintf-posix.c (main): Likewise.
38798         * tests/test-posixtm.c (main): Likewise.
38799         (STREQ): Delete unused macro.
38800         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
38801         shadowed variables.
38802         * tests/test-memchr.c (main): Likewise.
38803
38804 2009-10-21  Eric Blake  <ebb9@byu.net>
38805
38806         areadlinkat: avoid failure on older glibc
38807         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
38808         rather than mis-comparing 0 against FUNC_RESULT of char*.
38809
38810 2009-10-21  Bruno Haible  <bruno@clisp.org>
38811
38812         * modules/stpncpy (License): Relicense under LGPLv2+.
38813         Reported by David Lutterkort <lutter@redhat.com>.
38814
38815 2009-10-20  Eric Blake  <ebb9@byu.net>
38816
38817         utimensat: work around Solaris 9 bug
38818         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
38819         has trailing slash bugs.
38820         * tests/test-lutimens.h (test_lutimens): Enhance test.
38821         * tests/test-utimens.h (test_utimens): Likewise.
38822         * doc/posix-functions/utime.texi (utime): Enhance documentation.
38823         * doc/posix-functions/utimes.texi (utimes): Likewise.
38824         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38825         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
38826         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
38827         * doc/posix-functions/futimens.texi (futimens): Likewise.
38828
38829         fdutimensat: new module
38830         * modules/fdutimensat: New file.
38831         * lib/fdutimensat.c (fdutimensat): Likewise.
38832         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
38833         * MODULES.html.sh (File system functions): Mention module.
38834         * modules/fdutimensat-tests: New test.
38835         * tests/test-fdutimensat.c: Likewise.
38836
38837         doc: regenerate INSTALL
38838         * doc/INSTALL: Reflect recent autoconf update.
38839         * doc/INSTALL.ISO: Likewise.
38840         * doc/INSTALL.UTF-8: Likewise.
38841
38842 2009-10-20  Pádraig Brady  <P@draigBrady.com>
38843
38844         acl: warn if ACL support is not detected
38845         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
38846
38847 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
38848
38849         * lib/nproc.h: Add extern "C" block for C++.
38850
38851 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
38852             Bruno Haible  <bruno@clisp.org>
38853
38854         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
38855         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
38856         * doc/posix-functions/isalpha.texi: Likewise.
38857         * doc/posix-functions/isblank.texi: Likewise.
38858         * doc/posix-functions/iscntrl.texi: Likewise.
38859         * doc/posix-functions/isdigit.texi: Likewise.
38860         * doc/posix-functions/isgraph.texi: Likewise.
38861         * doc/posix-functions/islower.texi: Likewise.
38862         * doc/posix-functions/isprint.texi: Likewise.
38863         * doc/posix-functions/ispunct.texi: Likewise.
38864         * doc/posix-functions/isspace.texi: Likewise.
38865         * doc/posix-functions/isupper.texi: Likewise.
38866         * doc/posix-functions/isxdigit.texi: Likewise.
38867
38868 2009-10-18  Bruno Haible  <bruno@clisp.org>
38869
38870         Tests for module 'isblank'.
38871         * modules/isblank-tests: New file.
38872         * tests/test-isblank.c: New file.
38873
38874         New module 'isblank'.
38875         * lib/isblank.c: New file.
38876         * m4/isblank.m4: New file.
38877         * modules/isblank: New file.
38878         * doc/posix-functions/isblank.texi: Mention the new module.
38879
38880 2009-10-18  Bruno Haible  <bruno@clisp.org>
38881
38882         New module 'ctype'.
38883         * lib/ctype.in.h: New file.
38884         * m4/ctype.m4: New file.
38885         * modules/ctype: New file.
38886         * doc/posix-headers/ctype.texi: Mention the new module.
38887
38888 2009-10-18  Jim Meyering  <meyering@redhat.com>
38889
38890         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
38891         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
38892         right after its initialization, rather than farther down.
38893         Keeping these in close proximity makes it easier to ensure
38894         that each such variable is initialized.  E.g.,
38895
38896             LIB_CLOCK_GETTIME=
38897             AC_SUBST([LIB_CLOCK_GETTIME])
38898
38899         This change also increments these serial numbers.
38900         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
38901         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
38902         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38903
38904 2009-10-18  Bruno Haible  <bruno@clisp.org>
38905
38906         Don't let environment variables perturb build.
38907         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
38908         (gl_PREREQ_GETHRXTIME): ... not here.
38909
38910 2009-10-18  Bruno Haible  <bruno@clisp.org>
38911
38912         Avoid symlink attack in localcharset module.
38913         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
38914         (O_NOFOLLOW): Define fallback.
38915         (get_charset_aliases): Don't open the file if it is a symbolic link.
38916         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
38917         gl_FCNTL_H.
38918         (gl_FCNTL_H): Require it.
38919         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
38920         * modules/localcharset (Files): Add m4/fcntl_h.m4.
38921         Reported by Fergal Glynn <fglynn@veracode.com>.
38922
38923 2009-10-18  Bruno Haible  <bruno@clisp.org>
38924
38925         Implement nproc for mingw.
38926         * lib/nproc.c: Include <windows.h>
38927         (num_processors): On native Windows platforms, try GetSystemInfo.
38928
38929 2009-10-18  Bruno Haible  <bruno@clisp.org>
38930
38931         Implement nproc for IRIX.
38932         * lib/nproc.c: Include <sys/sysmp.h>.
38933         (num_processors): On IRIX systems, try sysmp.
38934         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
38935
38936 2009-10-18  Bruno Haible  <bruno@clisp.org>
38937
38938         Implement nproc for HP-UX.
38939         * lib/nproc.c: Include <sys/pstat.h>
38940         (num_processors): On HP-UX systems, try pstat_getdynamic.
38941         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
38942         pstat_getdynamic.
38943
38944 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
38945             Bruno Haible  <bruno@clisp.org>
38946
38947         Implement nproc for NetBSD, OpenBSD.
38948         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
38949         (ARRAY_SIZE): New macro.
38950         (num_processors): On BSD systems, try sysctl of HW_NCPU.
38951         * m4/nproc.m4: New file.
38952         * modules/nproc (Files): Add m4/nproc.m4.
38953         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
38954         (Makefile.am): Instead, augment lib_SOURCES.
38955
38956 2009-10-18  Bruno Haible  <bruno@clisp.org>
38957
38958         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
38959         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
38960         sys/param.h.
38961
38962 2009-10-16  Eric Blake  <ebb9@byu.net>
38963
38964         utimensat: new module
38965         * modules/utimensat: New file.
38966         * lib/utimensat.c (utimensat): Likewise.
38967         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
38968         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
38969         so we can work around Linux bugs.
38970         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38971         * modules/sys_stat (Makefile.am): Substitute them.
38972         * lib/sys_stat.in.h (utimensat): Declare it.
38973         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38974         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38975         * modules/utimensat-tests: New test.
38976         * tests/test-utimensat.c: Likewise.
38977
38978         utimens: let lutimens work on non-symlinks
38979         * lib/utimens.c (lutimens): Fall back to utimens rather than
38980         failing with ENOSYS, when file is not a symlink.
38981         (utimens): Reduce redirection.
38982         * tests/test-lutimens.h (test_lutimens): Update test to cover
38983         non-symlinks.
38984         * tests/test-utimens.h (test_utimens): Update test to cover
38985         symlinks.
38986         * tests/test-utimens.c (main): Update caller.
38987
38988         utimens: cache whether utimensat syscall works
38989         * lib/utimens.c (utimensat_works_really): New cache variable.
38990         (fdutimens, lutimens): Use it to avoid failing syscall.
38991
38992         test-stat-time, test-utimens: improve portability
38993         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
38994         ext4 on alpha, and for cygwin.
38995         * tests/test-utimens-common.h: New file.
38996         (nap): Factor delays into single function.
38997         * tests/test-lutimens.h (test_lutimens): Use new header.
38998         * tests/test-futimens.h (test_futimens): Likewise.
38999         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
39000         timestamps to occur from same machine, as was done previously for
39001         test_utimens.
39002         * modules/utimens-tests (Files): Ship new file.
39003         * modules/futimens-tests (Files): Likewise.
39004         Reported in part by Jim Meyering.
39005
39006         sys_stat: sort replacement declarations
39007         * lib/sys_stat.in.h: Sort declarations.
39008         * lib/futimens.c (futimens): Fix typo.
39009
39010 2009-10-15  Jim Meyering  <meyering@redhat.com>
39011
39012         don't let environment settings perturb build
39013         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
39014         could cause a configure-time and/or build-time malfunction.
39015         Typically, a configure-time function-in-library test is performed
39016         via code like this:
39017
39018           LIB_VAR=
39019           AC_SUBST([LIB_VAR])
39020           prefix_saved_LIBS=$LIBS
39021             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
39022                        [test "$ac_cv_search_FUNC" = "none required" ||
39023                         LIB_VAR=$ac_cv_search_FUNC])
39024           LIBS=$prefix_saved_LIBS
39025
39026         However, in each of the files affected by this change, the LIB_VAR=
39027         initialization was omitted.  Thus, when set in the environment, its
39028         value would propagate into generated Makefiles when FUNC is not found
39029         in LIB_NAME.
39030         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
39031         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
39032         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
39033
39034 2009-10-14  Eric Blake  <ebb9@byu.net>
39035
39036         fchdir: avoid infinite recursion in mingw
39037         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
39038         recursing.
39039
39040         test-stat-time: port to mingw
39041         * tests/test-stat-time.c (force_unlink): Return a value.
39042         (test_ctime) [W32]: Fix compilation error.
39043         (nap): Don't call usleep with too large an argument.  Use
39044         force_unlink.
39045         * doc/pastposix-functions/usleep.texi (usleep): Document the
39046         portability issue.
39047
39048 2009-10-13  Jim Meyering  <meyering@redhat.com>
39049
39050         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
39051         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
39052         * modules/pipe-filter-ii: Likewise.
39053         * modules/sys_socket-tests: Likewise.
39054         * modules/tsearch-tests: Likewise.
39055         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
39056         (check): Depend on it.
39057
39058 2009-10-12  Eric Blake  <ebb9@byu.net>
39059
39060         utimens-tests: port to NFS file systems
39061         * tests/test-utimens.h (test_utimens): Refactor utimecmp
39062         comparisons to avoid spurious failures from timestamp drift
39063         between NFS machines.
39064
39065 2009-10-12  Eric Blake  <ebb9@byu.net>
39066
39067         stat-time-tests: minor cleanups
39068         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
39069         * tests/test-stat-time.c (nap): Separate assignment from call.
39070         Suggested by Paolo Bonzini and Bruno Haible.
39071
39072         sys_stat: guarantee struct timespec
39073         * lib/sys_stat.in.h (includes): Always include <time.h>
39074         * modules/sys_stat (Depends-on): Add time.
39075         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
39076         mode_t permission values.
39077         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
39078         get at subsecond timestamps.
39079
39080 2009-10-10  Eric Blake  <ebb9@byu.net>
39081
39082         futimens: new module
39083         * modules/futimens: New file.
39084         * lib/futimens.c (futimens): Likewise.
39085         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
39086         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
39087         we can work around Linux bugs.
39088         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39089         * modules/sys_stat (Makefile.am): Substitute them.
39090         * lib/sys_stat.in.h (futimens): Declare it.
39091         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39092         * doc/posix-functions/futimens.texi (futimens): Likewise.
39093         * modules/futimens-tests: New test.
39094         * tests/test-futimens.c: Likewise.
39095
39096         utimens: introduce fdutimens
39097         * lib/utimens.h (fdutimens): New prototype.
39098         * lib/utimens.c (gl_futimens): Move guts...
39099         (fdutimens): ...to new interface.
39100         * tests/test-utimens.c (do_fdutimens): Use it.
39101
39102         utimens: add UTIME_NOW and UTIME_OMIT support
39103         * lib/utimens.c (validate_timespec, update_timespec): New helper
39104         functions.
39105         (gl_futimens, lutimens): Use them.
39106         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
39107         stdbool, sys_stat.
39108         (Link): Mention resulting library dependency.
39109         * modules/utimecmp (Link): Likewise.
39110         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
39111         (Makefile.am): Pick up library dependency.
39112         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
39113         definition.
39114         * tests/test-sys_stat.c: Test the definitions.
39115         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
39116         * NEWS: Document library dependency.
39117
39118         utimecmp: support symlink timestamps
39119         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
39120         hashing when possible.  Use pathconf when available.
39121         (SYSCALL_RESOLUTION): Recognize tighter resolution.
39122         * modules/utimecmp (Depends-on): Add lstat.
39123
39124         utimens: add lutimens interface
39125         * lib/utimens.c (lutimens): New function.
39126         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
39127         * lib/utimens.h (lutimens): Declare new interface.
39128         * tests/test-utimens.c (main): Enhance test.
39129         * tests/test-lutimens.h (test_lutimens): New file.
39130         * modules/utimens-tests (Files): Distribute it.
39131         (Depends-on): Add symlink.
39132         (configure.ac): Check for usleep.
39133
39134         utimens: validate futimens usage
39135         * lib/utimens.c (gl_futimens): Require valid fd up front, using
39136         fewer syscalls on failure later on.  Avoid compiler warning on
39137         mingw.
39138         * modules/utimens (Depends-on): Add dup2.
39139
39140         utimens: add test
39141         * modules/utimens-tests: New test.
39142         * tests/test-utimens.h: New file.
39143         * tests/test-futimens.h: Likewise.
39144         * tests/test-utimens.c: Likewise.
39145
39146         doc: mention timestamp portability issues
39147         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
39148         instead.
39149         * doc/posix-functions/utime.texi (utime): Likewise.
39150         * doc/posix-functions/utimes.texi (utimes): Likewise.
39151         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
39152         instead.
39153         * doc/posix-functions/futimens.texi (futimens): Mention utimens
39154         module.
39155         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
39156         Mention weakness with symlink timestamps.
39157         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
39158         to utimensat/futimens instead.
39159         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
39160
39161         test-dup2: enhance test
39162         * tests/test-dup2.c (main): Also check AT_FDCWD.
39163
39164         test-stat-time: avoid more spurious failures
39165         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
39166         xfs; and avoid race if the two timestamps cross quantization edge.
39167
39168         relocatable: prefer 'file system' over 'filesystem'
39169         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
39170         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
39171         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
39172         * doc/relocatable.texi (Enabling Relocatability): Likewise.
39173         * lib/relocatable.c (compute_curr_prefix): Likewise.
39174
39175 2009-10-10  Jim Meyering  <meyering@redhat.com>
39176
39177         stat-time-tests: check for the usleep function
39178         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
39179
39180 2009-10-10  Bruno Haible  <bruno@clisp.org>
39181
39182         * modules/xnanosleep: Put the Link section after the Include section.
39183
39184 2009-10-09  Eric Blake  <ebb9@byu.net>
39185
39186         dup2: work around FreeBSD 6.1 bug
39187         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
39188         * doc/posix-functions/dup2.texi (dup2): Document it.
39189         Reported by Nelson H. F. Beebe and Jim Meyering.
39190
39191         test-stat-time: port to buggy NFS clients
39192         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
39193         (test_ctime): Also skip test if mtime and ctime are skewed.
39194
39195         maint: prefer 'file system' over 'filesystem'
39196         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
39197         * doc/posix-functions/lstat.texi (lstat): Likewise.
39198         * lib/file-has-acl.c (file_has_acl): Likewise.
39199         * lib/fwriteerror.c [TEST]: Likewise.
39200         * tests/test-areadlink.h (test_areadlink): Likewise.
39201         * tests/test-areadlinkat-with-size.c (main): Likewise.
39202         * tests/test-areadlinkat.c (main): Likewise.
39203         * tests/test-canonicalize-lgpl.c (main): Likewise.
39204         * tests/test-canonicalize.c (main): Likewise.
39205         * tests/test-fstatat.c (main): Likewise.
39206         * tests/test-linkat.c (main): Likewise.
39207         * tests/test-lstat.h (test_lstat_func): Likewise.
39208         * tests/test-mkdir.h (test_mkdir): Likewise.
39209         * tests/test-readlink.h (test_readlink): Likewise.
39210         * tests/test-remove.c (main): Likewise.
39211         * tests/test-rename.h (test_rename): Likewise.
39212         * tests/test-renameat.c (main): Likewise.
39213         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39214         * tests/test-symlink.h (test_symlink): Likewise.
39215         * tests/test-symlinkat.c (main): Likewise.
39216         * tests/test-unlink.h (test_unlink_func): Likewise.
39217         * tests/test-unlinkat.c (main): Likewise.
39218
39219         maint: make realtime library usage explicit
39220         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
39221         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
39222         * modules/settime (Link): Likewise.
39223         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
39224
39225         test-stat-time: speed up execution
39226         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
39227         warning on mingw.
39228         (nap): New helper function.
39229         (prepare_test): Use it to reduce sleep time.
39230         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
39231         execution.
39232         * modules/stat-time-tests (configure.ac): Check for usleep.
39233
39234 2009-10-09  Jim Meyering  <meyering@redhat.com>
39235
39236         selinux-h: always use getfilecon wrappers
39237         * lib/getfilecon.c: New file.
39238         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
39239         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
39240         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
39241         (fgetfilecon): Provide a stub.
39242         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
39243         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
39244         file unconditionally.
39245         When <selinux/selinux.h> is found, arrange to use wrappers.
39246         * modules/selinux-h (Files): Add getfilecon.c.
39247         (Makefile.am): Substitute include-next-related bits
39248         into the now-always-generated selinux/selinux.h file.
39249         * doc/glibc-functions/lgetfilecon.texi: New file.
39250         * doc/glibc-functions/fgetfilecon.texi: New file.
39251         * doc/glibc-functions/getfilecon.texi: New file.
39252         * doc/glibc-functions/getfilecon-desc.texi: New file.
39253         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
39254         which to pull in the new files.
39255         * MODULES.html.sh (Misc): Add selinux-h.
39256
39257 2009-10-08  Jim Meyering  <meyering@redhat.com>
39258
39259         unistd: fix comment typo
39260         * lib/unistd.in.h (euidaccess): Fix a comment typo.
39261
39262 2009-10-08  Eric Blake  <ebb9@byu.net>
39263
39264         areadlink: use SIZE_MAX consistently
39265         * modules/areadlink (Depends-on): Add stdint.
39266         * modules/areadlink-with-size (Depends-on): Likewise.
39267         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
39268         gives NULL; drop sys/types, since unistd gives size_t; and add
39269         stdint for SIZE_MAX.
39270         (SIZE_MAX): Rely on headers.
39271         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
39272         and add stdint.
39273         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
39274         (SIZE_MAX): Likewise.
39275         (INITIAL_BUF_SIZE): Turn into enum.
39276         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
39277
39278 2009-10-08  Jim Meyering  <meyering@redhat.com>
39279
39280         areadlinkat: avoid compilation failure
39281         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
39282         Fix typo in comment.
39283
39284 2009-10-07  Eric Blake  <ebb9@byu.net>
39285
39286         areadlinkat-with-size: new module
39287         * modules/areadlinkat-with-size: New module.
39288         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
39289         * lib/areadlink.h (areadlinkat): Declare it.
39290         * MODULES.html.sh (File system functions): Mention it.
39291         * modules/areadlinkat-with-size-tests: New test.
39292         * tests/test-areadlinkat-with-size.c: New file.
39293
39294         xreadlinkat: new module
39295         * modules/xreadlinkat: New module.
39296         * lib/xreadlinkat.c (xreadlinkat): New file.
39297         * lib/xreadlink.h (xreadlinkat): Declare it.
39298         * MODULES.html.sh (File system functions): Mention it.
39299
39300         areadlinkat: new module
39301         * lib/at-func.c (FUNC_FAIL): New define.
39302         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
39303         * modules/areadlinkat: New module.
39304         * lib/linkat.c (areadlinkat): Move...
39305         * lib/areadlinkat.c (areadlinkat): ...to new file.
39306         * lib/areadlink.h (areadlinkat): Declare it.
39307         * modules/linkat (Depends-on): Add areadlinkat.
39308         * MODULES.html.sh (File system functions): Mention it.
39309         * modules/areadlinkat-tests: New test.
39310         * tests/test-areadlinkat.c: New file.
39311
39312         areadlink, areadlink-with-size: add tests
39313         * modules/areadlink-tests: New test.
39314         * modules/areadlink-with-size-tests: Likewise.
39315         * tests/test-areadlink.h: New file.
39316         * tests/test-areadlink.c: Likewise.
39317         * tests/test-areadlink-with-size.c: Likewise.
39318
39319         maint: minor cleanups
39320         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
39321         _UNUSED_PARAMETER_ instead.
39322         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
39323         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
39324         * modules/linkat-tests (Files): Distribute test-link.h.
39325
39326         openat, utimens: whitespace cleanup
39327         * lib/openat.c: Prefer space throughout, rather than mix of 8
39328         spaces vs. tabs.
39329         * lib/at-func.c: Likewise.
39330         * lib/utimens.c: Likewise.
39331
39332         openat: avoid using wrong fd
39333         * lib/openat.c (openat_permissive): Reject user's fd if saving the
39334         working directory chooses same fd.
39335         * lib/at-func.c (AT_FUNC_NAME): Likewise.
39336
39337         mkdir, mkdirat: fix cygwin 1.5.x bug
39338         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
39339         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
39340         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
39341         bug.
39342         (gl_PREREQ_MKDIR): Delete unused macro.
39343         * modules/mkdir (Files): Track file rename.
39344         (configure.ac): Update macro name.
39345         * modules/openat (Depends-on): Add mkdir.
39346         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
39347
39348         mkdir, mkdirat: add tests
39349         * modules/mkdir-tests: New test.
39350         * tests/test-mkdir.h: New file.
39351         * tests/test-mkdir.c: Likewise.
39352         * tests/test-mkdirat.c: Likewise.
39353         * modules/openat-tests (Files): Add new files.
39354         (Makefile.am): Run new test.
39355
39356 2009-10-06  Eric Blake  <ebb9@byu.net>
39357
39358         doc: tweak *at function documentation
39359         * doc/posix-functions/faccessat.texi (faccessat): Mention
39360         known issue with replacement.
39361         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
39362         * doc/posix-functions/linkat.texi (linkat): Likewise.
39363         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
39364         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
39365         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
39366         * doc/posix-functions/renameat.texi (renameat): Likewise.
39367         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
39368
39369         openat: fix GNU/Hurd bug in unlinkat
39370         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
39371         broken.
39372         * doc/posix-functions/unlink.texi (unlink): Document this.
39373         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
39374
39375         fdopendir: fix GNU/Hurd bug
39376         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
39377         allowing non-directory fds.
39378         * lib/fdopendir.c (rpl_fdopendir): Work around it.
39379         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
39380         * modules/dirent (Makefile.am): Substitute it.
39381         * lib/dirent.in.h (fdopendir): Declare replacement.
39382         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
39383         * tests/test-fdopendir.c (main): Test something other than
39384         /dev/null, since on Hurd that behaves like a directory.
39385
39386         test-symlink: port to GNU/Hurd
39387         * tests/test-symlink.h (test_symlink): Relax expected errno.
39388
39389         doc: tweak more cygwin information
39390         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
39391         now compatible with glibc.
39392         * doc/posix-functions/getopt.texi (getopt): Likewise.
39393
39394         getopt-gnu: add another test
39395         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
39396         guarantee behavior relied on by m4.
39397         * tests/test-getopt.c (main): Use it.
39398         * modules/getopt-posix-tests (Depends-on): Add setenv.
39399         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
39400
39401         getopt: fix compilation on darwin
39402         * lib/getopt.in.h (includes): Leave breadcrumbs during system
39403         include.
39404         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
39405         Reported by Ludovic Courtès.
39406
39407 2009-10-06  Bruno Haible  <bruno@clisp.org>
39408
39409         * modules/size_max (Description): Discourage its use.
39410         Reported by Simon Josefsson.
39411
39412 2009-10-06  Jim Meyering  <meyering@redhat.com>
39413
39414         linkat: avoid compilation failure
39415         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
39416
39417 2009-10-05  Eric Blake  <ebb9@byu.net>
39418
39419         linkat: support Linux 2.6.17
39420         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
39421         linkat on Linux, but allow cache variable override.
39422         * lib/linkat.c (rpl_linkat): Define override.
39423         * modules/linkat (Depends-on): Add symlinkat.
39424         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
39425         * modules/unistd (Makefile.am): Substitute it.
39426         * lib/unistd.in.h (linkat): Declare replacement.
39427         Reported by Pádraig Brady.
39428
39429         quotearg: port test to systems with C.UTF-8 locale
39430         * tests/test-quotearg.c (struct result_strings): Add another
39431         member, differentiating between C.ASCII and C.UTF-8 handling.
39432         (compare_strings): Add parameter.
39433         (main): Adjust all callers.
39434
39435         getopt: avoid clash with FreeBSD _getopt_internal
39436         * lib/getopt.in.h (_getopt_internal): Override the name.
39437         * lib/getopt_int.h (includes): Pick up any overrides.
39438         Reported by Reuben Thomas.
39439
39440         hash: allow C89 compilation
39441         * lib/hash.c (check_tuning): Move declaration before statement.
39442         Reported by Reuben Thomas.
39443
39444 2009-10-05  Karl Berry  <karl@gnu.org>
39445
39446         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
39447
39448 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
39449             Bruno Haible  <bruno@clisp.org>
39450
39451         * lib/uname.c (uname): Use a table-driven algorithm to compute
39452         Windows NT versions.
39453
39454 2009-10-04  Bruno Haible  <bruno@clisp.org>
39455
39456         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
39457         program_invocation_short_name.
39458         * modules/progname (configure.ac): Test for presence of
39459         program_invocation_short_name.
39460         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
39461
39462 2009-10-04  Bruno Haible  <bruno@clisp.org>
39463
39464         * lib/progname.c (set_program_name): Fix comment.
39465         Reported by Jim Meyering.
39466
39467 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
39468             Bruno Haible  <bruno@clisp.org>
39469
39470         * lib/uname.c: Include <string.h>.
39471         (uname): Do only one call to GetVersionEx in the common case.
39472
39473 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
39474             Bruno Haible  <bruno@clisp.org>
39475
39476         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
39477         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
39478         (uname): Add support for Windows CE and various non-x86 CPU types.
39479
39480 2009-10-03  Bruno Haible  <bruno@clisp.org>
39481
39482         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
39483         invocation to tests/configure.ac.
39484         Reported by Ian Beckwith <ianb@erislabs.net>.
39485
39486 2009-10-02  Eric Blake  <ebb9@byu.net>
39487
39488         fchdir: avoid compiler warning
39489         * lib/fchdir.c (canonicalize_file_name)
39490         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
39491
39492         test-open: support mingw errno values
39493         * tests/test-open.h (test_open): Relax test.
39494         * tests/test-fopen.h (test_fopen): Likewise.
39495         * tests/test-openat-safer.c (main): Likewise.
39496
39497         open: fix opening directory on mingw
39498         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
39499
39500         test-open: on GNU/Hurd, /dev/null is a directory
39501         * tests/test-fopen.h (main): Rename...
39502         (test_fopen): ...to this.  Use a guaranteed non-directory when
39503         confirming open behavior on trailing slash.
39504         * tests/test-openat-safer.c (main): Likewise.
39505         * tests/test-open.h (main): Likewise....
39506         (test_open): ...to this.
39507         * tests/test-fopen.c (main): Adjust caller.
39508         * tests/test-fopen-safer.c (main): Likewise.
39509         * tests/test-open.c (main): Likewise.
39510         * tests/test-fcntl-safer.c (main): Likewise.
39511         Reported by Samuel Thibault.
39512
39513         rename, fchdir: don't ignore chdir failure
39514         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
39515         * lib/rename.c (rpl_rename) [W32]: Likewise.
39516         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
39517         an empty destination directory if source cannot be renamed,
39518         although there is still possibility for failure.
39519         * doc/posix-functions/rename.texi (rename): Document the race.
39520         Reported by Jim Meyering.
39521
39522         maint: cleanup whitespace in recent commits
39523         * lib/rename.c (rpl_rename): Remove tabs.
39524         * tests/test-link.h (test_link): Likewise.
39525         * lib/fchdir.c (get_name): Likewise.
39526         Reported by Jim Meyering.
39527
39528 2009-10-02  Ben Pfaff  <blp@gnu.org>
39529
39530         relocatable-prog-wrapper: Add missing dependency on
39531         double-slash-root.
39532         * modules/relocatable-prog-wrapper: Add dependency.
39533         Reported by Ian Beckwith <ianb@erislabs.net>.
39534
39535 2009-10-02  Eric Blake  <ebb9@byu.net>
39536
39537         renameat: fix Solaris bugs
39538         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
39539         needed fixing.
39540         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
39541         * modules/stdio (Makefile.am): Substitute it.
39542         * lib/stdio.in.h (renameat): Declare replacement.
39543         * lib/renameat.c (rpl_renameat): Implement fix.
39544
39545         renameat: new module
39546         * modules/renameat: New file.
39547         * lib/renameat.c (renameat): Likewise.
39548         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
39549         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
39550         * modules/stdio (Makefile.am): Substitute them.
39551         * lib/stdio.in.h (renameat): Declare it.
39552         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39553         * doc/posix-functions/renameat.texi (renameat): Likewise.
39554         * modules/renameat-tests: New test.
39555         * tests/test-renameat.c: Likewise.
39556
39557         rename: fix mingw bugs
39558         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
39559         directory overwrite bugs.
39560
39561         rename: fix another cygwin 1.5 bug
39562         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
39563         checks.
39564         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
39565         unnecessary cygwin workarounds.  Also work around bug with moving
39566         full directory onto an empty one.
39567         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
39568
39569         rename-dest-slash: merge into rename module
39570         * modules/rename-dest-slash (Status): Mark obsolete.
39571         (Depends-on): Add rename.
39572         (Files): Let rename do it all.
39573         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
39574         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
39575         * m4/rename-dest-slash.m4: ...so this file can be deleted.
39576         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
39577         * lib/rename.c (rpl_rename): Update comments.
39578
39579         rename: fix cygwin 1.5.x bugs
39580         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
39581         * lib/rename.c (rpl_rename): Work around them.
39582         * modules/rename (Depends-on): Add same-inode.
39583
39584         rename: fix Solaris 10 bug
39585         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
39586         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
39587         was the only bug.
39588
39589         rename: fix Solaris 9 bug
39590         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
39591         on non-directory.  Avoid calling exit.
39592         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
39593         strdup.
39594         * modules/rename-tests (Depends-on): Drop lstat.
39595         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
39596         (gl_PREREQ_RENAME): Delete unused macro.
39597
39598         rename-dest-slash: fix NetBSD bug
39599         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
39600         links.
39601         * modules/rename-dest-slash (Depends-on): Add same-inode.
39602
39603         rename-tests: new test, exposes several platform bugs
39604         * modules/rename-tests: New file.
39605         * tests/test-rename.h: Likewise.
39606         * tests/test-rename.c: Likewise.
39607         * doc/posix-functions/rename.texi (rename): Improve documentation,
39608         including bugs that will eventually be fixed in gnulib.
39609
39610 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
39611
39612         * lib/uname.c: Include <stdlib.h>
39613         (uname): Assume version info is available.
39614
39615 2009-10-02  Jim Meyering  <meyering@redhat.com>
39616
39617         gnu-web-doc-update: correct --help output
39618         * build-aux/gnu-web-doc-update: Make --help output relevant.
39619
39620         gnu-web-doc-update: add standard options
39621         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
39622
39623         gnu-web-doc-update: New module.
39624         Use this script to automatically update the on-line web documentation
39625         for your GNU project at http://www.gnu.org/software/$pkg/manual/
39626         * modules/gnu-web-doc-update: New file, from coreutils.
39627         * build-aux/gnu-web-doc-update: New script.
39628
39629 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
39630
39631         link: LoadLibrary is not needed.
39632         * lib/link.c: Use GetModuleHandle.
39633
39634 2009-10-01  Eric Blake  <ebb9@byu.net>
39635
39636         getopt: bump serial number
39637         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
39638         change.
39639
39640         tests: tighten link, rmdir, and remove tests
39641         * tests/test-link.h (includes): No need to use <config.h> here.
39642         Clean up if directory hard link was created, otherwise test for
39643         trailing '.'.
39644         * tests/test-linkat.c (main): Simplify.
39645         * tests/test-remove.c (main): Enhance test for trailing '.'.
39646         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39647
39648 2009-10-01  Jim Meyering  <meyering@redhat.com>
39649
39650         maint.mk: requiring "make major" was annoying, for a "minor" release.
39651         What is intended is "stable", to contrast with alpha and beta,
39652         so require "make stable", not "make major".
39653         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
39654         (get_tool_versions): Likewise.
39655         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
39656
39657 2009-09-30  Ben Pfaff  <blp@gnu.org>
39658
39659         Fix broken build of replacement for Windows tmpfile().
39660         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
39661         flags argument added along with the 'mkostemp' module.
39662
39663 2009-09-28  Bruno Haible  <bruno@clisp.org>
39664
39665         Avoid identifier clash with POSIX function 'remove' defined as a macro.
39666         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
39667         to 'remove_elt'.
39668         (gl_list_remove): Update.
39669         * lib/gl_list.c (gl_list_remove): Update.
39670         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
39671         to 'remove_elt'.
39672         (gl_oset_remove): Update.
39673         * lib/gl_list.c (gl_oset_remove): Update.
39674         Reported by Eric Blake.
39675
39676 2009-09-28  Eric Blake  <ebb9@byu.net>
39677
39678         doc: mention yet more cygwin 1.7 status
39679         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
39680         cygwin.
39681         * doc/glibc-functions/execvpe.texi (execvpe): New file.
39682         * doc/gnulib.texi (Glibc unistd.h): Mention it.
39683
39684         argp: fix test failure
39685         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
39686         that are not upper-case.  Pass correct range to tolower.
39687
39688 2009-09-27  Jim Meyering  <meyering@redhat.com>
39689
39690         test-yesno: work around sparc-dash here-document infelicity
39691         Without this change, the literal \177 byte in a here document
39692         would make dash 0.5.5.1-3 access uninitialized memory.
39693         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
39694         Instead, use a marker, "@", and filter through tr to create the desired
39695         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
39696
39697 2009-09-27  Bruno Haible  <bruno@clisp.org>
39698
39699         Disable untested support for new flavours of ACLs on AIX.
39700         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
39701         progress.
39702         * lib/set-mode-acl.c (qset_acl): Likewise.
39703
39704 2008-12-07  Bruno Haible  <bruno@clisp.org>
39705
39706         Add support for new flavours of ACLs on AIX. (Untested.)
39707         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
39708         (file_has_acl): Add support for newer AIX.
39709         * lib/set-mode-acl.c (qset_acl): Likewise.
39710         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
39711         Rainer Tammer <tammer@tammer.net>.
39712
39713 2009-09-26  Eric Blake  <ebb9@byu.net>
39714
39715         argp: fix compilation of getopt
39716         * lib/getopt.in.h (includes): Use different guard than glibc.
39717         Reported by Sergey Poznyakoff.
39718
39719         doc: mention more cygwin 1.7 status
39720         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
39721         bug.
39722         * doc/posix-functions/execl.texi (execl): Likewise.
39723         * doc/posix-functions/execle.texi (execle): Likewise.
39724         * doc/posix-functions/execlp.texi (execlp): Likewise.
39725         * doc/posix-functions/execv.texi (execv): Likewise.
39726         * doc/posix-functions/execve.texi (execve): Likewise.
39727         * doc/posix-functions/execvp.texi (execvp): Likewise.
39728         * doc/glibc-functions/canonicalize_file_name.texi
39729         (canonicalize_file_name): Cygwin 1.7 now provides this.
39730         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
39731         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
39732         on AT_SYMLINK_NOFOLLOW.
39733
39734 2009-09-24  Eric Blake  <ebb9@byu.net>
39735
39736         test-linkat: make test more robust
39737         * tests/test-linkat.c (main): Avoid collision with EEXIST.
39738
39739         getopt: fix inclusion guards for cygwin
39740         * modules/getopt-posix (Depends-on): Add include-next.
39741         (Makefile.am): Substitute more items in replacement header.
39742         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
39743         <getopt.h>.
39744         * lib/getopt.in.h (includes): Use split inclusion guard, and
39745         prefer <getopt.h> over include <unistd.h> when one is present.
39746         (option): Also override name of 'struct option'.
39747
39748         same-inode: revert prior change; it is not yet ready
39749         * NEWS: Undo mention of this change.
39750         * lib/same-inode.h (same-inode.h): Undo tri-state change.
39751         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
39752         * lib/cycle-check.c (cycle_check): Likewise.
39753         * lib/same.c (same_name): Likewise.
39754         * lib/at-func2.c (at_func2): Likewise.
39755
39756 2009-09-23  Eric Blake  <ebb9@byu.net>
39757
39758         linkat: new module
39759         * modules/linkat: New file.
39760         * lib/at-func2.c (at_func2): Likewise.
39761         * lib/linkat.c (linkat): Likewise.
39762         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
39763         * lib/openat-priv.h (at_func2): Add declaration.
39764         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39765         * modules/unistd (Makefile.am): Substitute them.
39766         * lib/unistd.in.h (linkat): Declare it.
39767         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39768         * doc/posix-functions/linkat.texi (linkat): Likewise.
39769         * doc/posix-functions/link.texi (link): Tweak wording.
39770         * tests/test-link.c (main): Move guts...
39771         * tests/test-link.h (test_link): ...into new file.
39772         * modules/linkat-tests: New test.
39773         * tests/test-linkat.c: Likewise.
39774         * modules/link-tests (Files): Ship new file.
39775         (Depends-on): Add stdbool.
39776
39777         dirname: add library-safe mdir_name
39778         * lib/dirname.h (mdir_name): New prototype.
39779         * lib/dirname.c (dir_name): Move guts...
39780         (mdir_name): ...to new function that avoids xalloc_die.
39781
39782         fchdir: another mingw fix
39783         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
39784         * lib/fchdir.c (get_name): New helper method; skips canonicalize
39785         on mingw (where it has not yet been ported), and make it optional
39786         elsewhere.
39787         (_gl_register_fd): Use it.
39788
39789         same-inode: make SAME_INODE tri-state, to port to mingw
39790         * NEWS: Mention this change.
39791         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
39792         st_ino always being 0.
39793         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
39794         * lib/cycle-check.c (cycle_check): Likewise.
39795         * lib/same.c (same_name): Likewise.
39796
39797         lstat: avoid mingw compilation error
39798         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
39799         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
39800         lstat ourselves.
39801         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
39802         was adequate.
39803         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
39804         the checks for lstat.
39805         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
39806
39807         link: fix test failure on Solaris 9
39808         * lib/link.c (rpl_link): Don't assume link will catch bogus
39809         trailing slash on source.
39810
39811         test-symlinkat: enhance test
39812         * tests/test-readlink.c (main): Move guts...
39813         * tests/test-readlink.h (test_readlink): ...into new file.
39814         * tests/test-symlink.c (main): Move guts...
39815         * tests/test-symlink.h (test_symlink): ...into new file.
39816         * tests/test-symlinkat.c (main): Use new files for further
39817         coverage.
39818         (do_symlink, do_readlink): New helper functions.
39819         * modules/symlink-tests (Files): Ship new file.
39820         (Depends-on): Add stdbool.
39821         * modules/readlink-tests (Files): Ship new file.
39822         (Depends-on): Add stdbool.
39823         * modules/symlinkat-tests (Files): Use new files.
39824
39825 2009-09-23  Eric Blake  <ebb9@byu.net>
39826
39827         readlink: document portability issue with symlink length
39828         * doc/posix-functions/lstat.texi (lstat): Mention that some file
39829         systems have bogus st_size on symlinks, and mention the
39830         areadlink-with-size module.
39831         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
39832         * doc/posix-functions/readlink.texi (readlink): Mention the
39833         areadlink module, and ERANGE failure.
39834         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
39835         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
39836
39837         readlink: fix Solaris 9 bug with trailing slash
39838         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
39839         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
39840         * doc/posix-functions/readlink.texi (readlink): Document this.
39841         * modules/readlink-tests: New test.
39842         * tests/test-readlink.c: Likewise.
39843
39844         readlink: fix cygwin 1.5.x bug with return type
39845         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
39846         * lib/unistd.in.h (readlink): Use ssize_t.
39847         * lib/readlink.c (readlink): Likewise.
39848         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39849         * modules/unistd (Makefile.am): Substitute it.
39850         * lib/unistd.in.h (readlink): Declare replacement.
39851         * doc/posix-functions/readlink.texi (readlink): Document this.
39852
39853         symlink: use throughout gnulib
39854         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
39855         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
39856         symlink is not used.
39857         * modules/symlinkat (Depends-on): Add symlink.
39858         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
39859         * modules/canonicalize-tests (Depends-on): Likewise.
39860         * modules/lstat-tests (Depends-on): Likewise.
39861         * modules/openat-tests (Depends-on): Likewise.
39862         * modules/remove-tests (Depends-on): Likewise.
39863         * modules/rmdir-tests (Depends-on): Likewise.
39864         * modules/unlink-tests (Depends-on): Likewise.
39865         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
39866         * tests/test-canonicalize.c (symlink): Likewise.
39867         * tests/test-fstatat.c (symlink): Likewise.
39868         * tests/test-lstat.c (symlink): Likewise.
39869         * tests/test-remove.c (symlink): Likewise.
39870         * tests/test-rmdir.c (symlink): Likewise.
39871         * tests/test-unlink.c (symlink): Likewise.
39872         * tests/test-unlinkat.c (symlink): Likewise.
39873
39874         symlink: new module, for Solaris 9 bug
39875         * modules/symlink: New file.
39876         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
39877         * lib/symlink.c: Likewise.
39878         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
39879         * modules/unistd (Makefile.am): Substitute them.
39880         * lib/unistd.in.h (symlink): Declare replacement.
39881         * MODULES.html.sh (File system functions): Mention it.
39882         * doc/posix-functions/symlink.texi (symlink): Likewise.
39883         * modules/symlink-tests: New test.
39884         * tests/test-symlink.c: Likewise.
39885
39886 2009-09-23  Bruno Haible  <bruno@clisp.org>
39887
39888         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
39889         when needed.
39890         Test case: gnulib-tool --import --with-tests atexit inttypes.
39891         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
39892
39893 2009-09-23  Bruno Haible  <bruno@clisp.org>
39894
39895         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
39896         subcommand, not in a subshell.
39897
39898 2009-09-22  Eric Blake  <ebb9@byu.net>
39899
39900         unistd: sort replacement declarations
39901         * lib/unistd.in.h: Sort declarations.
39902
39903         open, openat: minor optimization
39904         * lib/open.c (open): If open succeeded, len is non-zero.
39905         * lib/openat.c (rpl_openat): Likewise.
39906
39907         link-follow: ensure correct result
39908         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
39909         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
39910         distinguish between possible failures.
39911
39912 2009-09-21  Eric Blake  <ebb9@byu.net>
39913
39914         fts: avoid compiler warning
39915         * lib/fts.c (dirent_inode_sort_may_be_useful)
39916         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
39917
39918 2009-09-19  Bruno Haible  <bruno@clisp.org>
39919
39920         * lib/progreloc.c (canonicalize_file_name): New declaration.
39921
39922 2009-09-19  Eric Blake  <ebb9@byu.net>
39923
39924         link: fix quoting
39925         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
39926
39927         openat: fix openat bugs on Solaris 9
39928         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
39929         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
39930         * modules/openat (Depends-on): Add open.
39931         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
39932         * modules/fcntl-h (Makefile.am): Substitute it.
39933         * lib/fcntl.in.h (openat): Declare replacement.
39934         * doc/posix-functions/openat.texi (openat): Document this.
39935
39936         openat: move fstatat and unlinkat into correct files
39937         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
39938         compiled.
39939         * lib/openat.c (fstatat, unlinkat): Move...
39940         * lib/fstatat.c (fstatat): ...into correct files.
39941         * lib/unlinkat.c (unlinkat): Likewise.
39942
39943         openat: fix unlinkat bugs on Solaris 9
39944         * lib/unlinkat.c (unlinkat): New file.
39945         * modules/openat (Depends-on): Add unlink.
39946         (Files): Distribute it.
39947         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
39948         trailing slash behavior is broken.
39949         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39950         * modules/unistd (Makefile.am): Substitute it.
39951         * lib/unistd.in.h (unlinkat): Declare replacement.
39952         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
39953
39954         openat: fix fstatat bugs on Solaris 9
39955         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
39956         stat.
39957         * doc/posix-functions/fstatat.texi (fstatat): Document this.
39958
39959         test-unlinkat: enhance test, to expose Solaris 9 bug
39960         * tests/test-unlink.c (main): Factor guts...
39961         * tests/test-unlink.h (test_rmdir_func): ...into new file.
39962         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
39963         * tests/test-rmdir.c (main): Adjust caller.
39964         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
39965         (unlinker): New helper function.
39966         (rmdirat): Enhance check.
39967         * modules/rmdir-tests (Depends-on): Add stdbool.
39968         * modules/unlink-tests (Depends-on): Likewise.
39969         (Files): Add test-unlink.h.
39970         * modules/openat-tests (Files): Likewise.
39971         (Depends-on): Add unlinkdir.
39972
39973         test-fstatat: new test, to expose Solaris 9 bugs
39974         * tests/test-stat.c (main): Factor guts...
39975         * tests/test-stat.h (test_stat_func): ...into new file.
39976         * tests/test-lstat.c (main): Factor guts...
39977         * tests/test-lstat.h (test_lstat_func): ...into new file.
39978         * tests/test-fstatat.c: New file.
39979         * modules/stat-tests (Files): Add test-stat.h.
39980         * modules/lstat-tests (Files): Add test-lstat.h.
39981         (Depends-on): Add stdbool.
39982         * modules/openat-tests (Depends-on): Add pathmax.
39983         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
39984         (Makefile.am): Run new test.
39985
39986         remove: new module, for mingw and Solaris 9 bugs
39987         * modules/remove: New file.
39988         * lib/remove.c: Likewise.
39989         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
39990         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
39991         * modules/stdio (Makefile.am): Use them.
39992         * lib/stdio.in.h (remove): Declare replacement.
39993         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39994         * doc/posix-functions/remove.texi (remove): Likewise.
39995         * modules/remove-tests: New test.
39996         * tests/test-remove.c: Likewise.
39997
39998         unlink: new module, for Solaris 9 bug
39999         * modules/unlink: New file.
40000         * lib/unlink.c: Likewise.
40001         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
40002         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
40003         * modules/unistd (Makefile.am): Use them.
40004         * lib/unistd.in.h (stat): Declare replacement.
40005         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40006         * doc/posix-functions/unlink.texi (unlink): Likewise.
40007         * modules/unlink-tests: New test.
40008         * tests/test-unlink.c: Likewise.
40009
40010         lstat: fix Solaris 9 bug
40011         * lib/lstat.c (lstat): Also check for trailing slash on
40012         non-symlink, non-directories.  Use stat module to simplify logic.
40013         * doc/posix-functions/lstat.texi (lstat): Document it.
40014         * modules/lstat-tests (Depends-on): Add errno, same-inode.
40015         (configure.ac): Check for symlink.
40016         * tests/test-lstat.c (main): Add more tests.
40017
40018         stat: add as dependency to other modules
40019         * modules/chown (Depends-on): Add stat.
40020         * modules/euidaccess (Depends-on): Likewise.
40021         * modules/fchdir (Depends-on): Likewise.
40022         * modules/isdir (Depends-on): Likewise.
40023         * modules/link (Depends-on): Likewise.
40024         * modules/lstat (Depends-on): Likewise.
40025         * modules/mkdir-p (Depends-on): Likewise.
40026         * modules/modechange (Depends-on): Likewise.
40027         * modules/open (Depends-on): Likewise.
40028         * modules/readlink (Depends-on): Likewise.
40029         * modules/same (Depends-on): Likewise.
40030
40031         stat: fix Solaris 9 bug
40032         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
40033         slash.
40034         * lib/stat.c (rpl_stat): Work around it.
40035         * doc/posix-functions/stat.texi (stat): Update documentation.
40036
40037         stat: new module, for mingw bug
40038         * modules/stat: New file.
40039         * lib/stat.c: Likewise.
40040         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
40041         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
40042         * modules/sys_stat (Makefile.am): Use them.
40043         * lib/sys_stat.in.h (stat): Declare replacement.
40044         * lib/openat.c (fstatat): Deal with lstat and stat being function
40045         macros.
40046         * modules/openat (Depends-on): Add inline.
40047         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40048         * doc/posix-functions/stat.texi (stat): Likewise.
40049         * modules/stat-tests: New test.
40050         * tests/test-stat.c: Likewise.
40051
40052 2009-09-19  Jim Meyering  <meyering@redhat.com>
40053
40054         syntax-check: detect unnecessary inclusion of canonicalize.h
40055         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
40056
40057 2009-09-19  Eric Blake  <ebb9@byu.net>
40058
40059         canonicalize-lgpl: adjust clients to use correct header
40060         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
40061         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
40062         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
40063         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
40064         * lib/progreloc.c (includes): Likewise.
40065
40066 2009-09-19  Jim Meyering  <meyering@redhat.com>
40067
40068         test-posixtm.c: correct a comment
40069         * tests/test-posixtm.c: Correct first-line comment.
40070         Spotted by Eric Blake.
40071
40072 2009-09-16  Jim Meyering  <meyering@redhat.com>
40073
40074         posixtm-tests: make T const-correct; add a test case
40075         * tests/test-posixtm.c (T): Declare const.
40076         Add a test for -(2^31+1).
40077         Remove useless can-succeed-only-in-2002 test.
40078
40079         posixtm-tests: adjust the sole failing test
40080         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
40081         expected output matches what mktime now produces.  Cross-checked via
40082         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
40083
40084         posixtm: move #ifdef'd tests into a new module
40085         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
40086         * tests/test-posixtm.c: ... this new file.
40087         * modules/posixtm-tests: New module.
40088
40089 2009-09-19  Eric Blake  <ebb9@byu.net>
40090
40091         openat: simplify use of at-func.c
40092         * lib/at-func.c (includes): Include prerequisites here, to
40093         simplify requirements on client files.
40094         * lib/openat-priv.h: Add double-inclusion guard.
40095         * lib/faccessat.c (includes): Simplify.
40096         * lib/fchmodat.c (includes): Likewise.
40097         * lib/fchownat.c (includes): Likewise.
40098         * lib/mkdirat.c (includes): Likewise.
40099         * lib/mkfifoat.c (includes): Likewise.
40100         * lib/symlinkat.c (includes): Likewise.
40101
40102         openat: allow return of fd 0
40103         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
40104         * modules/save-cwd (Depends-on): Replace fcntl-safer with
40105         unistd-safer.
40106         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
40107         <fcntl.h>; this module does not leak fds.
40108         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
40109         must be allowed to return 0, leaving openat_safer to add the
40110         safety.
40111         (openat_permissive): Avoid writing to just-opened fd 2 if
40112         restoring the current directory fails.
40113         * lib/openat-die.c (openat_restore_fail): Add comment.
40114         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
40115         (save_cwd): Guarantee safe fd, but without use of open_safer.
40116         * tests/test-openat.c: New test.
40117         * modules/openat-tests (Files, Makefile.am): Distribute and build
40118         new file.
40119
40120         relocatable-prog-wrapper: fix build
40121         * modules/relocatable-prog-wrapper (Files): Update name of
40122         canonicalize m4 file, broken on 2009-09-17.
40123         Reported by emad hajjar <aleppos@hotmail.com>.
40124
40125 2009-09-19  Bruno Haible  <bruno@clisp.org>
40126
40127         * lib/safe-alloc.h: Use the standard header with GPL copyright.
40128         * lib/safe-alloc.c: Likewise.
40129         Reported by Ian Beckwith <ianb@erislabs.net>.
40130
40131 2009-09-18  Bruno Haible  <bruno@clisp.org>
40132
40133         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
40134         Reported by <erobles@sensacd.com.mx>.
40135
40136 2009-09-17  Eric Blake  <ebb9@byu.net>
40137
40138         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
40139         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
40140         slashes when checking if last component is missing.
40141         * tests/test-canonicalize.c (main): Test this.
40142
40143         canonicalize, canonicalize-lgpl: honor // if distinct from /
40144         * modules/canonicalize (Files): Add double-slash-root.m4.
40145         * modules/canonicalize-lgpl (Files): Likewise.
40146         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
40147         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
40148         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
40149         fallback definition.
40150         (canonicalize_filename_mode): Use it to protect //.
40151         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
40152         (__realpath): Likewise.
40153         * tests/test-canonicalize.c (main): Test this.
40154         * tests/test-canonicalize-lgpl.c (main): Likewise.
40155         * modules/canonicalize-tests (Depends-on): Add same-inode.
40156         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
40157
40158         canonicalize-lgpl: fix glibc bug with trailing slash
40159         * m4/canonicalize-lgpl.m4: Move contents...
40160         * m4/canonicalize.m4: ...here.
40161         (gl_CANONICALIZE_LGPL): Factor realpath check...
40162         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
40163         glibc 2.3.5 bug, fixed 2005-04-27.
40164         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
40165         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
40166         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
40167         * modules/canonicalize-lgpl (Files): Manage file rename.
40168         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
40169         * modules/stdlib (Makefile.am): Substitute witness.
40170         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
40171         is needed.
40172         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
40173         replacement is required.
40174         * lib/canonicalize.c (canonicalize_file_name): Likewise.
40175         * doc/glibc-functions/canonicalize_file_name.texi
40176         (canonicalize_file_name): Document this.
40177         * doc/posix-functions/realpath.texi (realpath): Likewise.
40178
40179         canonicalize-lgpl: reject non-directory with trailing slash
40180         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
40181         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
40182         catches failures in glibc 2.3.5.
40183         * tests/test-canonicalize.c (main): Likewise.
40184
40185         canonicalize-lgpl: use native realpath if it works
40186         * lib/canonicalize-lgpl.c (realpath): Guard with
40187         FUNC_REALPATH_WORKS.
40188         * lib/stdlib.in.h (realpath): Make declaration optional based on
40189         HAVE_REALPATH.
40190         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
40191         native realpath works.
40192         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
40193         * modules/stdlib (Makefile.am): Substitute witness.
40194
40195         canonicalize, canonicalize-lgpl: use <stdlib.h>
40196         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
40197         (Include): Mention <stdlib.h>.
40198         (configure.ac): Mention functions we provide.
40199         * modules/canonicalize (configure.ac): Likewise.
40200         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
40201         realpath if canonicalize_file_name is missing.
40202         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
40203         * modules/stdlib (Makefile.am): Substitute witnesses.
40204         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
40205         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
40206         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
40207         * NEWS: Document this.
40208         * doc/glibc-functions/canonicalize_file_name.texi
40209         (canonicalize_file_name): Likewise.
40210         * doc/posix-functions/realpath.texi (realpath): Likewise.
40211         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
40212
40213         test-canonicalize: consolidate into single C program
40214         * tests/test-canonicalize.sh: Delete; move setup into...
40215         * tests/test-canonicalize.c (main): ...the program, making it
40216         easier to run in debugger.  Add some tests.
40217         * modules/canonicalize-tests (Files): Remove unused file.
40218         (Depends-on): Add progname.
40219         (configure.ac, Makefile.am): Simplify.
40220
40221         test-canonicalize-lgpl: consolidate into single C program
40222         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
40223         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
40224         easier to run in debugger.  Add some tests.
40225         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
40226         (configure.ac, Makefile.am): Simplify.
40227
40228         canonicalize: avoid resolvepath
40229         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
40230         unnecessary checks.
40231         * lib/canonicalize.c (includes): Simplify.
40232         (canonicalize_file_name): Drop resolvepath implementation.
40233         * modules/canonicalize (Depends-on): Drop filenamecat.
40234
40235         canonicalize: don't lose errno
40236         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
40237         over calls to free.
40238
40239         canonicalize: simplify errno handling
40240         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
40241         assignment.
40242
40243         canonicalize, canonicalize-lgpl: update module dependencies
40244         * modules/canonicalize (Depends-on): Add extensions, lstat,
40245         pathmax, stdlib.
40246         (Files): Drop pathmax.h.
40247         (configure.ac): Adjust macro name.
40248         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
40249         lstat, stdlib, sys_stat.
40250         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
40251         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
40252         extensions.
40253         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
40254         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
40255         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
40256         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
40257         declaration, if available.
40258         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
40259         we can rely on the readlink module.
40260         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
40261         (includes): Use <unistd.h> unconditionally.
40262
40263 2009-09-17  Eric Blake  <ebb9@byu.net>
40264
40265         maint: make Include sections of modules consistent
40266         * modules/alloca: Use only header name; no need to list #include.
40267         * modules/alloca-opt: Likewise.
40268         * modules/arpa_inet: Likewise.
40269         * modules/canon-host: Likewise.
40270         * modules/configmake: Likewise.
40271         * modules/dirent: Likewise.
40272         * modules/eealloc: Likewise.
40273         * modules/environ: Likewise.
40274         * modules/fchdir: Likewise.
40275         * modules/fcntl: Likewise.
40276         * modules/fcntl-h: Likewise.
40277         * modules/gethrxtime: Likewise.
40278         * modules/gettime: Likewise.
40279         * modules/ignore-value: Likewise.
40280         * modules/inet_ntop: Likewise.
40281         * modules/inet_pton: Likewise.
40282         * modules/inttypes: Likewise.
40283         * modules/isnand-nolibm: Likewise.
40284         * modules/isnanf-nolibm: Likewise.
40285         * modules/mbchar: Likewise.
40286         * modules/mbfile: Likewise.
40287         * modules/mbiter: Likewise.
40288         * modules/mbuiter: Likewise.
40289         * modules/netdb: Likewise.
40290         * modules/netinet_in: Likewise.
40291         * modules/nproc: Likewise.
40292         * modules/pagealign_alloc: Likewise.
40293         * modules/poll: Likewise.
40294         * modules/printf-frexp: Likewise.
40295         * modules/pthread: Likewise.
40296         * modules/putenv: Likewise.
40297         * modules/random_r: Likewise.
40298         * modules/relocatable-prog: Likewise.
40299         * modules/search: Likewise.
40300         * modules/select: Likewise.
40301         * modules/selinux-h: Likewise.
40302         * modules/settime: Likewise.
40303         * modules/signal: Likewise.
40304         * modules/size_max: Likewise.
40305         * modules/socklen: Likewise.
40306         * modules/ssize_t: Likewise.
40307         * modules/stdarg: Likewise.
40308         * modules/stdbool: Likewise.
40309         * modules/stddef: Likewise.
40310         * modules/stdint: Likewise.
40311         * modules/stdio: Likewise.
40312         * modules/stdlib: Likewise.
40313         * modules/string: Likewise.
40314         * modules/strings: Likewise.
40315         * modules/sys_file: Likewise.
40316         * modules/sys_ioctl: Likewise.
40317         * modules/sys_select: Likewise.
40318         * modules/sys_socket: Likewise.
40319         * modules/sys_stat: Likewise.
40320         * modules/sys_time: Likewise.
40321         * modules/sys_times: Likewise.
40322         * modules/sys_utsname: Likewise.
40323         * modules/sys_wait: Likewise.
40324         * modules/sysexits: Likewise.
40325         * modules/time: Likewise.
40326         * modules/times: Likewise.
40327         * modules/tmpfile: Likewise.
40328         * modules/trim: Likewise.
40329         * modules/unistd: Likewise.
40330         * modules/wchar: Likewise.
40331         * modules/wctype: Likewise.
40332
40333 2009-09-17  Bruno Haible  <bruno@clisp.org>
40334
40335         Make getdate.y compile on QNX and NetBSD 5 / i386.
40336         * m4/getdate.m4 (gl_GETDATE): Conditionally define
40337         TIME_T_FITS_IN_LONG_INT.
40338         * lib/getdate.y (long_time_t): New type.
40339         (relative_time): Change type of 'seconds' field to long_time_t.
40340         (get_date): Update types of local variables. Check against overflow
40341         during conversion from long_time_t to time_t.
40342         Reported by Matt Kraai <kraai@ftbfs.org>
40343         and Hasso Tepper <hasso@netbsd.org>.
40344
40345 2009-09-17  Bruno Haible  <bruno@clisp.org>
40346
40347         * modules/COPYING: Update copyright years.
40348         * modules/README: Likeiwse.
40349         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
40350         Reported by Ian Beckwith <ianb@erislabs.net>.
40351
40352 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
40353
40354         * users.txt: Update references for gnuit package.
40355
40356 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
40357
40358         * m4/getdelim.m4: Fix typo in copyright line.
40359
40360 2009-09-17  Bruno Haible  <bruno@clisp.org>
40361
40362         * lib/atoll.c: Use the standard header with GPL copyright.
40363         * lib/argz.in.h: Likewise.
40364         * lib/glob.c: Likewise.
40365         * lib/glob-libc.h: Likewise.
40366         * lib/random_r.c: Likewise.
40367         * lib/siglist.h: Likewise.
40368         * lib/strsignal.c: Likewise.
40369         Reported by Ian Beckwith <ianb@erislabs.net>.
40370
40371 2009-09-17  Eric Blake  <ebb9@byu.net>
40372
40373         rmdir: ensure correct dependency order
40374         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
40375
40376 2009-09-17  Bruno Haible  <bruno@clisp.org>
40377
40378         Disable assertion that fails on NetBSD 5 / i386.
40379         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
40380         Reported by Sam Steingold <sds@gnu.org>
40381         and Hasso Tepper <hasso@netbsd.org>.
40382
40383 2009-09-16  Eric Blake  <ebb9@byu.net>
40384
40385         unlinkdir: port to mingw
40386         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
40387         on which no one can unlink a directory.
40388
40389         stdlib: sort witness names
40390         * modules/stdlib (Makefile.am): Sort replacements.
40391         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
40392         * lib/stdlib.in.h: Likewise.
40393
40394         parse-duration-tests: avoid link failure
40395         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
40396         LIBINTL.
40397         Reported by Tom G. Christensen.
40398
40399         openat-tests: ensure unlinkat behaves like rmdir
40400         * tests/test-rmdir.c (main): Factor guts...
40401         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
40402         * modules/rmdir-tests (Files): Ship new file.
40403         * modules/openat-tests: New test.
40404         * tests/test-unlinkat.c: Likewise.
40405
40406         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
40407         * modules/rmdir-errno (Status, Notice): Now obsolete.
40408
40409         rmdir: work around cygwin 1.5.x and mingw bugs
40410         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
40411         * lib/rmdir.c (rmdir): Work around it.
40412         * modules/rmdir (Status, Notice): No longer obsolete.
40413         (Files): Add dos.m4.
40414         (Depends-on): Add unistd.
40415         (configure.ac): Set witnesses.
40416         (License): Relax to LGPLv2+.
40417         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
40418         * modules/unistd (Makefile.am): Substitute witnesses.
40419         * lib/unistd.in.h (rmdir): Declare replacement.
40420         * doc/posix-functions/rmdir.texi (rmdir): Document this.
40421         * modules/rmdir-tests: New tests.
40422         * tests/test-rmdir.c: Likewise.
40423
40424 2009-09-15  Eric Blake  <ebb9@byu.net>
40425
40426         fchdir: improve use of replacement functions
40427         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
40428         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
40429         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
40430         REPLACE_CLOSEDIR.
40431         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
40432         * modules/sys_stat (Makefile.am): Substitute correct witness.
40433         * modules/dirent (Makefile.am): Likewise.
40434         * modules/unistd (Makefile.am): Likewise.
40435         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
40436         * lib/unistd.in.h (dup): Likewise.
40437         * lib/sys_stat.in.h (fstat): Likewise.
40438
40439         maint: ignore gnulib-tool temp files
40440         * .gitignore: Ignore files created during gnulib-tool --test.
40441
40442 2009-09-13  Jim Meyering  <meyering@redhat.com>
40443
40444         posixtm: don't reject a time that specify "60" as the number of seconds
40445         * lib/posixtm.c (posixtime): The code to reject invalid dates
40446         would also reject a time specified with the .60 suffix.
40447         But POSIX allows that, in order to accommodate leap seconds.
40448         So don't reject it.
40449         (main): Adjust tests accordingly.
40450         * modules/posixtm (Depends-on): Add stpcpy.
40451
40452 2009-09-11  Jim Meyering  <meyering@redhat.com>
40453
40454         announce-gen: include [$release_type] in emitted Subject:
40455         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
40456         e.g., [stable] in the emitted Subject: line.
40457
40458 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40459
40460         Remove obsolete macros from several modules.
40461         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
40462         obsolete Autoconf macros with their modern counterparts.
40463         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
40464         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
40465         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
40466         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
40467         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
40468         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
40469         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
40470         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
40471         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
40472         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
40473         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
40474         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
40475         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
40476         * m4/sockets.m4 (gl_SOCKETS): Likewise.
40477         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
40478         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
40479         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
40480         * m4/time_r.m4 (gl_TIME_R): Likewise.
40481         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
40482         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
40483         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
40484
40485         Fix copyright header in build-aux scripts.
40486         * build-aux/git-version-gen: Fix copyright header to match GPLv3
40487         recommendation.
40488         * build-aux/ncftpput-ftp: Likewise.
40489         * build-aux/update-copyright: Likewise.
40490
40491 2009-09-09  Eric Blake  <ebb9@byu.net>
40492
40493         test-link: allow Linux choice of errno
40494         * tests/test-link.c (main): Relax test for alternate error.
40495
40496         strndup: fix improper m4 caching
40497         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
40498         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
40499         (gl_PREREQ_STRNDUP): Delete.
40500         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
40501         * modules/string (Makefile.am): Substitute it.
40502         * lib/string.in.h (strndup): Modernize prototype.
40503
40504         getcwd: port to mingw
40505         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
40506         different from the POSIX assumptions made throughout the getcwd
40507         module; fortunately, the mingw getcwd does not need replacement.
40508         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
40509         * modules/getcwd-tests: New test.
40510         * tests/test-getcwd.c: Likewise.
40511
40512         link: fix platform bugs
40513         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
40514         * lib/link.c (link): Work around them.  Fix related mingw bug.
40515         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
40516         * modules/unistd (Makefile.am): Substitute it.
40517         * lib/unistd.in.h (link): Declare replacement.
40518         * doc/posix-functions/link.texi (link): Document this.
40519         * modules/link (Depends-on): Add strdup-posix, sys_stat.
40520
40521         test-link: consolidate into single C program, test more cases
40522         * tests/test-link.sh: Delete.
40523         * tests/test-link.c: Test more error conditions.  Exposes bugs on
40524         at least Cygwin and Solaris.
40525         * modules/link-tests (Files): Remove unused file.
40526         (Depends-on): Add errno, sys_stat.
40527         (Makefile.am): Simplify.
40528
40529 2009-09-08  Bruno Haible  <bruno@clisp.org>
40530
40531         Work around towlower, towupper bug on mingw.
40532         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
40533         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
40534         * doc/posix-functions/towlower.texi: Mention the mingw bug.
40535         * doc/posix-functions/towupper.texi: Likewise.
40536         Reported by Eric Blake.
40537
40538 2009-09-08  Jim Meyering  <meyering@redhat.com>
40539
40540         build: don't try to run autoheader if we don't use it
40541         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
40542         is not used in configure.ac.
40543
40544 2009-09-08  Eric Blake  <ebb9@byu.net>
40545
40546         euidaccess: fix compilation error
40547         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
40548
40549         rawmemchr: relax license
40550         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
40551         okay.
40552         Reported by Jim Meyering.
40553
40554         mkfifoat: new module
40555         * modules/mkfifoat: New file.
40556         * lib/mkfifoat.c: Likewise.
40557         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
40558         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
40559         * modules/sys_stat (Makefile.am): Use them.
40560         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
40561         * MODULES.html.sh (File system functions): Mention module.
40562         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
40563         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
40564         * modules/mkfifoat-tests: New test.
40565         * tests/test-mkfifoat.c: Likewise.
40566
40567         strchrnul: relax license
40568         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
40569         okay.
40570         Reported by Jim Meyering.
40571
40572 2009-09-08  Eric Blake  <ebb9@byu.net>
40573
40574         fstatat: fix compilation on Solaris
40575         * lib/fstatat.c (includes): Add fcntl.h.
40576         Reported by Pádraig Brady.
40577
40578 2009-09-07  Eric Blake  <ebb9@byu.net>
40579
40580         rename: modernize replacement
40581         * modules/rename (Depends-on): Add stdio.
40582         (configure.ac): Declare witness.
40583         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
40584         stdio take care of replacement.
40585         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
40586         * modules/stdio (Makefile.am): Substitute them.
40587         * lib/stdio.in.h (rename): Declare replacement.
40588         * lib/rename.c (includes): Allow cross-compilation to non-windows
40589         machines.
40590         * doc/posix-functions/rename.texi (rename): Improve
40591         documentation.
40592
40593         stdio: sort witness names
40594         * modules/stdio (Makefile.am): Sort replacements.
40595         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
40596         * lib/stdio.in.h: Likewise.
40597
40598         getcwd: minor cleanups
40599         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
40600         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
40601
40602         openat: provide more convenience names
40603         * modules/faccessat (configure.ac): Add C witness.
40604         * lib/unistd.in.h (readlinkat): Fix typo.
40605         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
40606         convenience wrappers.
40607         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
40608         wrappers in syntax checks.
40609
40610 2009-09-06  Eric Blake  <ebb9@byu.net>
40611
40612         doc: fix comments in recent patches
40613         * lib/faccessat.c: Mention correct function.
40614         * lib/fchmodat.c: Likewise.
40615         * lib/fchownat.c: Likewise.
40616         * lib/symlinkat.c: Likewise.
40617         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
40618         constants.
40619
40620         faccessat, symlinkat: continue cleanup of previous patch
40621         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
40622         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
40623         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
40624         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
40625         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
40626         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
40627         set.
40628
40629 2009-09-06  Bruno Haible  <bruno@clisp.org>
40630
40631         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
40632         (fstatat): Declare if GNULIB_FSTATAT is set.
40633         (mkdirat): Declare if GNULIB_MKDIRAT is set.
40634         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
40635         (unlinkat): Declare if GNULIB_UNLINKAT is set.
40636         * modules/fcntl-h (Files): Remove m4/openat.m4.
40637         * modules/sys_stat (Files): Remove m4/openat.m4.
40638         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
40639         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
40640         * modules/unistd (Files): Remove m4/openat.m4.
40641         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
40642         GNULIB_OPENAT.
40643         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
40644         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
40645         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
40646         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
40647         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
40648         gl_OPENAT_DEFAULTS.
40649         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
40650         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
40651         Don't require gl_OPENAT_DEFAULTS.
40652         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
40653         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
40654         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
40655         (gl_OPENAT_DEFAULTS): Remove macro.
40656
40657 2009-09-06  Bruno Haible  <bruno@clisp.org>
40658
40659         * modules/openat (configure.ac): Remove unneeded witness.
40660
40661 2009-09-06  Bruno Haible  <bruno@clisp.org>
40662
40663         Set errno to ENOSYS when a function is entirely unsupported.
40664         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
40665         EOPNOTSUPP.
40666         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
40667         * modules/chown (Depends-on): Remove errno.
40668
40669 2009-09-06  Bruno Haible  <bruno@clisp.org>
40670
40671         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
40672
40673 2009-09-06  Bruno Haible  <bruno@clisp.org>
40674
40675         * lib/sys_stat.in.h: Fix preprocessor command indentation.
40676
40677 2009-09-06  Ben Pfaff  <blp@gnu.org>
40678             Bruno Haible  <bruno@clisp.org>
40679
40680         Work around a glibc bug in strtok_r.
40681         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
40682         Undefine if UNDEFINE_STRTOK_R is set.
40683         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
40684         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40685         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
40686         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
40687         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
40688         UNDEFINE_STRTOK_R.
40689         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
40690
40691 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
40692
40693         exclude: minor fix
40694         * lib/exclude.c: Include wctype.h
40695
40696 2009-09-06  Akim Demaille  <demaille@gostai.com>
40697
40698         bootstrap: improve error message
40699         * build-aux/bootstrap (find_tool): Upon failure, report the list
40700         of candidates.
40701         Honor the initial value of the envvar.
40702
40703 2009-09-05  Eric Blake  <ebb9@byu.net>
40704
40705         symlinkat: new module
40706         * modules/symlinkat: New file.
40707         * lib/symlinkat.c: Likewise.
40708         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
40709         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
40710         * modules/unistd (Makefile.am): Use them.
40711         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
40712         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
40713         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
40714         * MODULES.html.sh (File system functions): Mention module.
40715         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40716         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
40717         * modules/symlinkat-tests: New test.
40718         * tests/test-symlinkat.c: Likewise.
40719
40720         test-openat-safer: add more checks
40721         * tests/test-openat-safer.c (main): Check more code paths.
40722
40723 2009-09-05  Jim Meyering  <meyering@redhat.com>
40724
40725         syntax-check: detect unnecessary inclusion of openat.h
40726         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
40727
40728 2009-09-05  Bruno Haible  <bruno@clisp.org>
40729
40730         Support towlower, towupper.
40731         * doc/posix-functions/towlower.texi: Mention module wctype.
40732         * doc/posix-functions/towupper.texi: Likewise.
40733         * lib/wctype.in.h (towlower, towupper): New functions.
40734         * tests/test-wctype.c: Include stdio.h, stdlib.h.
40735         (ASSERT): New macro.
40736         (e): New variable.
40737         (main): Test also towlower, towupper. Test WEOF argument.
40738         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40739
40740 2009-09-05  Bruno Haible  <bruno@clisp.org>
40741
40742         Fix conversion behaviour when the input is invalid.
40743         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
40744         mark occurring in first pass of indirect conversion.
40745         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
40746         input.
40747         Found by clang's static analyzer.
40748
40749 2009-09-05  Bruno Haible  <bruno@clisp.org>
40750
40751         * tests/test-striconveh.c (main): Test indirect conversion on platforms
40752         where direct conversion is possible.
40753
40754 2009-09-04  Eric Blake  <ebb9@byu.net>
40755
40756         openat: fail with ENOENT on empty name
40757         * lib/openat-proc.c (openat_proc_name): Special-case the empty
40758         buffer.
40759
40760         link-follow: fix logic bug in prior patch
40761         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
40762         reversed sense of yes and no in prior patch.  Avoid confusing
40763         compilation failure with desired semantics.
40764
40765         link-follow: accomodate mingw and cross-compilation
40766         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
40767         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
40768         cross-compilation results to -1, to make linkat easier to
40769         implement when cross-compiling.  Trivially support mingw.
40770         * modules/link-follow (configure.ac): Call new name.
40771         * NEWS: Mention this.
40772
40773 2009-09-03  Eric Blake  <ebb9@byu.net>
40774
40775         faccessat: compile replacement
40776         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
40777         needed.
40778
40779         fts: fix compilation error
40780         * lib/fts.c (includes): Re-add "openat.h", for
40781         openat_needs_fchdir.
40782
40783         faccessat: new module
40784         * modules/faccessat: New file.
40785         * lib/faccessat.c: Likewise.
40786         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
40787         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40788         * modules/unistd (Makefile.am): Use it.
40789         * lib/unistd.in.h (faccessat): Declare it.
40790         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
40791         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
40792         * MODULES.html.sh (File system functions): Mention it.
40793         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
40794         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
40795
40796         euidaccess: prefer POSIX over non-standard implementation
40797         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
40798         * lib/euidaccess.c (euidaccess): Use it if available.
40799
40800         openat: make template easier to use
40801         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
40802         AT_FUNC_F2 to be undefined.
40803         (VALIDATE_FLAG): New macro; use it to reject bad flags.
40804         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
40805         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
40806         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
40807         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
40808         Likewise.
40809         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
40810         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
40811         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
40812         Likewise.
40813
40814         openat: declare in POSIX headers
40815         * NEWS: Mention this.
40816         * modules/openat (configure.ac): Declare witnesses.
40817         (Depends-on): Add fcntl-h, sys_stat, unistd.
40818         (Include): Mention correct headers.
40819         * modules/fcntl-h (Depends-on): Add link-warning.
40820         (Files): Add openat.m4.
40821         (Makefile.am): Substitute witnesses.
40822         * modules/sys_stat (Files, Makefile.am): Likewise.
40823         * modules/unistd (Files, Makefile.am): Likewise.
40824         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
40825         (gl_OPENAT_DEFAULTS): New macro.
40826         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
40827         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
40828         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
40829         (SYS_STAT_H): Remove unused variable.
40830         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
40831         * lib/fcntl--.h (includes): Remove unneeded header.
40832         * lib/openat-safer.c (includes): Likewise.
40833         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
40834         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
40835         appropriate headers.
40836         (__OPENAT_PREFIX): Delete.
40837         * lib/fcntl.in.h (openat): Provide declaration.
40838         (AT_FDCWD): Fix Solaris bug.
40839         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
40840         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
40841         * lib/fchmodat.c (includes):  Adjust to find declaration.
40842         * lib/fchownat.c (includes): Likewise.
40843         * lib/mkdirat.c (includes): Likewise.
40844         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
40845         still visible.
40846
40847 2009-09-02  Eric Blake  <ebb9@byu.net>
40848
40849         errno: use consistently
40850         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
40851         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
40852         * lib/canonicalize.c (ELOOP): Likewise.
40853         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
40854         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
40855         * lib/lchown.c (EOPNOTSUPP): Likewise.
40856         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
40857         * lib/savewd.c (ESTALE): Likewise.
40858         * lib/settime.c (ENOSYS): Likewise.
40859         * lib/utimens.c (ENOSYS): Likewise.
40860         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
40861         * lib/chdir-safer.c (ELOOP): Likewise.
40862         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
40863         * modules/c-stack (Depends-on): Add errno.
40864         * modules/canonicalize (Depends-on): Likewise.
40865         * modules/chdir-safer (Depends-on): Likewise.
40866         * modules/fdopendir (Depends-on): Likewise.
40867         * modules/inet_ntop (Depends-on): Likewise.
40868         * modules/inet_pton (Depends-on): Likewise.
40869         * modules/lchown (Depends-on): Likewise.
40870         * modules/openat (Depends-on): Likewise.
40871         * modules/savewd (Depends-on): Likewise.
40872         * modules/settime (Depends-on): Likewise.
40873         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
40874
40875         fts: avoid leaking fds
40876         * modules/fts (Depends-on): Add cloexec.
40877         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
40878         flag.
40879
40880         fts: make directory fds more robust
40881         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
40882         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
40883
40884         backupfile, chdir-long, fts, savedir: make safer
40885         * lib/backupfile.c (includes): Use "dirent--.h", since
40886         numbered_backup can write to stderr during readdir.
40887         * lib/savedir.c (includes): Likewise.
40888         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
40889         emulation can write to stderr on failure.
40890         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
40891         * lib/getcwd.c: Document why opendir_safer is unused.
40892         * lib/glob.c: Likewise.
40893         * lib/scandir.c: Likewise.
40894         * lib/openat-proc.c: Likewise, for open_safer.
40895         * modules/backupfile (Depends-on): Add dirent-safer.
40896         * modules/savedir (Depends-on): Likewise.
40897         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
40898         * modules/chdir-long (Depends-on): Add openat-safer.
40899
40900         openat-safer: new module
40901         * modules/openat-safer: New file.
40902         * lib/openat-safer.c: Likewise.
40903         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
40904         * lib/fcntl-safer.h (openat_safer): Declare.
40905         * lib/fcntl--.h (openat): Override.
40906         * MODULES.html.sh (File descriptor based I/O): Mention it.
40907         * lib/openat.h: Add double-inclusion guards.
40908         * lib/openat.c (includes): Only include "fcntl-safer.h", not
40909         "fcntl--.h", so we can implement openat.
40910         * modules/openat-safer-tests: New test.
40911         * tests/test-openat-safer.c: New file.
40912
40913         dirent-safer: new module
40914         * modules/dirent-safer: New file.
40915         * lib/dirent--.h: Likewise.
40916         * lib/dirent-safer.h: Likewise.
40917         * lib/opendir-safer.c: Likewise.
40918         * m4/dirent-safer.m4: Likewise.
40919         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
40920         * modules/dirent-safer-tests: New test.
40921         * tests/test-dirent-safer.c: New file.
40922         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
40923
40924         fdopendir: optimize on mingw
40925         * lib/unistd.in.h (_gl_directory_name): New prototype.
40926         * lib/fchdir.c (_gl_directory_name): Implement it.
40927         (fchdir): Use it to simplify implementation.
40928         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
40929         fchdir, when available, to avoid calling [f]chdir().
40930
40931         fdopendir: split into its own module
40932         * lib/openat.c (fdopendir): Move...
40933         * lib/fdopendir.c: ...into new file.
40934         * modules/fdopendir: New module.
40935         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
40936         * modules/openat (Depends-on): Add fdopendir.
40937         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
40938         fdopendir here.
40939         * modules/savedir (Depends-on): Only need fdopendir, not full
40940         openat.
40941         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
40942         * lib/openat.h (fdopendir): Drop prototype.
40943         * lib/dirent.in.h (fdopendir): Provide prototype.
40944         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
40945         * modules/dirent (Makefile.am): Substitute them.
40946         * MODULES.html.sh (File system functions): Mention it.
40947         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
40948         * modules/fdopendir-tests: New file.
40949         * tests/test-fdopendir.c: Likewise.
40950
40951         fchdir: use more consistent macro convention
40952         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
40953         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
40954         REPLACE_FCHDIR, rather than relying on config.h macros.
40955         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
40956         inside a single make-time REPLACE_FCHDIR block, rather than using
40957         the config.h FCHDIR_REPLACEMENT.
40958         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
40959         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
40960         Manage fstat replacement.
40961         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
40962         REPLACE_FCHDIR.
40963         * modules/sys_stat (Files): Add m4/unistd_h.m4.
40964         (Makefile.am): Substitute REPLACE_FCHDIR.
40965         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
40966         FCHDIR_REPLACEMENT.
40967         * lib/dup-safer.c (dup_safer): Likewise.
40968         * lib/dup2.c (rpl_dup2): Likewise.
40969         * lib/dup3.c (rpl_dup3): Likewise.
40970         * lib/open.c (rpl_open): Likewise.
40971
40972         fchdir: simplify error handling, and support dup3
40973         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
40974         stdbool, malloc-posix, realloc-posix.
40975         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
40976         (ensure_dirs_slot): Return false on allocation failure.
40977         (rpl_dup2): Delete.
40978         (_gl_register_dup): New function.
40979         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
40980         (_gl_register_fd): Close fd on allocation failure.
40981         * lib/fcntl.in.h (_gl_register_fd): Update signature.
40982         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
40983         prototype.
40984         (rpl_dup2_fchdir): Delete prototype.
40985         * lib/open.c (open): Update caller.
40986         * lib/dup2.c (dup2): Track fchdir metadata.
40987         * lib/dup3.c (dup3): Likewise.
40988         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
40989         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
40990
40991 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40992
40993         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
40994         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
40995         don't pass arguments to AC_OUTPUT.
40996
40997 2009-09-02  Bruno Haible  <bruno@clisp.org>
40998
40999         * modules/mkdtemp (License): Relicense under LGPLv2+.
41000         Reported by Paolo Bonzini.
41001
41002 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41003
41004         Replace uses of obsolete autoconf macros in Jim's modules.
41005         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
41006         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
41007         can evoke a warning from autoconf when run with -Wobsolete
41008         enabled.  They were declared obsolete for good reasons (see
41009         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
41010         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
41011         should not continue using the deprecated macros.
41012         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
41013         obsolete Autoconf macros with modern counterparts.
41014         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
41015         * m4/dos.m4 (gl_AC_DOS): Likewise.
41016         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
41017         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
41018         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
41019         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
41020         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
41021         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
41022         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
41023         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
41024         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
41025         Likewise.
41026         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
41027         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
41028         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
41029         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
41030         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
41031         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
41032
41033 2009-09-01  Eric Blake  <ebb9@byu.net>
41034
41035         fchdir: fix off-by-one bug in previous patch
41036         * lib/fchdir.c (rpl_fstat): Use correct bounds.
41037         (_gl_unregister_fd): Delete useless if.
41038
41039 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
41040
41041         maint.mk: sort the list of syntax-check rules
41042         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
41043         easier to get a sense of progress when the rules are run sequentially
41044         and take a long time.
41045
41046 2009-09-01  Simon Josefsson  <simon@josefsson.org>
41047
41048         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
41049         * modules/netinet_in: Likewise.
41050         * modules/sys_file: Likewise.
41051         * modules/sys_ioctl: Likewise.
41052         * modules/sys_select: Likewise.
41053         * modules/sys_socket: Likewise.
41054         * modules/sys_stat: Likewise.
41055         * modules/sys_time: Likewise.
41056         * modules/sys_times: Likewise.
41057         * modules/sys_utsname: Likewise.
41058         * modules/sys_wait: Likewise.
41059
41060 2009-09-01  Jim Meyering  <meyering@redhat.com>
41061
41062         fts: help ensure that return values are not ignored
41063         * lib/fts_.h (__GNUC_PREREQ): Define.
41064         (__attribute_warn_unused_result__): Define.
41065         (fts_children, fts_close, fts_open, fts_read): Declare with
41066         __attribute_warn_unused_result__.
41067
41068         fts: fts_close now fails also when closing a dir file descriptor fails
41069         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
41070         and propagate to caller, along with errno.
41071
41072         announce-gen: correct formatting in --help output
41073         * build-aux/announce-gen (usage): Move the one-line description in
41074         --help output "up", to where it belongs, just after Usage:.
41075
41076 2009-08-31  Eric Blake  <ebb9@byu.net>
41077
41078         fchdir: port to mingw
41079         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
41080         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
41081         opened, then use a substitute.
41082         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
41083         replacement.
41084         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
41085         (_gl_register_fd): No need to check stat if open already filters
41086         all directories.
41087         (fchdir): Fix error condition to match POSIX.
41088         * modules/fchdir (Depends-on): Add sys_stat.
41089         * doc/posix-functions/open.texi (open): Document the limitation.
41090         * modules/fchdir-tests: New file.
41091         * tests/test-fchdir.c: Likewise.
41092
41093         canonicalize: allow cross-testing from cygwin to mingw
41094         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
41095         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
41096         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
41097         Likewise.
41098         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
41099         target does not support symlinks.
41100         * tests/test-canonicalize-lgpl.sh: Likewise.
41101
41102         chown: avoid compilation warning on mingw
41103         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
41104         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
41105         mingw.
41106         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
41107         * modules/chown (Depends-on): Add errno.
41108
41109 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
41110
41111         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
41112         command.
41113
41114 2009-08-31  Jim Meyering  <meyering@redhat.com>
41115
41116         canonicalize: remove useless initialization
41117         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
41118         initialization of local, "end".
41119
41120 2009-08-30  Bruno Haible  <bruno@clisp.org>
41121
41122         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
41123         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
41124         ENOSYS.
41125
41126 2009-08-30  Bruno Haible  <bruno@clisp.org>
41127
41128         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
41129         /usr/xpg4/bin/tr when it exists.
41130         * tests/test-pipe-filter-gi1.sh: Likewise.
41131
41132 2009-08-30  Bruno Haible  <bruno@clisp.org>
41133
41134         Work around deficient /usr/bin/id program on Solaris.
41135         * tests/test-file-has-acl.sh (ID): New variable.
41136         * tests/test-set-mode-acl.sh (ID): Likewise.
41137         * tests/test-copy-acl.sh (ID): Likewise.
41138         * tests/test-copy-file.sh (ID): Likewise.
41139
41140 2009-08-30  Bruno Haible  <bruno@clisp.org>
41141
41142         New module 'xstriconveh'.
41143         * lib/xstriconveh.h: New file.
41144         * lib/xstriconveh.c: New file.
41145         * modules/xstriconveh: New file.
41146
41147 2009-08-30  Bruno Haible  <bruno@clisp.org>
41148
41149         Make it easier to use mem_cd_iconveh.
41150         * lib/striconveh.h (iconveh_t): New type.
41151         (iconveh_open, iconveh_close): New declarations.
41152         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
41153         with a single 'const iconveh_t *' argument.
41154         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
41155         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
41156         with a single 'const iconveh_t *' argument.
41157         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
41158         * tests/test-striconveh.c (main): Update.
41159         * NEWS: Mention the change.
41160
41161 2009-08-30  Bruno Haible  <bruno@clisp.org>
41162
41163         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
41164         problem.
41165
41166 2009-08-30  Bruno Haible  <bruno@clisp.org>
41167
41168         Work around iconv_open problem on Solaris.
41169         * lib/iconv_open-solaris.gperf: New file.
41170         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
41171         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
41172         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
41173         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
41174         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
41175         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
41176
41177 2009-08-29  Jim Meyering  <meyering@redhat.com>
41178
41179         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
41180         * top/maint.mk (cvs-check): Remove target; it was just an alias
41181         to the better-named vc-diff-check.
41182         (maintainer-distcheck): Remove rule.  It was used only from
41183         the (alpha/beta/major) target, and all of its commands but one
41184         were coreutils-specific.
41185         (vc-dist): Remove rule.
41186         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
41187         Run vc-diff-check, not vc-dist.
41188         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
41189
41190 2009-08-27  Bruno Haible  <bruno@clisp.org>
41191
41192         * tests/test-bitrotate.c (main): Remove test that uses a shift count
41193         of 0.
41194
41195 2009-08-27  Bruno Haible  <bruno@clisp.org>
41196
41197         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
41198         compilers.
41199         * doc/func.texi: Document the SunPRO C bug.
41200
41201 2009-08-27  Bruno Haible  <bruno@clisp.org>
41202
41203         Fix link error on Solaris.
41204         * tests/test-parse-duration.c (xstrdup): Remove function.
41205
41206 2009-08-26  Pádraig Brady  <P@draigbrady.com>
41207
41208         ignore-value: handle pointer types, too
41209         * lib/ignore-value.h (__attribute__): Remove definition.
41210         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
41211         of a more concise and more-often effective "(void) i" statement.
41212         (ignore_ptr): New function to suppress warnings from functions that
41213         return pointers, and to make it explicit that one function doesn't
41214         handle all cases.
41215
41216 2009-08-25  Bruno Haible  <bruno@clisp.org>
41217
41218         dup2: work around a Linux bug.
41219         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
41220         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
41221         * doc/posix-functions/dup2.texi: Mention the Linux bug.
41222         Reported by Simon Josefsson.
41223
41224 2009-08-25  Jim Meyering  <meyering@redhat.com>
41225
41226         libguestfs uses gnulib
41227         * users.txt: Add libguestfs.
41228
41229 2009-08-24  Eric Blake  <ebb9@byu.net>
41230
41231         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
41232         * lib/pipe2.c (includes): Add binary-io.h.
41233         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
41234
41235 2009-08-24  Bruno Haible  <bruno@clisp.org>
41236
41237         Tolerate declared but missing accept4 syscall.
41238         * lib/accept4.c (accept4): Invoke original accept4 function first, if
41239         available.
41240         * lib/sys_socket.in.h (accept4): If the function is already present,
41241         override it.
41242         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
41243         * modules/accept4 (Makefile.am): Compile accept4.c always.
41244         Reported by Paolo Bonzini and Eric Blake.
41245
41246 2009-08-23  Bruno Haible  <bruno@clisp.org>
41247
41248         New module 'accept4'.
41249         * lib/sys_socket.in.h (accept4): New declaration.
41250         * lib/accept4.c: New file.
41251         * m4/accept4.m4: New file.
41252         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
41253         GNULIB_ACCEPT4, HAVE_ACCEPT4.
41254         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
41255         HAVE_ACCEPT4.
41256         * modules/accept4: New file.
41257         * doc/glibc-functions/accept4.texi: Mention the new module.
41258
41259 2009-08-24  Jim Meyering  <meyering@redhat.com>
41260
41261         progname: also set global program_invocation_name, when possible
41262         Before this change, a libtool-enabled program that calls glibc's
41263         error function would report the program name as
41264         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
41265         * modules/progname (configure.ac): Check for a declaration of
41266         program_invocation_name.
41267         * lib/progname.c:  Include <errno.h>.
41268         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
41269         Set program_invocation_name.
41270
41271 2009-08-23  Bruno Haible  <bruno@clisp.org>
41272
41273         * lib/dup3.c: Include <string.h>.
41274
41275 2009-08-23  Bruno Haible  <bruno@clisp.org>
41276
41277         * lib/dup3.c (dup3): Test only once whether the system actually exists.
41278         * lib/pipe2.c (pipe2): Likewise.
41279         Suggested by Eric Blake.
41280
41281 2009-08-23  Bruno Haible  <bruno@clisp.org>
41282
41283         Tolerate declared but missing dup3 syscall.
41284         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
41285         * lib/unistd.in.h (dup3): If the function is already present,
41286         override it.
41287         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
41288         * modules/dup3 (Makefile.am): Compile dup3.c always.
41289         Reported by Paolo Bonzini.
41290
41291 2009-08-23  Bruno Haible  <bruno@clisp.org>
41292
41293         Tolerate declared but missing pipe2 syscall.
41294         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
41295         available.
41296         * lib/unistd.in.h (pipe2): If the function is already present,
41297         override it.
41298         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
41299         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
41300         Reported by Paolo Bonzini.
41301
41302 2009-08-23  Bruno Haible  <bruno@clisp.org>
41303
41304         * lib/pipe2.c (pipe2): Move #ifs inside function.
41305
41306 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
41307
41308         quotearg: document limitations of quote_these_too
41309         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
41310         those limitations are created.
41311         * lib/quotearg.h (set_char_quoting): Document that digits and
41312         letters that are special after backslash are not permitted.
41313         (quotearg_char): Cross-reference set_char_quoting documentation.
41314
41315 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
41316
41317         quotearg: implement custom_quoting_style
41318         * lib/quotearg.c: (struct quoting_options): Add left_quote and
41319         right_quote fields.
41320         (set_custom_quoting): New public function.
41321         (quotearg_buffer_restyled): Add left_quote and right_quote
41322         arguments, handle them very much like locale quoting, and update
41323         all uses.
41324         (quotearg_n_custom): New public function.
41325         (quotearg_n_custom_mem): New public function.
41326         (quotearg_custom): New public function.
41327         (quotearg_custom_mem): New public function.
41328         * lib/quotearg.h: Prototype and document new public functions.
41329         (enum quoting_style): For escape_quoting_style and
41330         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
41331         ignored even though they're otherwise like c_quoting_style.
41332         Add custom_quoting_style member and document with comparison to
41333         clocale_quoting_style.
41334         * tests/test-quotearg.c (custom_quotes): New array.
41335         (custom_results): New array.
41336         (main): Extend to test custom quoting.
41337
41338 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
41339
41340         quotearg: fix right quote escaping when it's in quote_these_too
41341         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
41342         quote, be sure to prepend only one backslash.
41343         * tests/test-quotearg.c (use_quote_double_quotes): New function.
41344         (main): Test it.
41345
41346 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
41347
41348         quotearg-tests: test escaping of embedded locale quotes
41349         * tests/test-quotearg.c (struct result_strings): Add member for
41350         new input.
41351         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
41352         (inputs): Add new input.
41353         (results_g): Add expected results.
41354         (flag_results): Likewise.
41355         (locale_results): Likewise.
41356         (compare_strings): Check those.
41357
41358 2009-08-23  Bruno Haible  <bruno@clisp.org>
41359
41360         Tests for module 'dup3'.
41361         * modules/dup3-tests: New file.
41362         * tests/test-dup3.c: New file.
41363
41364         New module 'dup3'.
41365         * lib/unistd.in.h (dup3): New declaration.
41366         * lib/dup3.c: New file.
41367         * m4/dup3.m4: New file.
41368         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
41369         HAVE_DUP3.
41370         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
41371         * modules/dup3: New file.
41372         * doc/glibc-functions/dup3.texi: Mention the new module.
41373
41374 2009-08-23  Bruno Haible  <bruno@clisp.org>
41375
41376         Tweak the dup2 test.
41377         * tests/test-dup2.c (main): Create the test file empty. Verify that an
41378         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
41379         the test file is still empty. Fix argument order of lseek.
41380
41381 2009-08-23  Bruno Haible  <bruno@clisp.org>
41382
41383         Avoid test link errors when the modules getopt-gnu, gettext are used.
41384         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
41385         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41386
41387 2009-08-23  Bruno Haible  <bruno@clisp.org>
41388
41389         Fix getdtablesize() on mingw.
41390         * lib/getdtablesize.c (getdtablesize): Implement differently.
41391         * lib/unistd.in.h (getdtablesize): Improve comment.
41392
41393 2009-08-23  Bruno Haible  <bruno@clisp.org>
41394
41395         New module 'mkostemp'.
41396         Based on Ulrich Drepper's 2007-08-10 change in glibc.
41397         * lib/stdlib.in.h (mksotemp): New declaration.
41398         * lib/mkostemp.c: New file, from glibc with modifications.
41399         * lib/tempname.h (GT_FILE): Remove outdated comment.
41400         (gen_tempname): Add flags argument.
41401         * lib/tempname.c (__GT_BIGFILE): Remove macro.
41402         (__GT_FILE): Map to 1.
41403         (small_open, large_open): Remove macros.
41404         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
41405         * lib/mkstemp.c (mkstemp): Update.
41406         * lib/mkdtemp.c (mkdtemp): Likewise.
41407         * m4/mkostemp.m4: New file.
41408         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
41409         HAVE_MKOSTEMP.
41410         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
41411         HAVE_MKOSTEMP.
41412         * modules/mkostemp: New file, based on modules/mkstemp.
41413         * doc/glibc-functions/mkostemp.texi: Mention the new module.
41414         * NEWS: Mention the change.
41415
41416 2009-08-23  Bruno Haible  <bruno@clisp.org>
41417
41418         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
41419         Reported by Eric Blake.
41420
41421 2009-08-23  Bruno Haible  <bruno@clisp.org>
41422
41423         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
41424         Reported by Eric Blake.
41425
41426 2009-08-23  Bruno Haible  <bruno@clisp.org>
41427
41428         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
41429         * modules/pipe2 (Depends-on): Likewise.
41430
41431 2009-08-23  Eric Blake  <ebb9@byu.net>
41432
41433         fcntl-h: add O_TTY_INIT support
41434         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
41435         * tests/test-fcntl-h.c (o): Test it.
41436         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
41437
41438         fcntl-h: rename from fcntl, in preparation for fcntl(2)
41439         * modules/fcntl: Move <fcntl.h> header replacement...
41440         * modules/fcntl-h: ...to new name, so as not to collide with
41441         like-named function.
41442         * tests/test-fcntl.c: Rename...
41443         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
41444         * modules/fcntl-tests: Rename...
41445         * modules/fcntl-h-tests: ...to this.  Update test file name.
41446         * modules/chdir-long (Depends-on): Update clients.
41447         * modules/chdir-safer (Depends-on): Likewise.
41448         * modules/fcntl-safer (Depends-on): Likewise.
41449         * modules/fts (Depends-on): Likewise.
41450         * modules/mkancesdirs (Depends-on): Likewise.
41451         * modules/mkdir-p (Depends-on): Likewise.
41452         * modules/open (Depends-on): Likewise.
41453         * modules/savewd (Depends-on): Likewise.
41454         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
41455         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
41456
41457 2009-08-22  Bruno Haible  <bruno@clisp.org>
41458
41459         * modules/binary-io (License): Relicense under LGPL.
41460         * modules/pipe2 (License): Likewise.
41461
41462 2009-08-22  Bruno Haible  <bruno@clisp.org>
41463
41464         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
41465         return value.
41466         * lib/pipe-filter-gi.c (filter_init): Likewise.
41467         Reported by Eric Blake.
41468
41469 2009-08-22  Bruno Haible  <bruno@clisp.org>
41470
41471         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
41472         * modules/pipe (Depends-on): Add pipe2.
41473
41474 2009-08-22  Bruno Haible  <bruno@clisp.org>
41475
41476         Tests for module 'pipe2'.
41477         * modules/pipe2-tests: New file.
41478         * tests/test-pipe2.c: New file.
41479
41480         New module 'pipe2'.
41481         * lib/unistd.in.h (pipe2): New declaration.
41482         * lib/pipe2.c: New file.
41483         * m4/pipe2.m4: New file.
41484         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
41485         HAVE_PIPE2.
41486         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
41487         * modules/pipe2: New file.
41488         * doc/glibc-functions/pipe2.texi: Mention the new module.
41489
41490 2009-08-22  Bruno Haible  <bruno@clisp.org>
41491
41492         Reference some new glibc functions.
41493         * doc/glibc-functions/accept4.texi: New file.
41494         * doc/glibc-functions/dup3.texi: New file.
41495         * doc/glibc-functions/mkostemp.texi: New file.
41496         * doc/glibc-functions/pipe2.texi: New file.
41497         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
41498         (Glibc sys/socket.h): Refer to accept4.
41499         (Glibc unistd.h): Refer to dup3, pipe2.
41500         Reported by Eric Blake.
41501
41502 2009-08-22  Jim Meyering  <meyering@redhat.com>
41503             Bruno Haible  <bruno@clisp.org>
41504
41505         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
41506         This makes it so packages using automake-1.11's silent-rules option
41507         can print e.g., a single "GEN    configmake.h" line, rather than
41508         the 30+ statements that perform the job.  If you want to see the
41509         actual commands, you can still run "make V=1".
41510         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
41511         so that make output is abbreviated when those variables are defined
41512         appropriately.
41513         * modules/argz: Likewise.
41514         * modules/arpa_inet: Likewise.
41515         * modules/byteswap: Likewise.
41516         * modules/configmake: Likewise.
41517         * modules/dirent: Likewise.
41518         * modules/errno: Likewise.
41519         * modules/fcntl: Likewise.
41520         * modules/float: Likewise.
41521         * modules/fnmatch: Likewise.
41522         * modules/getopt-posix: Likewise.
41523         * modules/glob: Likewise.
41524         * modules/iconv_open: Likewise.
41525         * modules/inttypes: Likewise.
41526         * modules/localcharset: Likewise.
41527         * modules/locale: Likewise.
41528         * modules/math: Likewise.
41529         * modules/netdb: Likewise.
41530         * modules/netinet_in: Likewise.
41531         * modules/poll: Likewise.
41532         * modules/posix_spawnp-tests: Likewise.
41533         * modules/sched: Likewise.
41534         * modules/search: Likewise.
41535         * modules/selinux-h: Likewise.
41536         * modules/signal: Likewise.
41537         * modules/spawn: Likewise.
41538         * modules/stdarg: Likewise.
41539         * modules/stdbool: Likewise.
41540         * modules/stddef: Likewise.
41541         * modules/stdint: Likewise.
41542         * modules/stdio: Likewise.
41543         * modules/stdlib: Likewise.
41544         * modules/string: Likewise.
41545         * modules/strings: Likewise.
41546         * modules/sys_file: Likewise.
41547         * modules/sys_ioctl: Likewise.
41548         * modules/sys_select: Likewise.
41549         * modules/sys_socket: Likewise.
41550         * modules/sys_stat: Likewise.
41551         * modules/sys_time: Likewise.
41552         * modules/sys_times: Likewise.
41553         * modules/sys_utsname: Likewise.
41554         * modules/sys_wait: Likewise.
41555         * modules/sysexits: Likewise.
41556         * modules/time: Likewise.
41557         * modules/unistd: Likewise.
41558         * modules/wchar: Likewise.
41559         * modules/wctype: Likewise.
41560
41561 2009-08-22  Jim Meyering  <meyering@redhat.com>
41562
41563         announce-gen: detect write failure
41564         * build-aux/announce-gen: Add Coda at end.
41565         Remove equivalent-but-more-verbose block at top.
41566
41567 2009-08-19  Akim Demaille  <demaille@gostai.com>
41568
41569         bootstrap: --help to stdout.
41570         * bootstrap (usage): Don't send --help to stderr.
41571         Use a here doc instead of a long string.
41572
41573 2009-08-21  Eric Blake  <ebb9@byu.net>
41574
41575         test-popen-safer: split from test-popen
41576         * tests/test-popen.c (main): Move...
41577         * tests/test-popen.h: ...into new file.
41578         * tests/test-popen-safer2.c: New file.
41579         * modules/popen-tests (Files): Add test-popen.h.
41580         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
41581         Suggested by Bruno Haible.
41582
41583         test-fcntl-safer: split from test-open
41584         * tests/test-open.c (main): Move...
41585         * tests/test-open.h: ...into new file.
41586         * tests/test-fcntl-safer.c: New file.
41587         * modules/open-tests (Files): Add test-open.h.
41588         * modules/fcntl-safer-tests: New file.
41589         Suggested by Bruno Haible.
41590
41591         test-fopen-safer: split from test-fopen
41592         * tests/test-fopen.c (main): Move...
41593         * tests/test-fopen.h: ...into new file.
41594         * tests/test-fopen-safer.c: New file.
41595         * modules/fopen-tests (Files): Add test-fopen.h.
41596         * modules/fopen-safer-tests: New file.
41597         Suggested by Bruno Haible.
41598
41599 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
41600
41601         popen-safer: test O_CLOEXEC at run-time.
41602         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
41603
41604 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
41605
41606         fcntl: move more flags to the header
41607         * lib/cloexec.c: Do not define FD_CLOEXEC here.
41608         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
41609         * lib/fcntl.in.h: Do both things here.
41610
41611 2009-08-21  Jim Meyering  <meyering@redhat.com>
41612
41613         consistently remove $@-t before redirecting to it
41614         * modules/argz: Remove $@-t and $@ before redirecting to the former.
41615         * modules/alloca-opt: Likewise.
41616         * modules/byteswap: Likewise.
41617         * modules/fnmatch: Likewise.
41618         * modules/getopt-posix: Likewise.
41619         * modules/glob: Likewise.
41620         * modules/poll: Likewise.
41621         * modules/posix_spawnp-tests: Likewise.
41622         * modules/sys_socket: Likewise.
41623         * modules/sysexits: Likewise.
41624
41625 2009-08-21  Eric Blake  <ebb9@byu.net>
41626
41627         popen: simplify access to original popen
41628         * lib/popen.c (rpl_popen): No need to worry about popen being a
41629         macro.
41630         Reported by Bruno Haible.
41631
41632 2009-08-20  Eric Blake  <ebb9@byu.net>
41633
41634         build: avoid some compiler warnings
41635         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
41636         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
41637         type.
41638         (new_exclude_segment, excluded_file_pattern_p)
41639         (excluded_file_name_p): Reduce scope.
41640         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
41641         old-style declaration.
41642
41643 2009-08-20  Simon Josefsson  <simon@josefsson.org>
41644
41645         * tests/test-exclude1.sh: Handle Windows EOL.
41646         * tests/test-exclude2.sh: Likewise.
41647         * tests/test-exclude3.sh: Likewise.
41648         * tests/test-exclude4.sh: Likewise.
41649         * tests/test-exclude5.sh: Likewise.
41650         * tests/test-exclude6.sh: Likewise.
41651         * tests/test-exclude7.sh: Likewise.
41652
41653 2009-08-19  Akim Demaille  <demaille@gostai.com>
41654
41655         bootstrap: find sha1sum when named gsha1sum.
41656         * bootstrap (find_tool): New.
41657         ($SHA1SUM): New.
41658         Use it.
41659
41660 2009-08-20  Jim Meyering  <meyering@redhat.com>
41661
41662         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
41663         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
41664         expression that converts "." in a file name to "\." in the resulting
41665         regexp.  Start with a dummy statement, so that prior shell variable
41666         definitions are expanded portably.  Reported by Simon Josefsson.
41667
41668 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
41669
41670         Fix polling for writeability of a screen buffer.
41671         * lib/poll.c: Distinguish input and screen buffers for the
41672         Win32 implementation.
41673         * lib/select.c: Likewise.
41674
41675 2009-08-19  Eric Blake  <ebb9@byu.net>
41676
41677         popen-safer: prevent popen from clobbering std descriptors
41678         * modules/popen-safer: New file.
41679         * lib/popen-safer.c: Likewise.
41680         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
41681         * lib/stdio--.h (popen): Provide override.
41682         * lib/stdio-safer.h (popen_safer): Provide declaration.
41683         * tests/test-popen.c (includes): Partially test this.
41684         * modules/popen-safer-tests: New file, for more tests.
41685         * tests/test-popen-safer.c: Likewise.
41686         * MODULES.html.sh (file stream based Input/Output): Mention it.
41687
41688         tests: test some of the *-safer modules
41689         * modules/fopen-safer (Depends-on): Add fopen.
41690         * modules/fcntl-safer (Depends-on): Add fcntl.
41691         * modules/stdlib-safer (Depends-on): Add stdlib.
41692         (configure.ac): Set indicator.
41693         * modules/unistd-safer (configure.ac): Likewise.
41694         * modules/tmpfile-safer (configure.ac): Likewise.
41695         (Depends-on): Add tmpfile.
41696         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
41697         active.
41698         * tests/test-fopen.c (includes): Test safer versions when they are
41699         in use.
41700         * tests/test-open.c (includes): Likewise.
41701
41702         popen: fix cygwin 1.5 bug when stdin closed
41703         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
41704         * modules/popen: New file.
41705         * modules/popen-tests: Likewise.
41706         * tests/test-popen.c: Likewise.
41707         * m4/popen.m4: Likewise.
41708         * lib/popen.c: Likewise.
41709         * lib/stdio.in.h (popen): New declaration.
41710         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
41711         * modules/stdio (Makefile.am): Likewise.
41712         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
41713
41714 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
41715
41716         maint.mk: give full control over update-copyright exclusions
41717         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
41718         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
41719         (update-copyright): Don't force inclusion of top-level
41720         ChangeLog.  Don't force exclusion of all COPYING files, but make
41721         them the default exclusion instead.
41722
41723 2009-08-16  Bruno Haible  <bruno@clisp.org>
41724
41725         Fix test failures on Solaris 10.
41726         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
41727         tests when Solaris iconv() is used.
41728         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
41729         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
41730         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
41731         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
41732         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
41733
41734 2009-08-16  Bruno Haible  <bruno@clisp.org>
41735
41736         Fix test failures on Solaris 10.
41737         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
41738         'tr' program and pass it as first argument.
41739         * tests/test-pipe-filter-gi1.sh: Likewise.
41740         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
41741         program as first argument.
41742         * tests/test-pipe-filter-gi1.c (main): Likewise.
41743
41744 2009-08-16  Eric Blake  <ebb9@byu.net>
41745
41746         fpurge: fix previous commits
41747         * modules/fpurge (Makefile.am): Make replacement conditional,
41748         partially reverting 2007-04-29 change; missed in previous
41749         attempt.
41750         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
41751         is missing.
41752
41753 2009-08-16  Bruno Haible  <bruno@clisp.org>
41754
41755         Clarify fpurge's effect on the file position.
41756         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
41757         * tests/test-fpurge.c (main): Make a second pass for checking the file
41758         position.
41759
41760 2009-08-16  Bruno Haible  <bruno@clisp.org>
41761
41762         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
41763         declaration of fpurge is missing.
41764         * tests/test-fpurge.c (main): Check that the file has not more contents
41765         than expected. Close the file before removing it.
41766
41767 2009-08-15  Eric Blake  <ebb9@byu.net>
41768
41769         fpurge: don't wrap working cygwin implementation
41770         * lib/fpurge.c (fpurge): Fix comment typo.
41771         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
41772         1.7 to avoid replacement.
41773         * tests/test-fpurge.c (main): Enhance test.
41774
41775 2009-08-15  Eric Blake  <ebb9@byu.net>
41776         and Jim Meyering  <meyering@redhat.com>
41777
41778         test-update-copyright: skip if perl is insufficient
41779         * tests/test-update-copyright.sh: Failure to run maintainer tool
41780         should not cause testsuite failure on cygwin 1.5.
41781
41782 2009-08-14  Eric Blake  <ebb9@byu.net>
41783
41784         doc: mention more functions added in cygwin 1.7.0
41785         * doc/posix-headers/limits.texi (limits.h): Update for recent
41786         cygwin additions.
41787         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
41788         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
41789         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
41790         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
41791         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
41792
41793 2009-08-14  Eric Blake  <ebb9@byu.net>
41794
41795         maint.mk: simplify update-copyright rule
41796         * top/maint.mk (update-copyright-local): Delete, and document how
41797         to do it in cfg.mk instead.
41798         (update-copyright-exclude-regexp): Delete, and document how to do
41799         it in .x-update-copyright instead.
41800         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
41801         exclude ChangeLog.
41802
41803 2009-08-14  Bruno Haible  <bruno@clisp.org>
41804
41805         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
41806
41807 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41808
41809         maint.mk: support update-copyright-env
41810         * top/maint.mk (update-copyright-env): Define place-holder.
41811         (update-copyright): Expand $(update-copyright-env) before
41812         invoking update-copyright.
41813
41814 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41815
41816         update-copyright: implement forced reformatting
41817         * build-aux/update-copyright: Implement and document
41818         UPDATE_COPYRIGHT_FORCE.
41819         * tests/test-update-copyright.sh: Test it.
41820
41821 2009-08-14  Eric Blake  <ebb9@byu.net>
41822         and Bruno Haible  <bruno@clisp.org>
41823
41824         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
41825         * tests/test-locale.c: Revert previous patch related to NULL.
41826         * tests/test-stdio.c: Likewise.
41827         * tests/test-stdlib.c: Likewise.
41828         * tests/test-string.c: Likewise.
41829         * tests/test-unistd.c: Likewise.
41830         * modules/time-tests (Depends-on): Add verify.
41831         * modules/wchar-tests (Depends-on): Likewise.
41832         * tests/test-time.c: Test for NULL compliance.
41833         * tests/test-wchar.c: Likewise.
41834         * modules/locale (Depends-on): Add stddef.
41835         * modules/stdio (Depends-on): Likewise.
41836         * modules/stdlib (Depends-on): Likewise.
41837         * modules/string (Depends-on): Likewise.
41838         * modules/time (Depends-on): Likewise.
41839         * modules/unistd (Depends-on): Likewise.
41840         * modules/wchar (Depends-on): Likewise.
41841         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
41842         * lib/stdlib.in.h (includes): Likewise.
41843         * lib/string.in.h (includes): Likewise.
41844         * lib/time.in.h (includes): Likewise.
41845         * lib/unistd.in.h (includes): Likewise.
41846         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
41847         replaced.
41848         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
41849         * m4/stddef_h.m4: New file.
41850         * modules/stddef: Likewise.
41851         * lib/stddef.in.h: Likewise.
41852         * modules/stddef-tests: Likewise.
41853         * tests/test-stddef.c: Likewise.
41854         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
41855         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
41856         * doc/posix-headers/locale.texi (locale.h): Likewise.
41857         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
41858         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
41859         * doc/posix-headers/string.texi (string.h): Likewise.
41860         * doc/posix-headers/time.texi (time.h): Likewise.
41861         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
41862         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
41863
41864 2009-08-14  Eric Blake  <ebb9@byu.net>
41865
41866         doc: improve git diff of texinfo files
41867         * .gitattributes: Add rule for *.texi files, with hint on how to
41868         use it.
41869         Copied from m4, and based on a report by Bruno Haible.
41870
41871 2009-08-14  Bruno Haible  <bruno@clisp.org>
41872
41873         Disable multithread support by default on Cygwin 1.5.x for real.
41874         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
41875
41876 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41877
41878         update-copyright: much ado about intervals
41879         * build-aux/update-copyright: Implement and document
41880         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
41881         of copyright year intervals.
41882         Also, document UPDATE_COPYRIGHT_YEAR.
41883         * tests/test-update-copyright.sh: Test it.
41884
41885         update-copyright: convert 2-digit to 4-digit years
41886         * build-aux/update-copyright: Implement and document.
41887         * tests/test-update-copyright.sh: Update.
41888
41889 2009-08-14  Jim Meyering  <meyering@redhat.com>
41890
41891         test-exclude: avoid coreutils "make check" failure
41892         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
41893         just as in test-argmatch.c.
41894
41895 2009-08-13  Eric Blake  <ebb9@byu.net>
41896
41897         test-dup2: fix bad assumption
41898         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
41899         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
41900
41901         test-version-etc: fix CRLF portability issue
41902         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
41903         recognize \r.
41904         * tests/test-argp-version-etc-1.sh: Likewise.
41905
41906         getopt: update client modules
41907         * modules/argp (Depends-on): Use getopt-gnu.
41908         * modules/git-merge-changelog (Depends-on): Likewise.
41909         * modules/long-options (Depends-on): Likewise.
41910         * modules/xstrtol (Depends-on): Likewise.
41911
41912 2009-08-13  Simon Josefsson  <simon@josefsson.org>
41913
41914         * tests/test-version-etc.sh: Don't fail on different
41915         project/version.  Don't fail on CRLF differences.  Rewrite to use
41916         multiple -e instead of multiple sed forks, suggested by Eric Blake
41917         <ebb9@byu.net>.
41918         * tests/test-argp-version-etc-1.sh: Likewise.
41919
41920 2009-08-13  Simon Josefsson  <simon@josefsson.org>
41921
41922         * tests/test-version-etc.sh: Don't fail on different
41923         project/version.
41924
41925 2009-08-12  Bruno Haible  <bruno@clisp.org>
41926
41927         Tests for modules 'getopt-posix', 'getopt-gnu'.
41928         * modules/getopt-posix-tests: New file.
41929         * tests/test-getopt.c: New file.
41930         * tests/test-getopt.h: New file.
41931         * tests/test-getopt_long.h: New file.
41932
41933         New modules 'getopt-posix', 'getopt-gnu'.
41934         * modules/getopt-gnu: New file, renamed from modules/getopt.
41935         * modules/getopt-posix: New file.
41936         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
41937         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
41938         (gl_GETOPT): Remove macro.
41939         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
41940         Disable the test against BSD systems that declare optreset. Test
41941         against mingw bug. Test against lack of support of optional arguments
41942         on many platforms.
41943         * doc/glibc-headers/getopt.texi: Update module name and list of
41944         relevant platforms.
41945         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
41946         'getopt-gnu' and more portability problems.
41947         * NEWS: Mention the changes.
41948
41949 2009-08-12  Bruno Haible  <bruno@clisp.org>
41950
41951         Ensure that optarg etc. get declared by <unistd.h>.
41952         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
41953         AC_USE_SYSTEM_EXTENSIONS.
41954         * modules/getopt (Depends-on): Add 'extensions'.
41955
41956 2009-08-12  Bruno Haible  <bruno@clisp.org>
41957
41958         Avoid test link errors.
41959         * modules/pipe-filter-ii-tests (Makefile.am): Define
41960         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
41961         * modules/pipe-filter-gi-tests (Makefile.am): Define
41962         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
41963         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41964
41965 2009-08-12  Bruno Haible  <bruno@clisp.org>
41966
41967         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
41968         gl_GETOPT_SUBSTITUTE before.
41969         (gl_GETOPT): Use it.
41970         * m4/argp.m4 (gl_ARGP): Update.
41971         Reported by Sergey Poznyakoff.
41972
41973         * m4/getopt.m4: Reorder macros.
41974         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
41975         (gl_GETOPT_SUBSTITUTE): Remove macro.
41976
41977 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41978
41979         Minor improvement in gitlog-to-changelog
41980
41981         * build-aux/gitlog-to-changelog: New option `--format' makes
41982         output format string configurable.
41983
41984 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41985
41986         Optimize exclude: use hash tables for non-wildcard patterns.
41987
41988         * lib/exclude.c: Include hash.h and mbuiter.h
41989         (struct exclude_pattern, exclude_segment): New data types.
41990         (struct exclude): Rewrite.
41991         (fnmatch_pattern_has_wildcards): New function.
41992         (new_exclude_segment, free_exclude_segment): New functions.
41993         (excluded_file_pattern_p, excluded_file_name_p): New functions.
41994         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
41995         * lib/exclude.h (is_fnmatch_pattern): New prototype.
41996         * modules/exclude: Depend on hash and mbuiter.
41997
41998         * modules/exclude-tests: New file.
41999         * tests/test-exclude.c: New file.
42000         * tests/test-exclude1.sh: New file.
42001         * tests/test-exclude2.sh: New file.
42002         * tests/test-exclude3.sh: New file.
42003         * tests/test-exclude4.sh: New file.
42004         * tests/test-exclude5.sh: New file.
42005         * tests/test-exclude6.sh: New file.
42006         * tests/test-exclude7.sh: New file.
42007
42008 2009-08-12  Bruno Haible  <bruno@clisp.org>
42009
42010         Ensure that getopt() gets declared by <unistd.h>.
42011         * lib/unistd.in.h: Conditionally include getopt.h.
42012         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
42013         Set GNULIB_UNISTD_H_GETOPT.
42014         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42015         GNULIB_UNISTD_H_GETOPT.
42016         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
42017
42018 2009-08-12  Bruno Haible  <bruno@clisp.org>
42019
42020         Clarify logic.
42021         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
42022         gl_replace_getopt instead of GETOPT_H.
42023
42024 2009-08-12  Bruno Haible  <bruno@clisp.org>
42025
42026         * m4/getopt.m4: Add comments.
42027
42028 2009-08-12  Bruno Haible  <bruno@clisp.org>
42029
42030         Disable multithread support by default on Cygwin 1.5.x.
42031         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
42032         set gl_use_threads=no if not specified otherwise.
42033
42034 2009-08-11  Bruno Haible  <bruno@clisp.org>
42035
42036         Avoid compilation error on NetBSD 5.0.
42037         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
42038         * tests/test-stdio.c: Likewise.
42039         * tests/test-stdlib.c: Likewise.
42040         * tests/test-string.c: Likewise.
42041         * tests/test-unistd.c: Likewise.
42042         Reported by Greg Troxel <gdt@ir.bbn.com>
42043         at <https://savannah.gnu.org/support/?106973>.
42044
42045 2009-08-11  Bruno Haible  <bruno@clisp.org>
42046
42047         * modules/dup2-tests (Depends-on): Remove close.
42048
42049         Undo 2009-07-19 commit.
42050         * modules/acl-tests (Depends-on): Remove close.
42051         * modules/binary-io-tests (Depends-on): Likewise.
42052         * modules/closein-tests (Depends-on): Likewise.
42053         * modules/flock-tests (Depends-on): Likewise.
42054         * modules/fsync-tests (Depends-on): Likewise.
42055         * modules/lseek-tests (Depends-on): Likewise.
42056         * modules/pipe-tests (Depends-on): Likewise.
42057         * modules/posix_spawn-tests (Depends-on): Likewise.
42058         * modules/posix_spawnp-tests (Depends-on): Likewise.
42059         * modules/stat-time-tests (Depends-on): Likewise.
42060         * modules/yesno-tests (Depends-on): Likewise.
42061
42062 2009-08-10  Bruno Haible  <bruno@clisp.org>
42063
42064         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
42065
42066 2009-08-10  Bruno Haible  <bruno@clisp.org>
42067
42068         Fix a gcc warning.
42069         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
42070
42071 2009-08-10  Bruno Haible  <bruno@clisp.org>
42072
42073         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
42074         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
42075         not only the first time.
42076         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
42077         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
42078         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
42079         is 1, not only the the first time.
42080
42081 2009-08-10  Bruno Haible  <bruno@clisp.org>
42082
42083         Make it possible to use module 'gethostname' without module 'close'.
42084         * lib/unistd.in.h (close): Evoke a link error only if
42085         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
42086         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42087         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42088         * modules/unistd (Makefile.am): Substitute
42089         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42090         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
42091         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
42092         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
42093         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42094         * modules/sys_ioctl (Makefile.am): Substitute
42095         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42096         * modules/socket (configure.ac): On native Windows, set
42097         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
42098         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42099         Reported by Sam Steingold <sds@gnu.org>.
42100
42101 2009-08-10  Bruno Haible  <bruno@clisp.org>
42102
42103         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
42104         * modules/ioctl (configure.ac): Likewise.
42105
42106 2009-08-10  Bruno Haible  <bruno@clisp.org>
42107
42108         Avoid collision between gnulib wrapper and libintl wrapper.
42109         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
42110         already defined in intl/printf.c.
42111         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
42112         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
42113
42114 2009-08-09  Bruno Haible  <bruno@clisp.org>
42115
42116         Make <sys/select.h> really self-contained, also on Solaris 10.
42117         * lib/sys_select.in.h: Include <string.h>.
42118         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
42119         Solaris 10 problem.
42120         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
42121         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
42122         Reported by Jim Meyering.
42123
42124 2009-08-09  Bruno Haible  <bruno@clisp.org>
42125
42126         Avoid warnings from 'aclocal' that are due to a use of macro name
42127         AM_XGETTEXT_OPTION that is not defined in automake.
42128         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
42129         automake.
42130         * modules/error (configure.ac): Likewise.
42131         * modules/propername (configure.ac): Likewise.
42132         * modules/vasprintf (configure.ac): Likewise.
42133         * modules/verror (configure.ac): Likewise.
42134         * modules/xprintf (configure.ac): Likewise.
42135         * modules/xvasprintf (configure.ac): Likewise.
42136
42137 2009-08-08  Bruno Haible  <bruno@clisp.org>
42138
42139         Avoid compilation error in C++ mode.
42140         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
42141         Reported by Sam Steingold <sds@gnu.org>.
42142
42143 2009-08-08  Bruno Haible  <bruno@clisp.org>
42144
42145         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
42146         for the various Unix platforms.
42147         * doc/posix-headers/limits.texi: Update platforms list regarding
42148         HOST_NAME_MAX.
42149         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42150
42151 2009-08-07  Jim Meyering  <meyering@redhat.com>
42152
42153         selinux-at: fix typo in a comment
42154         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
42155         Spotted by Paolo Bonzini.
42156
42157         selinux-at: remove redundant m4 code, add documentation
42158         * modules/selinux-at (configure.ac): Remove redundant code.
42159         LIB_SELINUX is already set via the dependent module, selinux-h.
42160         (Include): Add quotes around selinux-at.h.
42161         * lib/selinux-at.h: Add documentation.
42162         Reported by Bruno Haible in
42163         http://marc.info/?l=gnulib-bug&m=124958988300749
42164
42165 2009-08-07  Bruno Haible  <bruno@clisp.org>
42166
42167         Avoid link error on MacOS X 10.3 and 10.4.
42168         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
42169         on non-ELF systems.
42170         * lib/argp-pv.c (argp_program_version): Likewise.
42171         Reported by Simon Josefsson.
42172
42173 2009-08-07  Simon Josefsson  <simon@josefsson.org>
42174
42175         * tests/test-version-etc.sh: Use $EXEEXT.
42176
42177 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
42178
42179         update-copyright: update documentation to point to maint.mk
42180         * build-aux/update-copyright: Here.
42181
42182 2009-08-06  Jim Meyering  <meyering@redhat.com>
42183
42184         maint.mk: support update-copyright-local
42185         * top/maint.mk (update-copyright-local): Define place-holder.
42186         (update-copyright): Depend on $(update-copyright-local).
42187
42188 2009-08-06  Jim Meyering  <meyering@redhat.com>
42189
42190         selinux-at: new module
42191         Initially written for coreutils, this module will soon be
42192         used by findutils, too.
42193         * MODULES.html.sh [Misc]: Add selinux-at.
42194         * lib/selinux-at.h: New file, from coreutils.
42195         * lib/selinux-at.c: Likewise.
42196         * modules/selinux-at: Likewise.
42197         (License): Change from LGPL to GPL, since it depends
42198         on the GPL'd openat module.
42199
42200         doc: update README
42201         * README: Remove references to cogito.
42202         Remove cvs-repo-updating instructions from 2007.
42203         Don't imply that CVS is better if you have limited disk space.
42204
42205 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
42206
42207         update-copyright: support C-style comments
42208         * build-aux/update-copyright: Implement and document.
42209         * tests/test-update-copyright.sh: Test.
42210
42211 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
42212
42213         update-copyright: support omitted "(C)"
42214         * build-aux/update-copyright: Implement and document.  Also,
42215         allow variable whitespace before "(C)".
42216         * tests/test-update-copyright.sh: Test.
42217
42218 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
42219
42220         update-copyright: don't trip on non-FSF copyright statements
42221         * build-aux/update-copyright: Fix so that the first correctly
42222         formatted FSF copyright statement is recognized no matter what
42223         appears before it.  Update documentation.
42224         * tests/test-update-copyright.sh: Test that.
42225
42226 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
42227
42228         update-copyright: clean up code a little
42229         * build-aux/update-copyright: Append "_re" to the name of any
42230         variable holding a regular expression.
42231         Replace "old" and "new" with "stmt" in variable names.
42232         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
42233         handled correctly.
42234         Format code more consistently.
42235
42236 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
42237
42238         update-copyright-tests: improve portability
42239         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
42240         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
42241
42242 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
42243
42244         update-copyright: support @copyright{} and &copy;
42245         * build-aux/update-copyright: Implement and document.
42246         * tests/test-update-copyright.sh: Test.
42247
42248 2009-08-04  Jim Meyering  <meyering@redhat.com>
42249
42250         update-copyright-tests: correctly test EOL=\r\n handling
42251         * tests/test-update-copyright.sh: Put \r at the end of some lines
42252         for the dos-eol tests.  Based on a patch by Joel E. Denny.
42253
42254         maint.mk: make update-copyright exclusion list more configurable
42255         * top/maint.mk (update-copyright): Default to excluding COPYING,
42256         but allow an override, in case someone does want to update that file.
42257
42258         maint.mk: don't update copyright date in COPYING
42259         * top/maint.mk (update-copyright): Exclude COPYING.
42260
42261         maint.mk: add a copyright-updating rule
42262         * top/maint.mk (update-copyright): New rule.
42263         Derived from coreutils/Makefile.am.
42264
42265         update-copyright: rename some variables
42266         * build-aux/update-copyright: Rename a few variables for clarity.
42267         Tweak syntax.  List Joel E. Denny as coauthor.
42268
42269 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
42270
42271         update-copyright: fix bug for 2-digit last year and add tests
42272         * build-aux/update-copyright: Fix bug.
42273         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
42274         specified.
42275         * modules/update-copyright-tests: New
42276         * tests/test-update-copyright.sh: New.
42277
42278 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
42279
42280         update-copyright: handle leading tabs in line prefix
42281         * build-aux/update-copyright: Count leading tabs as 8 spaces
42282         when computing margin.  This helps with the formatting of
42283         ChangeLogs, for example.
42284         Fix documentation a little.
42285
42286 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
42287
42288         update-copyright: support EOL=\r\n
42289         * build-aux/update-copyright: Implement that.
42290
42291 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
42292
42293         update-copyright: automatically format copyright statements
42294         * build-aux/update-copyright: Implement that.
42295         Also, be a little more predictable and safer by always failing
42296         when the full copyright format is not perfectly recognized as an
42297         unbroken whole.  Discussed at
42298         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
42299         Rewrite documentation.
42300
42301 2009-08-03  Bruno Haible  <bruno@clisp.org>
42302
42303         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
42304
42305 2009-08-02  Bruno Haible  <bruno@clisp.org>
42306
42307         Tests for module 'uname'.
42308         * modules/uname-tests: New file.
42309         * tests/test-uname.c: New file.
42310
42311         New module 'uname'.
42312         * lib/uname.c: New file.
42313         * m4/uname.m4: New file.
42314         * modules/uname: New file.
42315         * doc/posix-functions/uname.texi: Mention the new module.
42316
42317 2009-08-02  Bruno Haible  <bruno@clisp.org>
42318
42319         Tests for module 'sys_utsname'.
42320         * modules/sys_utsname-tests: New file.
42321         * tests/test-sys_utsname.c: New file.
42322
42323         New module 'sys_utsname'.
42324         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
42325         * m4/sys_utsname_h.m4: New file.
42326         * modules/sys_utsname: New file.
42327         * doc/posix-headers/sys_utsname.texi: Mention the new module.
42328
42329 2009-08-02  Bruno Haible  <bruno@clisp.org>
42330
42331         Implicitly initialize the sockets library.
42332         * lib/gethostname.c: Include sockets.h.
42333         (rpl_gethostname): Invoke gl_sockets_startup.
42334         * lib/socket.c: Include sockets.h.
42335         (rpl_socket): Invoke gl_sockets_startup.
42336         * modules/gethostname (Depends-on): Add sockets.
42337         * modules/socket (Depends-on): Likewise.
42338         * tests/test-poll.c: Don't include sockets.h.
42339         (main): Don't invoke gl_sockets_startup.
42340         * tests/test-select.c: Don't include sockets.h.
42341         (main): Don't invoke gl_sockets_startup.
42342
42343 2009-08-02  Bruno Haible  <bruno@clisp.org>
42344
42345         Allow multiple calls to gl_sockets_startup.
42346         * lib/sockets.c (initialized_sockets_version): New variable.
42347         (gl_sockets_startup): Do nothing if already called for this or a higher
42348         version.
42349         (gl_sockets_cleanup): Reset initialized_sockets_version.
42350
42351 2009-08-03  Simon Josefsson  <simon@josefsson.org>
42352
42353         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
42354         different project/version.
42355
42356 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
42357             Bruno Haible  <bruno@clisp.org>
42358
42359         Tests for module 'pipe-filter-gi'.
42360         * modules/pipe-filter-gi-tests: New file.
42361         * tests/test-pipe-filter-gi1.sh: New file.
42362         * tests/test-pipe-filter-gi1.c: New file.
42363         * tests/test-pipe-filter-gi2.sh: New file.
42364         * tests/test-pipe-filter-gi2-main.c: New file.
42365         * tests/test-pipe-filter-gi2-child.c: New file.
42366
42367         New module 'pipe-filter-gi'.
42368         * lib/pipe-filter-gi.c: New file.
42369         * modules/pipe-filter-gi: New file.
42370
42371 2009-08-02  Bruno Haible  <bruno@clisp.org>
42372             Paolo Bonzini  <bonzini@gnu.org>
42373
42374         Tests for module 'pipe-filter-ii'.
42375         * modules/pipe-filter-ii-tests: New file.
42376         * tests/test-pipe-filter-ii1.sh: New file.
42377         * tests/test-pipe-filter-ii1.c: New file.
42378         * tests/test-pipe-filter-ii2.sh: New file.
42379         * tests/test-pipe-filter-ii2-main.c: New file.
42380         * tests/test-pipe-filter-ii2-child.c: New file.
42381
42382         New module 'pipe-filter-ii'.
42383         * lib/pipe-filter.h: New file.
42384         * lib/pipe-filter-ii.c: New file.
42385         * lib/pipe-filter-aux.h: New file.
42386         * modules/pipe-filter-ii: New file.
42387
42388 2009-08-02  Simon Josefsson  <simon@josefsson.org>
42389
42390         * lib/gc-libgcrypt.c: Change copyright to FSF.
42391         * lib/gc-gnulib.c: Likewise.
42392
42393 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
42394
42395         * lib/gethostname.c: Include limits.h.
42396
42397 2009-08-02  Simon Josefsson  <simon@josefsson.org>
42398             Bruno Haible  <bruno@clisp.org>
42399
42400         Ensure HOST_NAME_MAX as part of the gethostname module.
42401         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
42402         define also HOST_NAME_MAX.
42403         * tests/test-gethostname.c: Include <limits.h>.
42404         (main): Check also HOST_NAME_MAX.
42405         * doc/posix-headers/limits.texi: Document the mingw problem.
42406
42407 2009-08-02  Bruno Haible  <bruno@clisp.org>
42408
42409         * lib/gethostname.c (gethostname): Fix handling of large len argument.
42410         Add comments.
42411
42412 2009-03-31  Simon Josefsson  <simon@josefsson.org>
42413
42414         * lib/gethostname.c: Add Windows wrapper.
42415         * m4/gethostname.m4: Look for gethostname in -lws2_32.
42416         * modules/gethostname: Depend on sys_socket & errno, for also
42417         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
42418         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
42419
42420 2009-07-31  Jim Meyering  <meyering@redhat.com>
42421
42422         getloadavg: fix symbol name in comment
42423         * lib/getloadavg.c: Correct a typo I introduced when adding
42424         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
42425         Matt Kraai spotted the problem.
42426
42427 2009-07-29  Matt Kraai  <mkraai@beckman.com>
42428
42429         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
42430         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
42431         code also if ! defined N_NAME_POINTER.
42432         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
42433         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
42434         but the n_name member is a 12-byte array.
42435
42436 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
42437
42438         update-copyright: generalize comment handling
42439         * build-aux/update-copyright: Handle copyright statements
42440         within more comment styles.
42441         Document usage.
42442         Report any file with an external copyright holder or parse failure.
42443
42444 2009-07-29  Jim Meyering  <meyering@redhat.com>
42445
42446         mktime: correct setting of REPLACE_MKTIME
42447         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
42448
42449         update-copyright: new module
42450         * modules/update-copyright: New file.
42451         * build-aux/update-copyright: New file.
42452         * MODULES.html.sh (maint+release support): Add update-copyright.
42453
42454 2009-07-27  Bruno Haible  <bruno@clisp.org>
42455
42456         Fix compilation error when <ctime> is used and mktime is replaced.
42457         * lib/time.in.h (mktime): New declaration.
42458         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
42459         REPLACE_MKTIME instead of defining mktime in config.h.
42460         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
42461         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
42462         Reported by Ross McFarland <rwmcfa1@neces.com>.
42463
42464 2009-07-27  Bruno Haible  <bruno@clisp.org>
42465
42466         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
42467         Reported by Matt Kraai <mkraai@beckman.com>.
42468
42469 2009-07-25  Jim Meyering  <meyering@redhat.com>
42470
42471         maint.mk: avoid warnings about missing files
42472         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
42473         diagnostic when .prev-version does not exist.
42474         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
42475         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
42476         nonexistent cfg.mk.
42477         Suggestions from Simon Josefsson.
42478
42479 2009-07-25  Bruno Haible  <bruno@clisp.org>
42480
42481         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
42482         defined as macros. Needed on QNX 6.4.1.
42483         Reported by Matt Kraai <mkraai@beckman.com>.
42484
42485 2009-07-23  Jim Meyering  <meyering@redhat.com>
42486
42487         maint.mk: invoke "make dist" with a working value of XZ_OPT
42488         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
42489
42490 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
42491
42492         Make fseeko.c compile on QNX.
42493         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
42494
42495 2009-07-22  Peter Simons  <simons@cryp.to>
42496
42497         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
42498         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
42499         * lib/md4.h: Likewise.
42500         * lib/md5.h: Likewise.
42501         * lib/sha1.h: Likewise.
42502         * lib/sha256.h: Likewise.
42503         * lib/sha512.h: Likewise.
42504
42505         tests-sha1: don't assign literal string to 'char *' variable
42506         * tests/test-sha1.c (main): Declare locals with "const" to match
42507         attributes of the right hand side.
42508
42509 2009-07-21  Eric Blake  <ebb9@byu.net>
42510
42511         dup2: fix more mingw problems
42512         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
42513         fd to itself.
42514         * doc/posix-functions/dup2.texi (dup2): Document the bug.
42515         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
42516         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
42517         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
42518         care of mingw bugs.
42519
42520 2009-07-21  Jim Meyering  <meyering@redhat.com>
42521
42522         vc-list-files: avoid failure when /bin/sh is dash
42523         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
42524         On some Debian based systems, /bin/sh is a symlink to dash, and running
42525         this command would omit the "/" following each 'tests' prefix:
42526           dash -x build-aux/vc-list-files -C . tests
42527         That is because bash and dash work differently:
42528           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
42529           bash ok
42530           dash odd
42531
42532 2009-07-21  Eric Blake  <ebb9@byu.net>
42533
42534         dup2-tests: test previous patch
42535         * modules/dup2-tests: New file.
42536         * tests/test-dup2.c: Likewise.
42537         * tests/test-open.c (main): Avoid unspecified behavior.
42538         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
42539         test.
42540
42541         dup2: work around mingw and cygwin 1.5 bug
42542         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
42543         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42544         * modules/unistd (Makefile.am): Substitute it.
42545         * lib/unistd.in.h (dup2): Declare the replacement.
42546         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
42547         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
42548         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
42549         * modules/execute (Depends-on): Add dup2.
42550         * modules/fseterr (Depends-on): Likewise.
42551         * modules/pipe (Depends-on): Likewise.
42552         * modules/posix_spawn-internal (Depends-on): Likewise.
42553
42554 2009-07-21  Bruno Haible  <bruno@clisp.org>
42555
42556         * modules/.gitattributes: New file.
42557
42558 2009-07-20  Bruno Haible  <bruno@clisp.org>
42559
42560         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
42561         (main): Use it.
42562
42563 2009-07-20  Eric Blake  <ebb9@byu.net>
42564
42565         test-pipe: make a bit more robust.
42566         * tests/test-pipe.c (myerr): Allow error messages regardless of
42567         what we do to stderr.
42568         (test_pipe): Rearrange to avoid deadlock.
42569         (child_main): Try a larger read, to ensure we avoided deadlock.
42570         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
42571         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
42572         if misused.
42573
42574 2009-07-19  Jim Meyering  <meyering@redhat.com>
42575
42576         fts: avoid false-positive cycle-detection
42577         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
42578         for each new command line argument.
42579
42580 2009-07-19  Bruno Haible  <bruno@clisp.org>
42581
42582         Fix build error on mingw with the modules sys_select and unistd.
42583         * modules/acl-tests (Depends-on): Add close.
42584         * modules/binary-io-tests (Depends-on): Likewise.
42585         * modules/closein-tests (Depends-on): Likewise.
42586         * modules/flock-tests (Depends-on): Likewise.
42587         * modules/fsync-tests (Depends-on): Likewise.
42588         * modules/lseek-tests (Depends-on): Likewise.
42589         * modules/pipe-tests (Depends-on): Likewise.
42590         * modules/posix_spawn-tests (Depends-on): Likewise.
42591         * modules/posix_spawnp-tests (Depends-on): Likewise.
42592         * modules/stat-time-tests (Depends-on): Likewise.
42593         * modules/yesno-tests (Depends-on): Likewise.
42594
42595 2009-07-19  Bruno Haible  <bruno@clisp.org>
42596
42597         Unify conditionals.
42598         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
42599         macros, not at the compiler macros.
42600         * lib/pipe.c: Likewise.
42601         * lib/execute.c: Likewise.
42602         * lib/spawni.c: Likewise.
42603
42604 2009-07-19  Bruno Haible  <bruno@clisp.org>
42605
42606         Fix handling of closed stdin/stdout/stderr on mingw.
42607         * lib/w32spawn.h: Include unistd.h.
42608         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
42609         file descriptor with O_NOINHERIT flag.
42610         (fd_safer_noinherit): New function, based on fd-safer.c.
42611         (dup_safer_noinherit): New function, based on dup-safer.c.
42612         (undup_safer_noinherit): New function.
42613         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
42614         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
42615         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
42616         instead of fd_safer.
42617         * tests/test-pipe.c: Include <windows.h>.
42618         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
42619         result.
42620
42621         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
42622         from main.
42623         (test_pipe): Pass an extra argument for disambiguation.
42624         (main): Invoke parent_main or child_main.
42625
42626         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
42627         consistently.
42628
42629 2009-07-18  Eric Blake  <ebb9@byu.net>
42630
42631         test-pipe: fix mingw build
42632         * tests/test-pipe.c (main): Avoid fcntl on mingw.
42633
42634 2009-07-18  Bruno Haible  <bruno@clisp.org>
42635
42636         * modules/pipe-tests (Makefile.am): Fix typo.
42637
42638 2009-07-18  Eric Blake  <ebb9@byu.net>
42639
42640         error: fix mingw build
42641         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
42642         Reported by Bruno Haible.
42643
42644         error: avoid undefined use of stdout
42645         * lib/error.c (error, error_at_line): Check that fd 1 is open
42646         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
42647         is handling faults and the close_stdout module wants to report the
42648         detection of closed stdout as an error.
42649
42650 2009-07-17  Eric Blake  <ebb9@byu.net>
42651
42652         pipe: be robust in face of closed fds
42653         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
42654         should cause child to misbehave.
42655         * modules/pipe-tests: New module.
42656         * tests/test-pipe.c: New file.
42657         * tests/test-pipe.sh: New file.
42658         Reported by Akim Demaille.
42659
42660 2009-07-14  Bruno Haible  <bruno@clisp.org>
42661
42662         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
42663         Reported by anonymous kc.
42664
42665 2009-07-07  Jim Meyering  <meyering@redhat.com>
42666
42667         maint.mk: don't look for translatable strings in *.m4 or *.mk
42668         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
42669         when searching for translatable strings.
42670
42671 2009-07-05  Jim Meyering  <meyering@redhat.com>
42672
42673         remove superfluous parentheses in STREQ definition
42674         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
42675         * lib/getugroups.c (STREQ): Likewise.
42676         * lib/fnmatch.c (STREQ): Likewise.
42677         Spotted by Bruno Haible.
42678
42679 2009-07-04  Jim Meyering  <meyering@redhat.com>
42680
42681         argv-iter: new module
42682         * MODULES.html.sh: Add argv-iter.
42683         * lib/argv-iter.c, lib/argv-iter.h: New files.
42684         * modules/argv-iter: New file.
42685         * modules/argv-iter-tests: New file.
42686         * tests/test-argv-iter.c: Test it.
42687
42688 2009-07-04  Bruno Haible  <bruno@clisp.org>
42689
42690         Fix assertion.
42691         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
42692         contains more exact copies of a given entry than file2, leave the extra
42693         copies unpaired rather than aborting.
42694         Reported by Eric Blake.
42695
42696 2009-07-02  Bruno Haible  <bruno@clisp.org>
42697
42698         Speedup git-merge-changelog for git cherry-pick.
42699         * lib/git-merge-changelog.c (struct entries_mapping): New type.
42700         (entries_mapping_get): New function, extracted from compute_mapping.
42701         (entries_mapping_reverse_get): New function.
42702         (compute_mapping): Add a 'full' argument. Return the result in a
42703         'struct entries_mapping'.
42704         (main): Update. Access the mappings through entries_mapping_get.
42705         Reported by Eric Blake.
42706
42707 2009-07-02  Bruno Haible  <bruno@clisp.org>
42708
42709         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
42710         best_i.
42711
42712 2009-07-02  Bruno Haible  <bruno@clisp.org>
42713
42714         Speed up approximate search for matching ChangeLog entries.
42715         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
42716         argument. Call fstrcmp_bounded instead of fstrcmp.
42717         (compute_mapping, try_split_merged_entry, main): Update callers.
42718
42719 2009-07-02  Bruno Haible  <bruno@clisp.org>
42720
42721         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
42722
42723 2009-06-30  Bruno Haible  <bruno@clisp.org>
42724
42725         Reduce the number of uc_is_cased calls.
42726         * lib/unicase.h (casing_suffix_context_t): Add
42727         'first_char_except_ignorable' field.
42728         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
42729         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
42730         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
42731         Update initializer.
42732         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
42733         case-ignorable characters.
42734         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
42735         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
42736         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
42737         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
42738         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
42739
42740 2009-06-30  Bruno Haible  <bruno@clisp.org>
42741
42742         Tests for module 'unicase/ignorable'.
42743         * modules/unicase/ignorable-tests: New file.
42744         * tests/unicase/test-ignorable.c: New file, generated by
42745         gen-uni-tables.
42746
42747         Tests for module 'unicase/cased'.
42748         * modules/unicase/cased-tests: New file.
42749         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
42750         * tests/unicase/test-predicate-part1.h: New file, derived from
42751         tests/unictype/test-predicate-part1.h.
42752         * tests/unicase/test-predicate-part2.h: New file, same as
42753         tests/unictype/test-predicate-part2.h.
42754
42755         Fix evaluation of "Before C" condition of FINAL_SIGMA.
42756         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
42757         (output_casing_properties): New function.
42758         (main): Call it.
42759         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
42760         * lib/unicase/cased.c: Include unictype/bitmap.h.
42761         (uc_is_cased): Define through a bitmap lookup.
42762         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
42763         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
42764         (uc_is_case_ignorable): Define through a bitmap lookup.
42765         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
42766         lib/unictype/bitmap.h.
42767         (Depends-on): Add inline. Clean up.
42768         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
42769         lib/unictype/bitmap.h.
42770         (Depends-on): Add inline. Clean up.
42771         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
42772         recognition.
42773         * tests/unicase/test-u16-tolower.c (main): Likewise.
42774         * tests/unicase/test-u32-tolower.c (main): Likewise.
42775
42776 2009-06-30  Bruno Haible  <bruno@clisp.org>
42777
42778         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
42779         * lib/unicase/u16-casemap.c: Likewise.
42780         * lib/unicase/u32-casemap.c: Likewise.
42781
42782 2009-06-29  Bruno Haible  <bruno@clisp.org>
42783
42784         Define u32_casefold as a wrapper around u32_ct_casefold.
42785         * lib/unicase/u32-casefold.c: Update.
42786         * modules/unicase/u32-casefold (Depends-on): Add
42787         unicase/u32-ct-casefold, unicase/empty-prefix-context,
42788         unicase/empty-suffix-context. Clean up.
42789
42790         Define u16_casefold as a wrapper around u16_ct_casefold.
42791         * lib/unicase/u16-casefold.c: Update.
42792         * modules/unicase/u16-casefold (Depends-on): Add
42793         unicase/u16-ct-casefold, unicase/empty-prefix-context,
42794         unicase/empty-suffix-context. Clean up.
42795
42796         Define u8_casefold as a wrapper around u8_ct_casefold.
42797         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
42798         * lib/unicase/u8-casefold.c: Update.
42799         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
42800         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42801
42802         Define u32_totitle as a wrapper around u32_ct_totitle.
42803         * lib/unicase/u32-totitle.c: Update.
42804         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
42805         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42806
42807         Define u16_totitle as a wrapper around u16_ct_totitle.
42808         * lib/unicase/u16-totitle.c: Update.
42809         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
42810         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42811
42812         Define u8_totitle as a wrapper around u8_ct_totitle.
42813         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
42814         functions.
42815         (FUNC): Delegate to U_CT_TOTITLE.
42816         * lib/unicase/u8-totitle.c: Update.
42817         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
42818         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42819
42820         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
42821         invocation.
42822         * modules/unicase/u32-tolower (Depends-on): Add
42823         unicase/empty-prefix-context, unicase/empty-suffix-context.
42824
42825         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
42826         invocation.
42827         * modules/unicase/u16-tolower (Depends-on): Add
42828         unicase/empty-prefix-context, unicase/empty-suffix-context.
42829
42830         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
42831         * modules/unicase/u8-tolower (Depends-on): Add
42832         unicase/empty-prefix-context, unicase/empty-suffix-context.
42833
42834         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
42835         invocation.
42836         * modules/unicase/u32-toupper (Depends-on): Add
42837         unicase/empty-prefix-context, unicase/empty-suffix-context.
42838
42839         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
42840         invocation.
42841         * modules/unicase/u16-toupper (Depends-on): Add
42842         unicase/empty-prefix-context, unicase/empty-suffix-context.
42843
42844         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
42845         * modules/unicase/u8-toupper (Depends-on): Add
42846         unicase/empty-prefix-context, unicase/empty-suffix-context.
42847
42848         New module 'unicase/u32-ct-casefold'.
42849         * lib/unicase/u32-ct-casefold.c: New file.
42850         * modules/unicase/u32-ct-casefold: New file.
42851
42852         New module 'unicase/u16-ct-casefold'.
42853         * lib/unicase/u16-ct-casefold.c: New file.
42854         * modules/unicase/u16-ct-casefold: New file.
42855
42856         New module 'unicase/u8-ct-casefold'.
42857         * lib/unicase/u8-ct-casefold.c: New file.
42858         * lib/unicase/u-ct-casefold.h: New file, derived from
42859         lib/unicase/u-casefold.h.
42860         * modules/unicase/u8-ct-casefold: New file.
42861
42862         New module 'unicase/u32-ct-totitle'.
42863         * lib/unicase/u32-ct-totitle.c: New file.
42864         * modules/unicase/u32-ct-totitle: New file.
42865
42866         New module 'unicase/u16-ct-totitle'.
42867         * lib/unicase/u16-ct-totitle.c: New file.
42868         * modules/unicase/u16-ct-totitle: New file.
42869
42870         New module 'unicase/u8-ct-totitle'.
42871         * lib/unicase/u8-ct-totitle.c: New file.
42872         * lib/unicase/u-ct-totitle.h: New file, derived from
42873         lib/unicase/u-totitle.h.
42874         * modules/unicase/u8-ct-totitle: New file.
42875
42876         New module 'unicase/u32-ct-tolower'.
42877         * lib/unicase/u32-ct-tolower.c: New file.
42878         * modules/unicase/u32-ct-tolower: New file.
42879
42880         New module 'unicase/u16-ct-tolower'.
42881         * lib/unicase/u16-ct-tolower.c: New file.
42882         * modules/unicase/u16-ct-tolower: New file.
42883
42884         New module 'unicase/u8-ct-tolower'.
42885         * lib/unicase/u8-ct-tolower.c: New file.
42886         * modules/unicase/u8-ct-tolower: New file.
42887
42888         New module 'unicase/u32-ct-toupper'.
42889         * lib/unicase/u32-ct-toupper.c: New file.
42890         * modules/unicase/u32-ct-toupper: New file.
42891
42892         New module 'unicase/u16-ct-toupper'.
42893         * lib/unicase/u16-ct-toupper.c: New file.
42894         * modules/unicase/u16-ct-toupper: New file.
42895
42896         New module 'unicase/u8-ct-toupper'.
42897         * lib/unicase/u8-ct-toupper.c: New file.
42898         * modules/unicase/u8-ct-toupper: New file.
42899
42900         Add context arguments to u*_casemap functions.
42901         * lib/unicase/unicasemap.h: Include unicase.h.
42902         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
42903         suffix_context arguments.
42904         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
42905         functions.
42906         (FUNC): Add prefix_context and suffix_context arguments. Use
42907         uc_is_cased and uc_is_case_ignorable.
42908         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
42909         * lib/unicase/u16-casemap.c: Likewise.
42910         * lib/unicase/u32-casemap.c: Likewise.
42911         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
42912         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42913         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
42914         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42915         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
42916         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42917
42918         New module 'unicase/u32-suffix-context'.
42919         * lib/unicase/u32-suffix-context.c: New file.
42920         * modules/unicase/u32-suffix-context: New file.
42921
42922         New module 'unicase/u16-suffix-context'.
42923         * lib/unicase/u16-suffix-context.c: New file.
42924         * modules/unicase/u16-suffix-context: New file.
42925
42926         New module 'unicase/u8-suffix-context'.
42927         * lib/unicase/u8-suffix-context.c: New file.
42928         * lib/unicase/u-suffix-context.h: New file.
42929         * modules/unicase/u8-suffix-context: New file.
42930
42931         New module 'unicase/empty-suffix-context'.
42932         * lib/unicase/empty-suffix-context.c: New file.
42933         * modules/unicase/empty-suffix-context: New file.
42934
42935         New module 'unicase/u32-prefix-context'.
42936         * lib/unicase/u32-prefix-context.c: New file.
42937         * modules/unicase/u32-prefix-context: New file.
42938
42939         New module 'unicase/u16-prefix-context'.
42940         * lib/unicase/u16-prefix-context.c: New file.
42941         * modules/unicase/u16-prefix-context: New file.
42942
42943         New module 'unicase/u8-prefix-context'.
42944         * lib/unicase/u8-prefix-context.c: New file.
42945         * lib/unicase/u-prefix-context.h: New file.
42946         * lib/unicase/context.h: New file.
42947         * modules/unicase/u8-prefix-context: New file.
42948
42949         New module 'unicase/empty-prefix-context'.
42950         * lib/unicase/empty-prefix-context.c: New file.
42951         * modules/unicase/empty-prefix-context: New file.
42952
42953         New module 'unicase/ignorable'.
42954         * lib/unicase/ignorable.c: New file.
42955         * modules/unicase/ignorable: New file.
42956
42957         New module 'unicase/cased'.
42958         * lib/unicase/caseprop.h: New file.
42959         * lib/unicase/cased.c: New file.
42960         * modules/unicase/cased: New file.
42961
42962         New functions for case mapping of substrings.
42963         * lib/unicase.h (casing_prefix_context_t): New type.
42964         (unicase_empty_prefix_context): New variable.
42965         (u8_casing_prefix_context, u16_casing_prefix_context,
42966         u32_casing_prefix_context, u8_casing_prefixes_context,
42967         u16_casing_prefixes_context, u32_casing_prefixes_context): New
42968         declarations.
42969         (casing_suffix_context_t): New type.
42970         (unicase_empty_suffix_context): New variable.
42971         (u8_casing_suffix_context, u16_casing_suffix_context,
42972         u32_casing_suffix_context, u8_casing_suffixes_context,
42973         u16_casing_suffixes_context, u32_casing_suffixes_context,
42974         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
42975         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
42976         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
42977         declarations.
42978
42979 2009-06-28  Jim Meyering  <meyering@redhat.com>
42980
42981         boostrap: indent only with spaces
42982         * build-aux/bootstrap: Indent only with spaces, never TABs.
42983
42984         bootstrap: split long lines
42985         * build-aux/bootstrap: Keep line length < 80.
42986
42987         bootstrap: sync from coreutils
42988         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
42989         just as autoreconf does.  Verify a list of prerequisite
42990         package-name,version-number pairs if defined in bootstrap.conf.
42991         Refer to README-prereq, if prerequisites are not satisfied.
42992
42993 2009-06-27  Eric Blake  <ebb9@byu.net>
42994
42995         tests: add test for bogus NULL definition
42996         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
42997         * tests/test-stdlib.c: Likewise.
42998         * tests/test-string.c: Likewise.
42999         * tests/test-locale.c: Likewise.
43000         * tests/test-unistd.c: Likewise.
43001         * modules/stdio-tests (Depends-on): Add verify.
43002         * modules/stdlib-tests (Depends-on): Likewise.
43003         * modules/string-tests (Depends-on): Likewise.
43004         * modules/locale-tests (Depends-on): Likewise.
43005         * modules/unistd-tests (Depends-on): Likewise.
43006
43007 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
43008
43009         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
43010         self-explaining comment.
43011         * m4/selinux-selinux-h: Update serial.
43012         (gl_LIBSELINUX): New macro, adding a warning for missing development
43013         packages to code extracted from...
43014         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
43015         Add warning for missing development packages here, too.
43016
43017 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
43018
43019         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
43020
43021 2009-06-25  Eric Blake  <ebb9@byu.net>
43022
43023         version-etc: fix regression
43024         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
43025         gcc.
43026         (version_etc): Use it, to catch bugs with trailing NULL.
43027         * lib/version-etc.c (version_etc_arn): Delete unused argument.
43028         (version_etc_va): Fix logic bug.
43029         * modules/version-etc-tests: Add test.
43030         * tests/test-version-etc.c: New file.
43031         * tests/test-version-etc.sh: Likewise.
43032
43033 2009-06-25  Sam Steingold  <sds@gnu.org>
43034
43035         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
43036         mbtowc declaration.
43037
43038 2009-06-25  Eric Blake  <ebb9@byu.net>
43039
43040         fpurge: migrate into <stdio.h>
43041         * lib/fpurge.h: Delete...
43042         * lib/stdio.in.h (fpurge): ...and declare here, instead.
43043         * lib/fpurge.c (fpurge): Change declaring header.
43044         * modules/fpurge (Files): Drop deleted file.
43045         (Depends-on): Add stdio.
43046         (configure.ac): Set witness.
43047         * modules/stdio (Makefile.am): Support fpurge macros.
43048         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
43049         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
43050         * lib/fflush.c: Update client.
43051         * tests/test-fpurge.c: Likewise.
43052         * NEWS: Mention the change.
43053
43054 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43055
43056         * lib/argp-version-etc.c (program_authors): Add const
43057         qualifier.
43058         * lib/version-etc.c: Fix typos in the comments.
43059         * modules/argp-version-etc: Depends on version-etc.
43060
43061 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43062
43063         argp-version-etc: new module.
43064
43065         * lib/argp-version-etc.c: New file.
43066         * lib/argp-version-etc.h: New file.
43067         * modules/argp-version-etc: New file.
43068         * modules/argp-version-etc-tests: New file.
43069         * tests/test-argp-version-etc.c: New test.
43070         * tests/test-argp-version-etc-1.sh: New test.
43071
43072 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43073
43074         Provide additional interfaces and documentation for version-etc
43075         module.
43076
43077         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
43078         interfaces.
43079         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
43080         prototypes.
43081
43082 2009-06-24  Bruno Haible  <bruno@clisp.org>
43083
43084         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
43085         HAVE_LIB${NAME} macro.
43086         Reported by Sam Steingold <sds@gnu.org>.
43087
43088 2009-06-23  Simon Josefsson  <simon@josefsson.org>
43089
43090         * modules/hash-tests (test_hash_LDADD): Link to libintl when
43091         needed.
43092
43093 2009-06-21  Bruno Haible  <bruno@clisp.org>
43094
43095         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
43096         work.
43097         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
43098         together with LIB${NAME}, LTLIB${NAME}.
43099         Reported by Sam Steingold <sds@gnu.org>.
43100
43101 2009-06-20  Jim Meyering  <meyering@redhat.com>
43102
43103         tests: make sc_require_test_exit_idiom more generic
43104         * top/maint.mk (Exit_witness_file): New overridable variable.
43105         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
43106         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
43107
43108 2009-06-19  Jim Meyering  <meyering@redhat.com>
43109
43110         hash: reverse order of src/dst parameters in an internal interface
43111         * lib/hash.c (transfer_entries): Reverse order of parameters to
43112         put DST before SRC.  Adjust callers.
43113
43114         tests: test-hash: avoid wholesale duplication
43115         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
43116         Instead, use a loop and add a single conditional.
43117
43118         tests: test-hash: allow seed selection via a command line argument
43119         * tests/test-hash.c (get_seed): New function.
43120         (main): Use it.
43121
43122 2009-06-19  Eric Blake  <ebb9@byu.net>
43123
43124         hash: avoid memory leak on allocation failure
43125         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
43126         failure.  Factor repeated algorithm...
43127         (transfer_entries): ...into new helper routine.
43128         (hash_delete): React to hash_rehash return value.
43129
43130         hash: reduce memory pressure in hash_rehash no-op case
43131         * lib/hash.c (next_prime): Avoid overflow.
43132         (hash_initialize): Factor bucket size computation...
43133         (compute_bucket_size): ...into new helper function.
43134         (hash_rehash): Use new function and open coding to reduce memory
43135         pressure, and avoid a memory leak in USE_OBSTACK code.
43136         Reported by Jim Meyering.
43137
43138 2009-06-18  Eric Blake  <ebb9@byu.net>
43139
43140         hash: make rotation more obvious
43141         * modules/hash (Depends-on): Add bitrotate and stdint.
43142         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
43143         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
43144         (SIZE_MAX): Rely on headers for definition.
43145         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
43146         (raw_hasher): Use rotr_sz.
43147         Suggested by Jim Meyering.
43148
43149         hash: fix memory leak in last patch
43150         * lib/hash.c (hash_rehash): Avoid memory leak.
43151
43152         hash: avoid no-op rehashing
43153         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
43154
43155         hash: provide default callback functions
43156         * lib/hash.c (raw_hasher, raw_comparator): New functions.
43157         (hash_initialize): Use them as defaults.
43158         * tests/test-hash.c (main): Test this.
43159
43160         hash: minor optimization
43161         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
43162         when possible.
43163         (hash_initialize): Document this promise.
43164         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
43165         * tests/test-hash.c (hash_compare_strings): Test this.
43166
43167 2009-06-18  Bruno Haible  <bruno@clisp.org>
43168
43169         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
43170         going to be replaced anyway.
43171
43172 2009-06-18  Bruno Haible  <bruno@clisp.org>
43173
43174         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
43175         in one place.
43176         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
43177         be replaced anyway.
43178
43179 2009-06-18  Eric Blake  <ebb9@byu.net>
43180
43181         hash: check for resize before insertion
43182         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
43183         threshold before insertion, so that a pathological hash_rehash
43184         that fills every bucket can still trigger another rehash.
43185
43186 2009-06-18  Jim Meyering  <meyering@redhat.com>
43187
43188         hash-tests: add a loop around the small tests
43189         * tests/test-hash.c (main): Repeat small tests with selected
43190         small initial table sizes.
43191
43192 2009-06-17  Eric Blake  <ebb9@byu.net>
43193
43194         hash: minor cleanups
43195         * lib/hash.h (hash_entry): Make opaque, by moving...
43196         * lib/hash.c (hash_entry): ...here.
43197         (hash_insert): Clarify restrictions on what can be inserted.
43198         (hash_get_next): Clarify when it is safe to remove an element
43199         during traversal.
43200         (check_tuning): Skip verification when tuning is known safe.
43201         (hash_initialize): Clarify restrictions on tuning.
43202
43203 2009-06-17  Jim Meyering  <jim@meyering.net>
43204         and Eric Blake  <ebb9@byu.net>
43205
43206         hash-tests: new module
43207         * modules/hash-tests: New file.
43208         * tests/test-hash.c: New file.
43209
43210 2009-06-17  Eric Blake  <ebb9@byu.net>
43211
43212         strstr-simple: document new module
43213         * MODULES.html.sh: Document new module.
43214
43215         strstr, strcasestr: replace on platforms with broken memchr
43216         * modules/strstr: Split into...
43217         * modules/strstr-simple: ...new module that does not care about
43218         performance, but does care about glibc bug.
43219         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
43220         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
43221         if platform memchr is broken, per Debian bug 521737.
43222         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
43223         memchr.
43224         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
43225         * doc/posix-functions/strstr.texi (strstr): Document the fix.
43226         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
43227         * modules/mountlist (Depends-on): Add strstr-simple.
43228         * modules/gen-uni-tables (Depends-on): Likewise.
43229         * modules/argz (Depends-on): Add strstr.
43230
43231 2009-06-17  Bruno Haible  <bruno@clisp.org>
43232
43233         * modules/posix_spawn-internal (Depends-on): Add errno.
43234
43235 2009-06-17  Bruno Haible  <bruno@clisp.org>
43236
43237         Define missing ESTALE on Interix 3.5.
43238         * lib/errno.in.h (ESTALE): Assign a value if missing.
43239         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
43240         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
43241         missing.
43242         * doc/posix-headers/errno.texi: Mention the Interix bug.
43243         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
43244
43245 2009-06-15  Eric Blake  <ebb9@byu.net>
43246
43247         memchr, memchr2: add valgrind exception
43248         * lib/memchr.valgrind: New file.
43249         * lib/memchr2.valgrind: New file.
43250         * modules/memchr (Files): Distribute valgrind file.
43251         * modules/memchr2 (Files): Likewise.
43252
43253         docs: memchr is no longer obsolete
43254         * MODULES.html.sh: Move memchr from obsolete to string.h section.
43255         * lib/string.in.h (memchr): Simplify logic.
43256
43257 2009-06-14  Jim Meyering  <meyering@redhat.com>
43258
43259         link-follow: fix the "checking..." message to not mention trailing slash
43260         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
43261         never considered trailing slashes.
43262
43263 2009-06-14  Bruno Haible  <bruno@clisp.org>
43264
43265         * m4/memchr.m4: Mention also the bug on IA-64.
43266         * doc/posix-functions/memchr.texi: Likewise.
43267
43268 2009-06-12  Eric Blake  <ebb9@byu.net>
43269
43270         memchr: detect broken x86_64 and alpha implementations
43271         * modules/memchr-tests (Depends-on): Move mmap detection...
43272         * modules/memchr (Depends-on): ...here.
43273         (configure.ac): Set indicator.
43274         * lib/string.in.h (memchr): Declare replacement.
43275         * modules/string (Makefile.am): Trigger replacement.
43276         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
43277         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
43278         bugs.
43279         * doc/posix-functions/memchr.texi (memchr): Document the bug.
43280         * modules/getpagesize (License): Relax license.
43281
43282 2009-06-11  Bruno Haible  <bruno@clisp.org>
43283
43284         * lib/idpriv.h: Add more references.
43285
43286 2009-06-08  Bruno Haible  <bruno@clisp.org>
43287
43288         Tests for module 'idpriv-droptemp'.
43289         * modules/idpriv-droptemp-tests: New file.
43290         * tests/test-idpriv-droptemp.sh: New file.
43291         * tests/test-idpriv-droptemp.su.sh: New file.
43292         * tests/test-idpriv-droptemp.c: New file.
43293
43294         New module 'idpriv-droptemp'.
43295         * lib/idpriv-droptemp.c: New file.
43296         * modules/idpriv-droptemp: New file.
43297
43298 2009-06-08  Bruno Haible  <bruno@clisp.org>
43299
43300         Tests for module 'idpriv-drop'.
43301         * modules/idpriv-drop-tests: New file.
43302         * tests/test-idpriv-drop.sh: New file.
43303         * tests/test-idpriv-drop.su.sh: New file.
43304         * tests/test-idpriv-drop.c: New file.
43305
43306         New module 'idpriv-drop'.
43307         * lib/idpriv.h: New file.
43308         * lib-idpriv-drop.c: New file.
43309         * m4/idpriv.m4: New file.
43310         * modules/idpriv-drop: New file.
43311
43312 2009-06-08  Bruno Haible  <bruno@clisp.org>
43313
43314         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
43315         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
43316         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
43317         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
43318         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
43319         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
43320         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
43321
43322 2009-06-08  Eric Blake  <ebb9@byu.net>
43323
43324         test-strstr: use memory fence, when possible
43325         * tests/test-strstr.c (main): Use memory fence, in order to be
43326         more likely to trigger Debian bug 521737.
43327         * modules/strstr-tests (Files): Pull in additional files.
43328
43329         memchr: no longer obsolete, for wider field testing
43330         * modules/memchr (Status, Notice): Delete, this module is no
43331         longer obsolete.
43332         * modules/vasnprintf (Depends-on): Add memchr.
43333
43334 2009-06-07  Jim Meyering  <meyering@redhat.com>
43335
43336         hash: declare some functions with the warn_unused_result attribute
43337         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
43338
43339 2009-06-07  Bruno Haible  <bruno@clisp.org>
43340
43341         * tests/test-alignof.c: Don't test int64_t if it does not exist.
43342         Reported by Eric Blake.
43343
43344 2009-06-06  Eric Blake  <ebb9@byu.net>
43345
43346         test-alignof: fix typo with long double
43347         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
43348         compiler error.
43349
43350 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
43351
43352         Escape non-texinfo { and }s.
43353         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
43354         markup error.
43355
43356 2009-06-04  Jim Meyering  <meyering@redhat.com>
43357
43358         gitlog-to-changelog: don't infloop on an empty commit log
43359         * build-aux/gitlog-to-changelog: Warn about an empty log message.
43360         Reported by Boris Petersen <transacid@centerim.org>.
43361
43362 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
43363
43364         version-etc: extend for packagers
43365         Add three new configure options, intended for packagers:
43366           --with-packager="packager name"
43367           --with-packager-version="packager-specific version"
43368           --with-packager-bug-reports="packager bug reporting"
43369         An example with coreutils:
43370           $ ./configure \
43371             --with-packager=Gentoo \
43372             --with-packager-bug-report=http://bugs.gentoo.org/ \
43373             --with-packager-version="patchset 1.6"
43374           $ ./src/ls --version | head -n2
43375           ls (GNU coreutils) 7.1-dirty
43376           Packaged by Gentoo (patchset 1.6)
43377         Note that the bug reporting info via --help doesn't show up because
43378         coreutils uses its own custom emit_bug_reporting_address() implementation
43379         in src/system.h.  If it didn't, it'd look like:
43380           $ ./src/ls --help | tail -n4
43381           Report bugs to <bug-coreutils@gnu.org>.
43382           Report Gentoo bugs to <http://bugs.gentoo.org/>.
43383           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
43384           General help using GNU software: <http://www.gnu.org/gethelp/>.
43385         * lib/version-etc.c: Print new information, if provided.
43386         * m4/version-etc.m4: New file.
43387         * modules/version-etc (Files): Add m4/version-etc.m4.
43388         (configure.ac): Add gl_VERSION_ETC.
43389
43390 2009-05-31  Bruno Haible  <bruno@clisp.org>
43391
43392         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
43393         and 'int64_t'.
43394         * modules/alignof-tests (Dependencies): Add stdint.
43395         Reported by Eric Blake.
43396
43397 2009-05-31  Bruno Haible  <bruno@clisp.org>
43398
43399         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
43400         restriction due to compiler bugs.
43401         Reported by Eric Blake.
43402
43403 2009-05-31  Simon Josefsson  <simon@josefsson.org>
43404             Bruno Haible  <bruno@clisp.org>
43405
43406         Fix test-alignof failure.
43407         * lib/alignof.h (alignof_slot): New macro.
43408         (alignof_type): New macro, with the same semantics as the previous
43409         'alignof'.
43410         (alignof): Alias to alignof_slot.
43411         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
43412         check that the results are usable as constant expressions.
43413
43414 2009-05-31  Bruno Haible  <bruno@clisp.org>
43415
43416         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
43417         * tests/test-memchr.c (main): Check that memchr does not read past the
43418         first occurrence of the byte.
43419         * tests/test-strstr.c (main): Update comment.
43420         Suggested by Eric Blake.
43421
43422 2009-05-30  Bruno Haible  <bruno@clisp.org>
43423
43424         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
43425         detail how to use dumpbin.
43426         Reported by David Byron <dbyron@dbyron.com>.
43427
43428 2009-06-02  Simon Josefsson  <simon@josefsson.org>
43429
43430         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
43431
43432 2009-06-02  Simon Josefsson  <simon@josefsson.org>
43433
43434         * m4/manywarnings.m4: Add GCC 4.4 warnings.
43435
43436 2009-05-28  Bruno Haible  <bruno@clisp.org>
43437
43438         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
43439         build-aux/ files.
43440
43441 2009-05-28  Simon Josefsson  <simon@josefsson.org>
43442
43443         * gnulib-tool (func_import): Transform license on build-aux/ files too.
43444
43445 2009-05-27  Simon Josefsson  <simon@josefsson.org>
43446
43447         * gnulib-tool (sed_transform_main_lib_file)
43448         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
43449         regexps.
43450
43451 2009-05-26  Simon Josefsson  <simon@josefsson.org>
43452
43453         * tests/test-strstr.c: Add another self-test.
43454         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
43455         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
43456
43457 2009-05-23  Bruno Haible  <bruno@clisp.org>
43458
43459         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
43460         change.
43461
43462 2009-05-21  Bruno Haible  <bruno@clisp.org>
43463
43464         Simplify use of mode_t varargs.
43465         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
43466         uses 'mode_t' or 'int'.
43467         * lib/openat.c (openat): Likewise.
43468         * lib/open-safer.c (open_safer): Likewise.
43469         * m4/mode_t.m4: New file.
43470         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
43471         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
43472         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
43473         * modules/open (Files): Add m4/mode_t.m4.
43474         * modules/openat (Files): Likewise.
43475         * modules/fcntl-safer (Files): Likewise.
43476         Suggested by Eric Blake.
43477
43478 2009-05-21  Pádraig Brady  <P@draigbrady.com>
43479
43480         * doc/glibc-functions/fallocate.texi: New file.
43481         * doc/gnulib.texi: Include it.
43482
43483 2009-05-21  Eric Blake  <ebb9@byu.net>
43484             Bruno Haible  <bruno@clisp.org>
43485
43486         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
43487         invocations.
43488         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
43489
43490 2009-05-21  Eric Blake  <ebb9@byu.net>
43491             Bruno Haible  <bruno@clisp.org>
43492
43493         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
43494         include_next. Fix of 2008-11-20 commit.
43495         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
43496         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
43497         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
43498         NEXT_MATH_H.
43499         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
43500         instead of NEXT_MATH_H.
43501
43502 2009-05-21  Bruno Haible  <bruno@clisp.org>
43503
43504         Avoid redefinition warnings for SIZE_MAX.
43505         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
43506         Reported by Simon Josefsson.
43507
43508 2009-05-21  Bruno Haible  <bruno@clisp.org>
43509
43510         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
43511         AC_CACHE_VAL.
43512
43513 2009-05-20  Bruno Haible  <bruno@clisp.org>
43514
43515         Make zeroptr.h work on mingw.
43516         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
43517         mprotect.
43518         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
43519         * modules/memchr2-tests (configure.ac): Likewise.
43520         * modules/memcmp-tests (configure.ac): Likewise.
43521         * modules/memmem-tests (configure.ac): Likewise.
43522         * modules/memrchr-tests (configure.ac): Likewise.
43523         Reported by Simon Josefsson.
43524
43525 2009-05-20  Simon Josefsson  <simon@josefsson.org>
43526
43527         * tests/test-glob.c: Include string.h for strcmp prototype.
43528
43529 2009-05-20  Simon Josefsson  <simon@josefsson.org>
43530
43531         * modules/getdelim (Depends-on): Add explicit stdint, although it
43532         was implicitly already pulled in via realloc-posix.
43533         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
43534
43535 2009-05-20  Simon Josefsson  <simon@josefsson.org>
43536
43537         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
43538         G. Christensen" <tgc@jupiterrise.com>.
43539         * m4/sys_socket_h.m4: Check for sa_family_t.
43540         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
43541         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
43542         * tests/test-sys_socket.c: Check that sa_family_t works.
43543
43544 2009-05-18  Eric Blake  <ebb9@byu.net>
43545
43546         maint.mk: allow gnulib_dir in VPATH build
43547         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
43548
43549 2009-05-15  Jim Meyering  <meyering@redhat.com>
43550
43551         maint.mk: Give gnulib_dir a default definition.
43552         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
43553         Thus, most packages no longer need to specify this variable in cfg.mk
43554
43555 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
43556
43557         rename.m4: fix typos that would make non-mingw cross-configure fail
43558         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
43559
43560 2009-05-13  Eric Blake  <ebb9@byu.net>
43561
43562         mmap-anon: avoid out-of-order autoconf expansion
43563         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
43564         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
43565         * modules/memchr-tests (Depends-on): Add extensions.
43566         * modules/memchr2-tests (Depends-on): Add extensions.
43567         * modules/memcmp-tests (Depends-on): Add extensions.
43568         * modules/memmem-tests (Depends-on): Add extensions.
43569         * modules/memrchr-tests (Depends-on): Add extensions.
43570
43571 2009-05-13  Bruno Haible  <bruno@clisp.org>
43572
43573         Make some tests ISO C 99 compliant.
43574         * tests/zerosize-ptr.h: New file.
43575         * tests/test-memchr.c: Include zerosize-ptr.h.
43576         (main): Use a zero-size object pointer instead of NULL.
43577         * tests/test-memchr2.c: Include zerosize-ptr.h.
43578         (main): Use a zero-size object pointer instead of NULL.
43579         * tests/test-memcmp.c: Include zerosize-ptr.h.
43580         (main): Use a zero-size object pointer instead of NULL.
43581         * tests/test-memmem.c: Include zerosize-ptr.h.
43582         (main): Use a zero-size object pointer instead of NULL.
43583         * tests/test-memrchr.c: Include zerosize-ptr.h.
43584         (main): Use a zero-size object pointer instead of NULL.
43585         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
43586         m4/mmap-anon.m4.
43587         (Depends-on): Add getpagesize.
43588         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43589         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
43590         m4/mmap-anon.m4.
43591         (Depends-on): Add getpagesize.
43592         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43593         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
43594         m4/mmap-anon.m4.
43595         (Depends-on): Add getpagesize.
43596         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43597         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
43598         m4/mmap-anon.m4.
43599         (Depends-on): Add getpagesize.
43600         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43601         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
43602         m4/mmap-anon.m4.
43603         (Depends-on): Add getpagesize.
43604         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43605
43606 2009-05-12  Bruno Haible  <bruno@clisp.org>
43607
43608         Tests for module 'alignof'.
43609         * modules/alignof-tests: New file.
43610         * tests/test-alignof.c: New file.
43611
43612 2009-05-12  Bruno Haible  <bruno@clisp.org>
43613
43614         Fix alignof macro.
43615         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
43616         vendor compilers that are always correct.
43617
43618 2009-05-12  Bruno Haible  <bruno@clisp.org>
43619
43620         Make the MAP_ANONYMOUS detection work on HP-UX 11.
43621         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
43622         not whether its fully works.
43623
43624 2009-05-12  Bruno Haible  <bruno@clisp.org>
43625
43626         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
43627
43628 2009-05-12  Jim Meyering  <meyering@redhat.com>
43629
43630         * top/maint.mk: Adjust backslash alignment.
43631
43632 2009-05-11  Simon Josefsson  <simon@josefsson.org>
43633
43634         * top/maint.mk: Make $(srcdir)/build-aux configurable.
43635
43636 2009-05-11  Eric Blake  <ebb9@byu.net>
43637
43638         argp: avoid undefined behavior
43639         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
43640         macros.
43641
43642 2009-05-08  Simon Josefsson  <simon@josefsson.org>
43643
43644         * tests/test-vc-list-files-git.sh: Do git config of user.email and
43645         user.name to prevent git commit from complaining.
43646
43647 2009-05-10  Bruno Haible  <bruno@clisp.org>
43648
43649         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
43650         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
43651         it rewrites every file name only once.
43652         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
43653
43654 2009-05-08  Bruno Haible  <bruno@clisp.org>
43655
43656         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
43657         instead of 'max'.
43658
43659 2009-05-08  Simon Josefsson  <simon@josefsson.org>
43660
43661         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
43662         sockaddr_storage test.
43663
43664 2009-05-07  Simon Josefsson  <simon@josefsson.org>
43665
43666         * modules/sys_socket (Makefile.am): Substitute
43667         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
43668         * m4/sys_socket_h.m4: Check for sockaddr_storage.
43669         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
43670         * tests/test-sys_socket.c: Check sockaddr_storage.
43671
43672 2009-05-08  Bruno Haible  <bruno@clisp.org>
43673
43674         New module 'alignof'.
43675         * lib/alignof.h: New file.
43676         * modules/alignof: New file.
43677
43678 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43679             Bruno Haible  <bruno@clisp.org>
43680
43681         Fix test-file-has-acl on FreeBSD.
43682         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
43683         mask is implicitly added.
43684         * tests/test-file-has-acl.c: Include <signal.h>.
43685         (main): Terminate the test after 5 seconds.
43686         * modules/acl-tests (configure.ac): Check for alarm function.
43687
43688 2009-05-04  Bruno Haible  <bruno@clisp.org>
43689
43690         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
43691         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
43692         * modules/errno (configure.ac): Drop AC_REQUIRE.
43693         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
43694         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
43695
43696 2009-05-04  Simon Josefsson  <simon@josefsson.org>
43697
43698         * modules/glob-tests: New module.
43699         * tests/test-glob.c: Add.
43700
43701 2009-05-04  Simon Josefsson  <simon@josefsson.org>
43702
43703         * modules/fnmatch-tests: New module.
43704         * tests/test-fnmatch.c: Add.
43705
43706 2009-05-04  Eric Blake  <ebb9@byu.net>
43707
43708         maint: make the new no-submodule-changes rule VPATH-safe
43709         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
43710
43711 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43712             Bruno Haible  <bruno@clisp.org>
43713
43714         acl: Fix infinite loop on FreeBSD.
43715         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
43716         of return value from acl_get_entry.
43717         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
43718         Likewise.
43719
43720 2009-05-03  Bruno Haible  <bruno@clisp.org>
43721
43722         * lib/acl-internal.h (acl_entries): Clarify return value.
43723         * lib/acl_entries.c (acl_entries): Likewise.
43724
43725 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43726
43727         Bug fix in acl module.
43728         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
43729
43730 2009-05-03  Bruno Haible  <bruno@clisp.org>
43731
43732         Create gperf-generated file in the source dir, not in the build dir.
43733         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
43734         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
43735         * modules/unicase/locale-language (unicase/locale-languages.h):
43736         Likewise.
43737         * modules/unicase/special-casing (unicase/special-casing-table.h):
43738         Likewise.
43739         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
43740         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
43741         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
43742         Reported by Ralf Wildenhues.
43743
43744 2009-05-03  Bruno Haible  <bruno@clisp.org>
43745
43746         * modules/fnmatch (Description, configure.ac): Taken from
43747         fnmatch-posix.
43748         * modules/fnmatch-posix: Turn into a symbolic reference to the
43749         'fnmatch' module, and deprecate.
43750         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
43751
43752 2009-05-03  Bruno Haible  <bruno@clisp.org>
43753
43754         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
43755         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
43756         Reported by Ralf Wildenhues.
43757
43758 2009-05-04  Simon Josefsson  <simon@josefsson.org>
43759
43760         * m4/fnmatch.m4: Fix fnmatch re-define.
43761
43762 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43763
43764         priv-set: new module and tests; adapt write-any-file
43765         * lib/priv-set.c: New file.
43766         * lib/priv-set.h: New file.
43767         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
43768         * lib/write-any-file.c: Simplify by using priv-set module.
43769         * m4/priv-set.m4: New file.
43770         * modules/priv-set: New file.
43771         * modules/unlinkdir: Add dependency on priv-set module.
43772         * modules/write-any-file: Likewise.
43773
43774         Tests for module 'priv-set'.
43775         * modules/priv-set-tests: New file.
43776         * tests/test-priv-set.c: New file.
43777
43778 2009-05-03  Jim Meyering  <meyering@redhat.com>
43779             Bruno Haible  <bruno@clisp.org>
43780
43781         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
43782         use the converted UTF-8 variant of the name instead.
43783
43784 2009-05-03  Jim Meyering  <meyering@redhat.com>
43785
43786         tests: tighten some getdate tests
43787         * tests/test-getdate.c (main): Tighten tests: require equality,
43788         not just greater than.  Set TZ envvar to UTC0.
43789
43790 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
43791
43792         getdate: correctly interpret "next monday" when run on a Monday
43793         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
43794         that e.g., "next tues" (when run on a tuesday) results in a date
43795         that is one week in the future, and not today's date.
43796         I.e., add a week when the wday is the same as the current one.
43797         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
43798         and earlier by Martin Bernreuther and Jan Minář.
43799         * tests/test-getdate.c (main): Check that "next DAY" is always in
43800         the future and that "last DAY" is always in the past.
43801
43802 2009-05-02  Jim Meyering  <meyering@redhat.com>
43803
43804         build: ensure that a release build fails when a submodule is unclean
43805         * top/maint.mk (no-submodule-changes): New rule.
43806         (alpha beta major): Depend on it.
43807
43808 2009-05-02  Bruno Haible  <bruno@clisp.org>
43809
43810         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
43811         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
43812         shell variable gl_fnmatch_required to detect which variant is
43813         requested.
43814         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
43815         gl_FUNC_FNMATCH_POSIX.
43816         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
43817         exclude fnmatch-posix.
43818
43819 2009-05-02  Bruno Haible  <bruno@clisp.org>
43820
43821         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
43822         * modules/mbsrtowcs (License): Change to LGPLv2+.
43823         * modules/strnlen1 (License): Likewise.
43824         Reported by Simon Josefsson.
43825
43826 2009-05-02  Bruno Haible  <bruno@clisp.org>
43827
43828         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
43829         "cross".
43830         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
43831         gnulib-tool was called with option --source-base=lib.
43832
43833 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43834
43835         Use automake *-local hooks without commands, for extensibility.
43836         * modules/localcharset (Makefile.am): Rename install-exec-local
43837         rule to install-exec-localcharset, and make it a prerequisite of
43838         install-exec-local.  Likewise, rename the uninstall-local rule to
43839         uninstall-localcharset, and make it a prerequisite of the former.
43840
43841 2009-05-01  Bruno Haible  <bruno@clisp.org>
43842
43843         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
43844         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
43845         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
43846         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
43847         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
43848         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
43849         m4/locale-zh.m4, m4/codeset.m4.
43850
43851         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
43852         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
43853         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
43854         m4/locale-zh.m4.
43855
43856         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
43857         REPLACE_WCRTOMB if mbstate_t must be replaced.
43858         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
43859         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
43860
43861 2009-05-01  Bruno Haible  <bruno@clisp.org>
43862
43863         Avoid compiler warnings when redefining macros defined by <libintl.h>.
43864         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
43865         dngettext, dcngettext, textdomain, bindtextdomain,
43866         bind_textdomain_codeset): Undefine before redefining.
43867
43868 2009-04-30  Bruno Haible  <bruno@clisp.org>
43869
43870         Fix bug introduced on 2009-04-25.
43871         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
43872         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
43873         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
43874         is defined.
43875         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
43876         is defined.
43877         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
43878         is defined.
43879         Reported by Elbert_Pol <elbert.pol@gmail.com>.
43880
43881 2009-04-28  Bruno Haible  <bruno@clisp.org>
43882
43883         Comment tweaks.
43884         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
43885         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
43886         * lib/unicase.h (u*_casexfrm): Likewise.
43887         Reported by Paolo Bonzini.
43888
43889 2009-04-28  Bruno Haible  <bruno@clisp.org>
43890
43891         Fix a compilation error.
43892         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
43893         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
43894         Reported by Jim Meyering.
43895
43896 2009-04-27  Bruno Haible  <bruno@clisp.org>
43897
43898         New module 'libunistring'.
43899         * modules/libunistring: New file.
43900         * m4/libunistring.m4: New file.
43901         * MODULES.html.sh (Unicode string functions): Add it.
43902
43903 2009-04-27  Eric Blake  <ebb9@byu.net>
43904
43905         maint.mk: allow package-specific header to provide <config.h>
43906         * top/maint.mk (sc_require_config_h): New variable.
43907         (sc_require_config_h, sc_require_config_h_first): Use it.
43908
43909 2009-04-27  Simon Josefsson  <simon@josefsson.org>
43910
43911         * top/maint.mk (sc_avoid_if_before_free): Except
43912         useless-if-before-free script.
43913
43914 2009-04-27  Eric Blake  <ebb9@byu.net>
43915
43916         maintainer-makefile: depend on all required helper scripts
43917         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
43918         useless-if-before-free.
43919         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
43920         version, rather than assuming gnulib checkout is available.
43921         Reported by Simen Josefsson.
43922
43923 2009-04-26  Bruno Haible  <bruno@clisp.org>
43924
43925         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
43926         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
43927         "../" or "..".
43928
43929 2009-04-26  Bruno Haible  <bruno@clisp.org>
43930
43931         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
43932         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
43933         AC_LIB_HAVE_LINKFLAGS.
43934
43935 2009-04-26  Bruno Haible  <bruno@clisp.org>
43936
43937         Simplify calling convention of u*_conv_from_encoding.
43938         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
43939         u32_conv_from_encoding): Expect a resultbuf argument and return the
43940         result directly as a pointer.
43941         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
43942         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
43943         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
43944         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
43945         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
43946         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
43947         Update.
43948         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
43949         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
43950         * lib/vasnprintf.c (VASNPRINTF): Update.
43951         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
43952         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
43953         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
43954         * NEWS: Mention the change.
43955
43956 2009-04-26  Bruno Haible  <bruno@clisp.org>
43957
43958         Simplify calling convention of u*_conv_to_encoding.
43959         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
43960         u32_conv_to_encoding): Expect a resultbuf argument and return the
43961         result directly as a pointer.
43962         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
43963         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
43964         freeing scaled_offsets if mem_iconveha failed.
43965         * lib/unicase/u-casexfrm.h (FUNC): Update.
43966         * lib/uninorm/u-normxfrm.h (FUNC): Update.
43967         * lib/vasnprintf.c (VASNPRINTF): Update.
43968         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
43969         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
43970         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
43971         * NEWS: Mention the change.
43972
43973 2009-04-26  Bruno Haible  <bruno@clisp.org>
43974
43975         Avoid test failures on AIX and OSF/1.
43976         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
43977         malloc(0).
43978         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
43979         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
43980         Likewise.
43981         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
43982         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
43983         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
43984         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
43985         * doc/posix-functions/malloc.texi: Document the portability problem
43986         related to malloc(0).
43987
43988 2009-04-26  Bruno Haible  <bruno@clisp.org>
43989
43990         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
43991         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
43992         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
43993
43994 2009-04-25  Bruno Haible  <bruno@clisp.org>
43995
43996         Avoid link error when creating a namespace clean library.
43997         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
43998         as macro with arguments if already defined as an alias.
43999         * lib/signbitf.c (gl_signbitf): Don't undefine.
44000         * lib/signbitd.c (gl_signbitd): Don't undefine.
44001         * lib/signbitl.c (gl_signbitl): Don't undefine.
44002
44003 2009-04-25  Jim Meyering  <meyering@redhat.com>
44004
44005         vc-list-files: fix another quoting bug
44006         * build-aux/vc-list-files: Avoid sed backslash expansion
44007         of pathological directory names.
44008
44009 2009-04-25  Eric Blake  <ebb9@byu.net>
44010
44011         vc-list-files: fix shell quoting error
44012         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
44013         timestamp.
44014
44015 2009-04-25  Jim Meyering  <meyering@redhat.com>
44016
44017         vc-list-files: restore lost functionality with subdir argument
44018         * build-aux/vc-list-files: When given a non-"." sub-directory
44019         argument, substitute the $dir/ prefix back onto each resulting name.
44020         Otherwise, coreutils' root_tests check would fail.
44021
44022 2009-04-24  Eric Blake  <ebb9@byu.net>
44023
44024         vc-list-files: ignore git symlinks
44025         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
44026         than ls-files, to ignore git symlinks.
44027
44028         maint.mk: import improvements from m4
44029         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
44030         (move_if_change): Delete unused macro.
44031         (news-date-check, vc-diff-check): Support VPATH builds.
44032         (announcement): Likewise.  Split --bootstrap-tools list...
44033         (boostrap-tools): ...into separate list, which can be overridden
44034         in cfg.mk.
44035         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
44036         requiring dependency on useless-if-before-free module.
44037         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
44038         Support VPATH builds.
44039
44040 2009-04-24  Jim Meyering  <meyering@redhat.com>
44041
44042         maint.mk: remove coreutils-specific rules and variables
44043         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
44044         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
44045         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
44046
44047         maint.mk: remove obsolete rule
44048         * top/maint.mk (rel-check): Remove rule.
44049         (WGET, WGETFLAGS): Remove now-unused variables.
44050
44051 2009-04-24  Simon Josefsson  <simon@josefsson.org>
44052
44053         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
44054         consistency.
44055
44056         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
44057         '$(PATH_SEPARATOR)' instead of ':'.
44058
44059 2009-04-24  Simon Josefsson  <simon@josefsson.org>
44060
44061         * lib/getopt1.c (main): Use 'const' for static array.
44062
44063 2009-04-24  Simon Josefsson  <simon@josefsson.org>
44064
44065         * top/maint.mk: Sync with coreutils.
44066         * NEWS: Explain incompatibilities.
44067
44068 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44069             Bruno Haible  <bruno@clisp.org>
44070
44071         Fix cross-compilation results.
44072         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
44073         statement, as third argument of AC_TRY_RUN.
44074         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
44075         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
44076         Likewise.
44077         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
44078         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
44079         Likewise.
44080         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
44081         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
44082         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
44083
44084 2009-04-20  Bruno Haible  <bruno@clisp.org>
44085
44086         Avoid test failure on mingw.
44087         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
44088
44089 2009-04-20  Bruno Haible  <bruno@clisp.org>
44090
44091         Avoid compilation error on mingw.
44092         * modules/localename-tests (Depends-on): Add locale.
44093
44094 2009-04-19  Bruno Haible  <bruno@clisp.org>
44095
44096         Support for building a shared library on Windows platforms.
44097         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
44098         (main): Test the presence of UNINORM_NFC here.
44099         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
44100         (main): Test the presence of UNINORM_NFD here.
44101         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
44102         (main): Test the presence of UNINORM_NFKC here.
44103         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
44104         (main): Test the presence of UNINORM_NFKD here.
44105
44106 2009-04-19  Bruno Haible  <bruno@clisp.org>
44107
44108         Avoid a compiler warning.
44109         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
44110         Change type of variable 'sequence'.
44111
44112 2009-04-19  Bruno Haible  <bruno@clisp.org>
44113
44114         * modules/configmake (Makefile.am): When the contents of configmake.h
44115         does not change, arrange to preserve its modification time.
44116
44117 2009-04-17  Simon Josefsson  <simon@josefsson.org>
44118
44119         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
44120         gettext domain.
44121
44122 2009-04-16  Jim Meyering  <meyering@redhat.com>
44123
44124         useless-if-before-free: improve conversion code
44125         * build-aux/useless-if-before-free: Adjust code-in-comment to match
44126         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
44127
44128 2009-04-14  Bruno Haible  <bruno@clisp.org>
44129
44130         * modules/fcntl (Depends-on): Add extensions.
44131         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
44132
44133 2009-04-12  Ben Pfaff  <blp@gnu.org>
44134
44135         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
44136         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
44137
44138 2009-03-20  Ben Pfaff  <blp@gnu.org>
44139
44140         Make rename replace existing destinations on Windows.
44141         * m4/rename.m4: Add test for Mingw.
44142         * lib/rename.c: Add rename replacement that uses MoveFileEx with
44143         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
44144         * doc/posix-functions/rename.texi: Document.
44145
44146 2009-04-10  Bruno Haible  <bruno@clisp.org>
44147
44148         New include file "iconveh.h".
44149         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
44150         * lib/striconveh.h: Include it.
44151         (enum iconv_ilseq_handler): Remove definition.
44152         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
44153         striconveh.h.
44154         * lib/striconveha.c: Include striconveh.h.
44155         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
44156         * modules/striconveh (Files): Add lib/iconveh.h.
44157         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
44158         lib/striconveh.h.
44159
44160 2009-04-10  Bruno Haible  <bruno@clisp.org>
44161
44162         * lib/uniconv.h: Update comment.
44163
44164 2009-04-10  Bruno Haible  <bruno@clisp.org>
44165
44166         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
44167         always.
44168         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
44169         * lib/unistr/u16-mbtouc-aux.c: Likewise.
44170         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
44171         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
44172         "unistring-notinline.h", so that the function gets defined always.
44173         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
44174         * lib/unistr/u8-uctomb.c: Likewise.
44175         * lib/unistr/u16-mbtouc.c: Likewise.
44176         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
44177         * lib/unistr/u16-uctomb.c: Likewise.
44178         * lib/unistr/u32-mbtouc.c: Likewise.
44179         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
44180         * lib/unistr/u32-uctomb.c: Likewise.
44181
44182 2009-04-10  Bruno Haible  <bruno@clisp.org>
44183
44184         Mark 'utime' obsolete.
44185         * modules/utime (Status, Notice): New sections.
44186         Suggested by Jim Meyering.
44187
44188         Fix cross-compile guess for utime test.
44189         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
44190         autoconf.
44191         * doc/posix-functions/utime.texi: Give more precisions.
44192         Reported by Jan <ipif@ymail.com>.
44193
44194 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
44195
44196         filevercmp: correct today's change
44197         * lib/filevercmp.c: Also handle coreutils' test inputs.
44198         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
44199
44200         Fix regression in 'filevercmp' module. Thanks Sven Joachim
44201         for reporting it.
44202         * lib/filevercmp.c: Special handle for "", "." and "..".
44203         * tests/test-filevercmp.c: Enlarge the set suite.
44204
44205 2009-04-07  Jim Meyering  <meyering@redhat.com>
44206
44207         useless-if-before-free: show how to remove braced useless free, too
44208         * build-aux/useless-if-before-free: still only in a comment, though.
44209
44210 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
44211
44212         maint.mk: import changes to syntax-check macros from coreutils
44213         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
44214         Use them in the relevant macros.
44215
44216 2009-04-06  Bruno Haible  <bruno@clisp.org>
44217
44218         Fix unportable use of bit-fields.
44219         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
44220         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
44221         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
44222
44223 2009-04-06  Bruno Haible  <bruno@clisp.org>
44224
44225         Avoid test failures on AIX and OSF/1.
44226         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
44227         that malloc(0) = NULL.
44228         * tests/unicase/test-u8-tolower.c (check): Likewise.
44229         * tests/unicase/test-u8-totitle.c (check): Likewise.
44230         * tests/unicase/test-u8-toupper.c (check): Likewise.
44231         * tests/unicase/test-u16-casefold.c (check): Likewise.
44232         * tests/unicase/test-u16-tolower.c (check): Likewise.
44233         * tests/unicase/test-u16-totitle.c (check): Likewise.
44234         * tests/unicase/test-u16-toupper.c (check): Likewise.
44235         * tests/unicase/test-u32-casefold.c (check): Likewise.
44236         * tests/unicase/test-u32-tolower.c (check): Likewise.
44237         * tests/unicase/test-u32-totitle.c (check): Likewise.
44238         * tests/unicase/test-u32-toupper.c (check): Likewise.
44239         * tests/uninorm/test-u8-nfc.c (check): Likewise.
44240         * tests/uninorm/test-u8-nfd.c (check): Likewise.
44241         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
44242         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
44243         * tests/uninorm/test-u16-nfc.c (check): Likewise.
44244         * tests/uninorm/test-u16-nfd.c (check): Likewise.
44245         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
44246         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
44247         * tests/uninorm/test-u32-nfc.c (check): Likewise.
44248         * tests/uninorm/test-u32-nfd.c (check): Likewise.
44249         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
44250         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
44251
44252 2009-04-05  Bruno Haible  <bruno@clisp.org>
44253
44254         Work around an autoconf limitation.
44255         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
44256         comment line if it would be longer than 3 KB.
44257
44258 2009-04-05  Bruno Haible  <bruno@clisp.org>
44259
44260         Avoid test failure with libiconv-1.13.
44261         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
44262         of the expected test results.
44263
44264 2009-04-05  Bruno Haible  <bruno@clisp.org>
44265
44266         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
44267         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
44268         that it should be installed.
44269
44270 2009-04-05  Bruno Haible  <bruno@clisp.org>
44271
44272         * gnulib-tool: New option --copy-file.
44273         (func_usage): Document it.
44274         (func_dest_tmpfilename): Moved out of func_import.
44275         (func_add_file, func_update_file): New functions, extracted from
44276         func_import.
44277         (func_import): Update.
44278
44279 2009-04-05  Karl Berry  <karl@gnu.org>
44280
44281         * README: prominently mention gnulib-tool.
44282         Rearrange sections so getting the code is near the top.
44283
44284 2009-04-05  Bruno Haible  <bruno@clisp.org>
44285
44286         * lib/unicase.h: Mention u*_cmp2.
44287         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
44288         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
44289         * lib/unicase/ulc-casecmp.c: Likewise.
44290         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
44291         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
44292         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
44293         unistr/u8-cmp.
44294         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
44295         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
44296         unistr/u16-cmp.
44297         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
44298         unistr/u32-cmp.
44299
44300         * lib/uninorm.h: Mention u*_cmp2.
44301         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
44302         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
44303         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
44304         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
44305         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
44306         unistr/u8-cmp.
44307         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
44308         unistr/u16-cmp.
44309         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
44310         unistr/u32-cmp.
44311
44312         New module 'unistr/u32-cmp2'.
44313         * lib/unistr/u32-cmp2.c: New file.
44314         * modules/unistr/u32-cmp2: New file.
44315
44316         New module 'unistr/u16-cmp2'.
44317         * lib/unistr/u16-cmp2.c: New file.
44318         * modules/unistr/u16-cmp2: New file.
44319
44320         New module 'unistr/u8-cmp2'.
44321         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
44322         * lib/unistr/u8-cmp2.c: New file.
44323         * lib/unistr/u-cmp2.h: New file.
44324         * modules/unistr/u8-cmp2: New file.
44325
44326 2009-04-05  Bruno Haible  <bruno@clisp.org>
44327
44328         * lib/unictype.h (uc_property_is_valid): New macro.
44329         * tests/unictype/test-pr_byname.c (main): Use it.
44330
44331         * lib/unistr.h: Doc fixes.
44332         * lib/uniconv.h: Doc fixes.
44333         * lib/unictype.h: Doc fixes.
44334
44335 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
44336
44337         Port coreutils 7.2 to Solaris 8.
44338
44339         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
44340         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
44341         for Solaris 8.  This is a bit of a hack, as it means it's the
44342         caller's responsibility to add -lnsl if needed, but most likely it
44343         won't be needed since only getaddrinfo uses this and getaddrinfo
44344         isn't needed on Solaris 8.
44345
44346         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
44347         problem to Solaris 8 encountered with coreutils 7.2, which
44348         resulted in a message "fnmatch.c:292: warning: passing argument 4
44349         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
44350         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
44351
44352 2009-04-03  Simon Josefsson  <simon@josefsson.org>
44353
44354         * m4/ld-version-script.m4: Add FIXME comment.
44355
44356 2009-04-02  Simon Josefsson  <simon@josefsson.org>
44357
44358         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
44359         SOVERSION variable.
44360
44361 2009-04-02  Bruno Haible  <bruno@clisp.org>
44362
44363         * Makefile (info, html, dvi, pdf): Combine the rules.
44364         Suggested by Jim Meyering.
44365
44366 2009-04-01  Bruno Haible  <bruno@clisp.org>
44367
44368         * Makefile (info, html, dvi, pdf): New targets.
44369         Reported by Reuben Thomas <rrt@sc3d.org>.
44370
44371 2009-04-01  Bruno Haible  <bruno@clisp.org>
44372
44373         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
44374         can be put into PATH.
44375         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
44376
44377 2009-04-01  Bruno Haible  <bruno@clisp.org>
44378
44379         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
44380
44381 2009-04-01  Bruno Haible  <bruno@clisp.org>
44382
44383         Rename module 'visibility'.
44384         * modules/lib-symbol-visibility: Renamed from modules/visibility.
44385         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
44386         * doc/gnulib.texi: Update.
44387         * MODULES.html.sh (Misc): Update.
44388         * NEWS: Mention the change.
44389
44390 2009-04-01  Simon Josefsson  <simon@josefsson.org>
44391
44392         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
44393         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
44394         Eric Blake <ebb9@byu.net> for review.
44395         * MODULES.html.sh: Add lib-msvc-compat.
44396         * doc/gnulib.texi: Link to new section.
44397         * m4/ld-output-def.m4: New file.
44398         * doc/ld-output-def.texi: New file.
44399
44400 2009-04-01  Simon Josefsson  <simon@josefsson.org>
44401
44402         Rename ld-version-script to lib-symbol-versions.  Suggested by
44403         Bruno Haible <bruno@clisp.org>.
44404         * modules/ld-version-script: Renamed to lib-symbol-versions.
44405         * doc/ld-version-script.texi: Fix module name.
44406         * MODULES.html.sh: Add lib-symbol-versions.
44407
44408 2009-03-31  Simon Josefsson  <simon@josefsson.org>
44409
44410         * modules/u64-tests: New file.
44411         * tests/test-u64.c: New file.
44412
44413 2009-03-04  Simon Josefsson  <simon@josefsson.org>
44414
44415         * MODULES.html.sh: Mention u64.
44416         * modules/u64: New module.
44417         * modules/crypto/sha512: Depend on u64 module instead of providing
44418         u64.h.
44419
44420 2009-03-27  Eric Blake  <ebb9@byu.net>
44421
44422         test-strerror: make debugging EAI_SYSTEM easier
44423         * modules/getaddrinfo-tests (Depends-on): Add strerror.
44424         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
44425         failure was EAI_SYSTEM.
44426
44427 2009-03-25  Bruno Haible  <bruno@clisp.org>
44428
44429         Fix a problem with --enable-relocatable on Solaris 7.
44430         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
44431         since 2008-02-24.
44432
44433 2009-03-25  Eric Blake  <ebb9@byu.net>
44434
44435         test-sockets: avoid gcc warning
44436         * tests/test-sockets.c (main): Silence compiler warning.
44437
44438 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
44439
44440         New modules nproc, pthread, contributed by Glen Lenker.
44441
44442         * MODULES.html.sh: Add pthread, nproc.
44443         * lib/nproc.c: New file.
44444         * lib/nproc.h: New file.
44445         * lib/pthread.in.h: New file.
44446         * m4/pthread.m4: New file.
44447         * modules/nproc: New file.
44448         * modules/pthread: New file.
44449
44450 2009-03-24  Simon Josefsson  <simon@josefsson.org>
44451
44452         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
44453         New variable.
44454
44455 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
44456
44457         filevercmp: handle simple~ and numbered.~3~ backup suffixes
44458         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
44459         * tests/test-filevercmp.c: Add tests for backup suffixes.
44460
44461 2009-03-24  Simon Josefsson  <simon@josefsson.org>
44462
44463         * modules/stdlib (Depends-on): Add stdint, needed when defining
44464         struct random_data on, for example, HP-UX 10.20.  Reported by
44465         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44466
44467 2009-03-24  Simon Josefsson  <simon@josefsson.org>
44468
44469         * lib/readline.c (readline): Call fflush on stdout after printing
44470         prompt.
44471
44472 2009-03-20  Bruno Haible  <bruno@clisp.org>
44473
44474         Remove dependency from 'close' module to -lws2_32 on native Windows.
44475         * lib/close-hook.h: New file.
44476         * lib/close-hook.c: New file.
44477         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
44478         w32sock.h.
44479         (_gl_close_fd_maybe_socket): Remove function.
44480         (rpl_close): Invoke execute_all_close_hooks instead of
44481         _gl_close_fd_maybe_socket.
44482         * lib/sockets.c: Include close-hook.h, w32sock.h.
44483         (close_fd_maybe_socket): New function, essentially from lib/close.c.
44484         (close_sockets_hook): New variable.
44485         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
44486         (gl_sockets_cleanup): Unregister it.
44487         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
44488         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
44489         * modules/close-hook: New file.
44490         * modules/close (Files): Remove lib/w32sock.h.
44491         (Depends-on): Add close-hook.
44492         (Link): Remove section.
44493         * modules/sockets (Files): Add lib/w32sock.h.
44494         (Depends-on): Add close-hook.
44495         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
44496         invocation.
44497         * NEWS: Mention that LIB_CLOSE is gone.
44498
44499 2009-03-23  Eric Blake  <ebb9@byu.net>
44500
44501         signal-tests: test previous patch
44502         * tests/test-signal.c: New file.
44503         * modules/signal-tests: Likewise.
44504
44505         signal.h: always support 'volatile sig_atomic_t'
44506         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
44507         (gl_SIGNAL_H_DEFAULTS): Add a default.
44508         * modules/signal (Makefile.am): Substitute if needed.
44509         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
44510         users can blindly add volatile.
44511         * doc/posix-headers/signal.texi (signal.h): Document it.
44512         Reported by Matthew Woehlke.
44513
44514 2009-03-23  Jim Meyering  <meyering@redhat.com>
44515
44516         pathmax: PATH_MAX: use pathconf only when available
44517         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
44518         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
44519         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
44520         This avoids a link failure in a PSP cross-compilation environment
44521         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
44522
44523         * lib/vasnprintf.c (divide): Fix typo in comment.
44524
44525 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44526
44527         * gnulib-tool (func_filter_filelist): Fix comment.
44528
44529 2009-03-20  Bruno Haible  <bruno@clisp.org>
44530
44531         Make sockets.h self-contained.
44532         * lib/sockets.c: Include sockets.h first.
44533         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
44534
44535 2009-03-19  Eric Blake  <ebb9@byu.net>
44536
44537         doc: mention more functions added in cygwin 1.7.0
44538         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
44539         addition.
44540         * doc/posix-functions/log2f.texi: Likewise.
44541
44542 2009-03-19  Jim Meyering  <meyering@redhat.com>
44543
44544         fsusage: avoid syntax error due to statement-before-declaration
44545         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
44546         after all declarations.  Reported by Matthew Woehlke in
44547         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
44548
44549 2009-03-18  Eric Blake  <ebb9@byu.net>
44550
44551         build-aux/compile: sync from automake
44552         * build-aux/compile: New file, from automake.
44553         * config/srclist.txt: Mention build-aux/compile.
44554
44555 2009-03-17  Bruno Haible  <bruno@clisp.org>
44556
44557         * lib/git-merge-changelog.c: Fix typo in comment.
44558         Reported by Reuben Thomas <rrt@sc3d.org>.
44559
44560 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
44561
44562         * m4/regex.m4: update and improve help for
44563         --without-included-regex.
44564
44565 2009-03-17  Simon Josefsson  <simon@josefsson.org>
44566
44567         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
44568         failure on missing include files.
44569
44570 2009-03-17  Eric Blake  <ebb9@byu.net>
44571
44572         doc: mention more functions added in cygwin 1.7.0
44573         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
44574         addition.
44575         * doc/posix-functions/fwscanf.texi: Likewise.
44576         * doc/posix-functions/swprintf.texi: Likewise.
44577         * doc/posix-functions/swscanf.texi: Likewise.
44578         * doc/posix-functions/vfwprintf.texi: Likewise.
44579         * doc/posix-functions/vfwscanf.texi: Likewise.
44580         * doc/posix-functions/vswprintf.texi: Likewise.
44581         * doc/posix-functions/vswscanf.texi: Likewise.
44582         * doc/posix-functions/vwprintf.texi: Likewise.
44583         * doc/posix-functions/vwscanf.texi: Likewise.
44584         * doc/posix-functions/wcscasecmp.texi: Likewise.
44585         * doc/posix-functions/wcsdup.texi: Likewise.
44586         * doc/posix-functions/wcsftime.texi: Likewise.
44587         * doc/posix-functions/wcsncasecmp.texi: Likewise.
44588         * doc/posix-functions/wprintf.texi: Likewise.
44589         * doc/posix-functions/wscanf.texi: Likewise.
44590         * doc/glibc-functions/gethostbyname2.texi: Likewise.
44591
44592 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44593
44594         maint.mk: really add $(AM_MAKEFLAGS)
44595         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
44596         was inadvertently omitted in the last commit.
44597         Spotted by Bruno Haible.
44598
44599         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
44600         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
44601         $(AM_MAKEFLAGS)' rather than plain `make'.
44602
44603         gnulib-tool: execute $MAKE not make
44604         * gnulib-tool: Default $MAKE to 'make'.
44605         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
44606         than make.  Initialize $MAKE in the do-autobuild script.
44607
44608         gnulib-tool: use $MAKE not make in generated files
44609         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
44610         make, in generated files.  Initialize $MAKE in the do-autobuild
44611         script.
44612
44613         * top/GNUmakefile (_have-git-version-gen): Fix typo.
44614
44615         GNUmakefile: disable parallelism only for multiple, recursive targets
44616         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
44617         additions in the Makefile.
44618         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
44619         by Automake.
44620         (.NOTPARALLEL): Only disable parallel builds if multiple targets
44621         are listed on the command line and at least one of them is
44622         listed in $(ALL_RECURSIVE_TARGETS).
44623
44624 2009-03-14  Bruno Haible  <bruno@clisp.org>
44625
44626         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
44627         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
44628         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
44629         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
44630         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
44631         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
44632         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
44633         unistr/u8-uctomb.
44634         * modules/unistr/u8-strchr (Depends-on): Likewise.
44635         * modules/unistr/u8-strrchr (Depends-on): Likewise.
44636         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
44637         unistr/u16-uctomb.
44638         * modules/unistr/u16-strchr (Depends-on): Likewise.
44639         * modules/unistr/u16-strrchr (Depends-on): Likewise.
44640
44641 2009-03-12  Bruno Haible  <bruno@clisp.org>
44642
44643         Work around select() bug on Interix 3.5.
44644         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
44645         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
44646         * m4/select.m4: New file.
44647         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
44648         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
44649         * modules/select (Files): Add m4/select.m4.
44650         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
44651         * modules/nanosleep (Depends-on): Add select.
44652         * modules/poll (Depends-on): Likewise.
44653         * doc/posix-functions/select.texi: Mention the Interix bug.
44654         Reported by Markus Duft <mduft@gentoo.org>.
44655
44656         * lib/select.c: Renamed from lib/winsock-select.c.
44657         * modules/select (Files): Add lib/select.c, remove
44658         lib/winsock-select.c.
44659         (configure.ac): Update.
44660
44661 2009-03-12  Jim Meyering  <meyering@redhat.com>
44662
44663         avoid gcc warnings about unused macro definitions
44664         * lib/readtokens.c (STREQ): Remove unused definition.
44665         * lib/xmalloc.c (SIZE_MAX): Likewise.
44666         * lib/openat-die.c (N_): Likewise.
44667         * lib/mountlist.c (SIZE_MAX): Remove definition.
44668         Instead, include <stdint.h>.
44669         * lib/readutmp.c: Likewise.
44670         * modules/readutmp (Depends-on): Add stdint.
44671         * modules/mountlist (Depends-on): Add stdint.
44672         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
44673
44674 2009-03-10  Bruno Haible  <bruno@clisp.org>
44675
44676         Tests for module 'mbmemcasecoll'.
44677         * modules/mbmemcasecoll-tests: New file.
44678         * tests/test-mbmemcasecoll1.sh: New file.
44679         * tests/test-mbmemcasecoll2.sh: New file.
44680         * tests/test-mbmemcasecoll3.sh: New file.
44681         * tests/test-mbmemcasecoll.c: New file.
44682
44683         New module 'mbmemcasecoll'.
44684         * lib/mbmemcasecoll.h: New file.
44685         * lib/mbmemcasecoll.c: New file.
44686         * modules/mbmemcasecoll: New file.
44687
44688         * tests/test-mbmemcasecmp.h: New file, extracted from
44689         tests/test-mbmemcasecmp.c.
44690         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
44691         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
44692         (main): Update.
44693         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
44694
44695 2009-03-09  Bruno Haible  <bruno@clisp.org>
44696
44697         Tests for module 'mbmemcasecmp'.
44698         * modules/mbmemcasecmp-tests: New file.
44699         * tests/test-mbmemcasecmp1.sh: New file.
44700         * tests/test-mbmemcasecmp2.sh: New file.
44701         * tests/test-mbmemcasecmp3.sh: New file.
44702         * tests/test-mbmemcasecmp.c: New file.
44703
44704         New module 'mbmemcasecmp'.
44705         * lib/mbmemcasecmp.h: New file.
44706         * lib/mbmemcasecmp.c: New file.
44707         * modules/mbmemcasecmp: New file.
44708
44709 2009-03-09  Bruno Haible  <bruno@clisp.org>
44710
44711         Tests for module 'unicase/ulc-casecoll'.
44712         * modules/unicase/ulc-casecoll-tests: New file.
44713         * tests/unicase/test-ulc-casecoll1.sh: New file.
44714         * tests/unicase/test-ulc-casecoll2.sh: New file.
44715         * tests/unicase/test-ulc-casecoll.c: New file.
44716
44717         New module 'unicase/ulc-casecoll'.
44718         * lib/unicase.h (ulc_casecoll): New declaration.
44719         * lib/unicase/ulc-casecoll.c: New file.
44720         * modules/unicase/ulc-casecoll: New file.
44721
44722         New module 'unicase/ulc-casexfrm'.
44723         * lib/unicase.h (ulc_casexfrm): New declaration.
44724         * lib/unicase/ulc-casexfrm.c: New file.
44725         * modules/unicase/ulc-casexfrm: New file.
44726
44727 2009-03-09  Bruno Haible  <bruno@clisp.org>
44728
44729         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
44730         invocations.
44731
44732         * m4/mbscasecmp.m4: Remove file.
44733         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
44734         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
44735
44736         * m4/mbscasestr.m4: Remove file.
44737         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
44738         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
44739
44740         * m4/mbschr.m4: Remove file.
44741         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
44742         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
44743
44744         * m4/mbscspn.m4: Remove file.
44745         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
44746         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
44747
44748         * m4/mbslen.m4: Remove file.
44749         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
44750         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
44751
44752         * m4/mbsncasecmp.m4: Remove file.
44753         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
44754         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
44755
44756         * m4/mbsnlen.m4: Remove file.
44757         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
44758         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
44759
44760         * m4/mbspbrk.m4: Remove file.
44761         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
44762         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
44763
44764         * m4/mbspcasecmp.m4: Remove file.
44765         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
44766         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
44767
44768         * m4/mbsrchr.m4: Remove file.
44769         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
44770         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
44771
44772         * m4/mbssep.m4: Remove file.
44773         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
44774         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
44775
44776         * m4/mbsspn.m4: Remove file.
44777         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
44778         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
44779
44780         * m4/mbsstr.m4: Remove file.
44781         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
44782         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
44783
44784         * m4/mbstok_r.m4: Remove file.
44785         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
44786         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
44787
44788         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
44789
44790         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
44791         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
44792
44793         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
44794
44795 2009-03-08  Bruno Haible  <bruno@clisp.org>
44796
44797         Tests for module 'unicase/ulc-casecmp'.
44798         * modules/unicase/ulc-casecmp-tests: New file.
44799         * tests/unicase/test-ulc-casecmp1.sh: New file.
44800         * tests/unicase/test-ulc-casecmp2.sh: New file.
44801         * tests/unicase/test-ulc-casecmp.c: New file.
44802
44803         New module 'unicase/ulc-casecmp'.
44804         * lib/unicase.h (ulc_casecmp): New declaration.
44805         * lib/unicase/ulc-casecmp.c: New file.
44806         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
44807         'const SRC_UNIT *'.
44808         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
44809         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
44810         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
44811         * modules/unicase/ulc-casecmp: New file.
44812
44813         Tests for module 'unicase/u32-is-cased'.
44814         * modules/unicase/u32-is-cased-tests: New file.
44815         * tests/unicase/test-u32-is-cased.c: New file.
44816
44817         Tests for module 'unicase/u16-is-cased'.
44818         * modules/unicase/u16-is-cased-tests: New file.
44819         * tests/unicase/test-u16-is-cased.c: New file.
44820
44821         Tests for module 'unicase/u8-is-cased'.
44822         * modules/unicase/u8-is-cased-tests: New file.
44823         * tests/unicase/test-u8-is-cased.c: New file.
44824         * tests/unicase/test-is-cased.h: New file.
44825
44826         New module 'unicase/u32-is-cased'.
44827         * lib/unicase/u32-is-cased.c: New file.
44828         * modules/unicase/u32-is-cased: New file.
44829
44830         New module 'unicase/u16-is-cased'.
44831         * lib/unicase/u16-is-cased.c: New file.
44832         * modules/unicase/u16-is-cased: New file.
44833
44834         New module 'unicase/u8-is-cased'.
44835         * lib/unicase/u8-is-cased.c: New file.
44836         * lib/unicase/u-is-cased.h: New file.
44837         * modules/unicase/u8-is-cased: New file.
44838
44839         Tests for module 'unicase/u32-is-casefolded'.
44840         * modules/unicase/u32-is-casefolded-tests: New file.
44841         * tests/unicase/test-u32-is-casefolded.c: New file.
44842
44843         Tests for module 'unicase/u16-is-casefolded'.
44844         * modules/unicase/u16-is-casefolded-tests: New file.
44845         * tests/unicase/test-u16-is-casefolded.c: New file.
44846
44847         Tests for module 'unicase/u8-is-casefolded'.
44848         * modules/unicase/u8-is-casefolded-tests: New file.
44849         * tests/unicase/test-u8-is-casefolded.c: New file.
44850         * tests/unicase/test-is-casefolded.h: New file.
44851
44852         New module 'unicase/u32-is-casefolded'.
44853         * lib/unicase/u32-is-casefolded.c: New file.
44854         * modules/unicase/u32-is-casefolded: New file.
44855
44856         New module 'unicase/u16-is-casefolded'.
44857         * lib/unicase/u16-is-casefolded.c: New file.
44858         * modules/unicase/u16-is-casefolded: New file.
44859
44860         New module 'unicase/u8-is-casefolded'.
44861         * lib/unicase/u8-is-casefolded.c: New file.
44862         * modules/unicase/u8-is-casefolded: New file.
44863
44864         Tests for module 'unicase/u32-is-titlecase'.
44865         * modules/unicase/u32-is-titlecase-tests: New file.
44866         * tests/unicase/test-u32-is-titlecase.c: New file.
44867
44868         Tests for module 'unicase/u16-is-titlecase'.
44869         * modules/unicase/u16-is-titlecase-tests: New file.
44870         * tests/unicase/test-u16-is-titlecase.c: New file.
44871
44872         Tests for module 'unicase/u8-is-titlecase'.
44873         * modules/unicase/u8-is-titlecase-tests: New file.
44874         * tests/unicase/test-u8-is-titlecase.c: New file.
44875         * tests/unicase/test-is-titlecase.h: New file.
44876
44877         New module 'unicase/u32-is-titlecase'.
44878         * lib/unicase/u32-is-titlecase.c: New file.
44879         * modules/unicase/u32-is-titlecase: New file.
44880
44881         New module 'unicase/u16-is-titlecase'.
44882         * lib/unicase/u16-is-titlecase.c: New file.
44883         * modules/unicase/u16-is-titlecase: New file.
44884
44885         New module 'unicase/u8-is-titlecase'.
44886         * lib/unicase/u8-is-titlecase.c: New file.
44887         * modules/unicase/u8-is-titlecase: New file.
44888
44889         Tests for module 'unicase/u32-is-lowercase'.
44890         * modules/unicase/u32-is-lowercase-tests: New file.
44891         * tests/unicase/test-u32-is-lowercase.c: New file.
44892
44893         Tests for module 'unicase/u16-is-lowercase'.
44894         * modules/unicase/u16-is-lowercase-tests: New file.
44895         * tests/unicase/test-u16-is-lowercase.c: New file.
44896
44897         Tests for module 'unicase/u8-is-lowercase'.
44898         * modules/unicase/u8-is-lowercase-tests: New file.
44899         * tests/unicase/test-u8-is-lowercase.c: New file.
44900         * tests/unicase/test-is-lowercase.h: New file.
44901
44902         New module 'unicase/u32-is-lowercase'.
44903         * lib/unicase/u32-is-lowercase.c: New file.
44904         * modules/unicase/u32-is-lowercase: New file.
44905
44906         New module 'unicase/u16-is-lowercase'.
44907         * lib/unicase/u16-is-lowercase.c: New file.
44908         * modules/unicase/u16-is-lowercase: New file.
44909
44910         New module 'unicase/u8-is-lowercase'.
44911         * lib/unicase/u8-is-lowercase.c: New file.
44912         * modules/unicase/u8-is-lowercase: New file.
44913
44914         Tests for module 'unicase/u32-is-uppercase'.
44915         * modules/unicase/u32-is-uppercase-tests: New file.
44916         * tests/unicase/test-u32-is-uppercase.c: New file.
44917
44918         Tests for module 'unicase/u16-is-uppercase'.
44919         * modules/unicase/u16-is-uppercase-tests: New file.
44920         * tests/unicase/test-u16-is-uppercase.c: New file.
44921
44922         Tests for module 'unicase/u8-is-uppercase'.
44923         * modules/unicase/u8-is-uppercase-tests: New file.
44924         * tests/unicase/test-u8-is-uppercase.c: New file.
44925         * tests/unicase/test-is-uppercase.h: New file.
44926
44927         New module 'unicase/u32-is-uppercase'.
44928         * lib/unicase/u32-is-uppercase.c: New file.
44929         * modules/unicase/u32-is-uppercase: New file.
44930
44931         New module 'unicase/u16-is-uppercase'.
44932         * lib/unicase/u16-is-uppercase.c: New file.
44933         * modules/unicase/u16-is-uppercase: New file.
44934
44935         New module 'unicase/u8-is-uppercase'.
44936         * lib/unicase/u8-is-uppercase.c: New file.
44937         * modules/unicase/u8-is-uppercase: New file.
44938
44939         New module 'unicase/u32-is-invariant'.
44940         * lib/unicase/u32-is-invariant.c: New file.
44941         * modules/unicase/u32-is-invariant: New file.
44942
44943         New module 'unicase/u16-is-invariant'.
44944         * lib/unicase/u16-is-invariant.c: New file.
44945         * modules/unicase/u16-is-invariant: New file.
44946
44947         New module 'unicase/u8-is-invariant'.
44948         * lib/unicase/u8-is-invariant.c: New file.
44949         * lib/unicase/invariant.h: New file.
44950         * lib/unicase/u-is-invariant.h: New file.
44951         * modules/unicase/u8-is-invariant: New file.
44952
44953         Tests for module 'unicase/u32-casecoll'.
44954         * modules/unicase/u32-casecoll-tests: New file.
44955         * tests/unicase/test-u32-casecoll.c: New file.
44956
44957         Tests for module 'unicase/u16-casecoll'.
44958         * modules/unicase/u16-casecoll-tests: New file.
44959         * tests/unicase/test-u16-casecoll.c: New file.
44960
44961         Tests for module 'unicase/u8-casecoll'.
44962         * modules/unicase/u8-casecoll-tests: New file.
44963         * tests/unicase/test-u8-casecoll.c: New file.
44964
44965         New module 'unicase/u32-casecoll'.
44966         * lib/unicase/u32-casecoll.c: New file.
44967         * modules/unicase/u32-casecoll: New file.
44968
44969         New module 'unicase/u16-casecoll'.
44970         * lib/unicase/u16-casecoll.c: New file.
44971         * modules/unicase/u16-casecoll: New file.
44972
44973         New module 'unicase/u8-casecoll'.
44974         * lib/unicase/u8-casecoll.c: New file.
44975         * lib/unicase/u-casecoll.h: New file.
44976         * modules/unicase/u8-casecoll: New file.
44977
44978         New module 'unicase/u32-casexfrm'.
44979         * lib/unicase/u32-casexfrm.c: New file.
44980         * modules/unicase/u32-casexfrm: New file.
44981
44982         New module 'unicase/u16-casexfrm'.
44983         * lib/unicase/u16-casexfrm.c: New file.
44984         * modules/unicase/u16-casexfrm: New file.
44985
44986         New module 'unicase/u8-casexfrm'.
44987         * lib/unicase/u8-casexfrm.c: New file.
44988         * lib/unicase/u-casexfrm.h: New file.
44989         * modules/unicase/u8-casexfrm: New file.
44990
44991         Tests for module 'unicase/u32-casecmp'.
44992         * modules/unicase/u32-casecmp-tests: New file.
44993         * tests/unicase/test-u32-casecmp.c: New file.
44994
44995         Tests for module 'unicase/u16-casecmp'.
44996         * modules/unicase/u16-casecmp-tests: New file.
44997         * tests/unicase/test-u16-casecmp.c: New file.
44998
44999         Tests for module 'unicase/u8-casecmp'.
45000         * modules/unicase/u8-casecmp-tests: New file.
45001         * tests/unicase/test-u8-casecmp.c: New file.
45002         * tests/unicase/test-casecmp.h: New file.
45003
45004         New module 'unicase/u32-casecmp'.
45005         * lib/unicase/u32-casecmp.c: New file.
45006         * modules/unicase/u32-casecmp: New file.
45007
45008         New module 'unicase/u16-casecmp'.
45009         * lib/unicase/u16-casecmp.c: New file.
45010         * modules/unicase/u16-casecmp: New file.
45011
45012         New module 'unicase/u8-casecmp'.
45013         * lib/unicase/u8-casecmp.c: New file.
45014         * lib/unicase/u-casecmp.h: New file.
45015         * modules/unicase/u8-casecmp: New file.
45016
45017         Tests for module 'unicase/u32-casefold'.
45018         * modules/unicase/u32-casefold-tests: New file.
45019         * tests/unicase/test-u32-casefold.c: New file.
45020
45021         Tests for module 'unicase/u16-casefold'.
45022         * modules/unicase/u16-casefold-tests: New file.
45023         * tests/unicase/test-u16-casefold.c: New file.
45024
45025         Tests for module 'unicase/u8-casefold'.
45026         * modules/unicase/u8-casefold-tests: New file.
45027         * tests/unicase/test-u8-casefold.c: New file.
45028
45029         New module 'unicase/u32-casefold'.
45030         * lib/unicase/u32-casefold.c: New file.
45031         * modules/unicase/u32-casefold: New file.
45032
45033         New module 'unicase/u16-casefold'.
45034         * lib/unicase/u16-casefold.c: New file.
45035         * modules/unicase/u16-casefold: New file.
45036
45037         New module 'unicase/u8-casefold'.
45038         * lib/unicase/u8-casefold.c: New file.
45039         * lib/unicase/u-casefold.h: New file.
45040         * modules/unicase/u8-casefold: New file.
45041
45042         New module 'unicase/tocasefold'.
45043         * lib/unicase/casefold.h: New file.
45044         * lib/unicase/tocasefold.c: New file.
45045         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
45046         * modules/unicase/tocasefold: New file.
45047
45048         Tests for module 'unicase/u32-totitle'.
45049         * modules/unicase/u32-totitle-tests: New file.
45050         * tests/unicase/test-u32-totitle.c: New file.
45051
45052         Tests for module 'unicase/u16-totitle'.
45053         * modules/unicase/u16-totitle-tests: New file.
45054         * tests/unicase/test-u16-totitle.c: New file.
45055
45056         Tests for module 'unicase/u8-totitle'.
45057         * modules/unicase/u8-totitle-tests: New file.
45058         * tests/unicase/test-u8-totitle.c: New file.
45059
45060         New module 'unicase/u32-totitle'.
45061         * lib/unicase/u32-totitle.c: New file.
45062         * modules/unicase/u32-totitle: New file.
45063
45064         New module 'unicase/u16-totitle'.
45065         * lib/unicase/u16-totitle.c: New file.
45066         * modules/unicase/u16-totitle: New file.
45067
45068         New module 'unicase/u8-totitle'.
45069         * lib/unicase/u8-totitle.c: New file.
45070         * lib/unicase/u-totitle.h: New file.
45071         * modules/unicase/u8-totitle: New file.
45072
45073         Tests for module 'unicase/u32-tolower'.
45074         * modules/unicase/u32-tolower-tests: New file.
45075         * tests/unicase/test-u32-tolower.c: New file.
45076
45077         Tests for module 'unicase/u16-tolower'.
45078         * modules/unicase/u16-tolower-tests: New file.
45079         * tests/unicase/test-u16-tolower.c: New file.
45080
45081         Tests for module 'unicase/u8-tolower'.
45082         * modules/unicase/u8-tolower-tests: New file.
45083         * tests/unicase/test-u8-tolower.c: New file.
45084
45085         New module 'unicase/u32-tolower'.
45086         * lib/unicase/u32-tolower.c: New file.
45087         * modules/unicase/u32-tolower: New file.
45088
45089         New module 'unicase/u16-tolower'.
45090         * lib/unicase/u16-tolower.c: New file.
45091         * modules/unicase/u16-tolower: New file.
45092
45093         New module 'unicase/u8-tolower'.
45094         * lib/unicase/u8-tolower.c: New file.
45095         * modules/unicase/u8-tolower: New file.
45096
45097         Tests for module 'unicase/u32-toupper'.
45098         * modules/unicase/u32-toupper-tests: New file.
45099         * tests/unicase/test-u32-toupper.c: New file.
45100
45101         Tests for module 'unicase/u16-toupper'.
45102         * modules/unicase/u16-toupper-tests: New file.
45103         * tests/unicase/test-u16-toupper.c: New file.
45104
45105         Tests for module 'unicase/u8-toupper'.
45106         * modules/unicase/u8-toupper-tests: New file.
45107         * tests/unicase/test-u8-toupper.c: New file.
45108
45109         New module 'unicase/u32-toupper'.
45110         * lib/unicase/u32-toupper.c: New file.
45111         * modules/unicase/u32-toupper: New file.
45112
45113         New module 'unicase/u16-toupper'.
45114         * lib/unicase/u16-toupper.c: New file.
45115         * modules/unicase/u16-toupper: New file.
45116
45117         New module 'unicase/u8-toupper'.
45118         * lib/unicase/u8-toupper.c: New file.
45119         * modules/unicase/u8-toupper: New file.
45120
45121         New module 'unicase/u32-casemap'.
45122         * lib/unicase/u32-casemap.c: New file.
45123         * modules/unicase/u32-casemap: New file.
45124
45125         New module 'unicase/u16-casemap'.
45126         * lib/unicase/u16-casemap.c: New file.
45127         * modules/unicase/u16-casemap: New file.
45128
45129         New module 'unicase/u8-casemap'.
45130         * lib/unicase/unicasemap.h: New file.
45131         * lib/unicase/u8-casemap.c: New file.
45132         * lib/unicase/u-casemap.h: New file.
45133         * modules/unicase/u8-casemap: New file.
45134
45135         New module 'unicase/special-casing'.
45136         * lib/unicase/special-casing.h: New file.
45137         * lib/unicase/special-casing.c: New file.
45138         * lib/unicase/special-casing-table.gperf: New file, generated by
45139         gen-uni-tables.c.
45140         * modules/unicase/special-casing: New file.
45141
45142         Tests for module 'unicase/locale-language'.
45143         * modules/unicase/locale-language-tests: New file.
45144         * tests/unicase/test-locale-language.sh: New file.
45145         * tests/unicase/test-locale-language.c: New file.
45146
45147         New module 'unicase/locale-language'.
45148         * lib/unicase/locale-language.c: New file.
45149         * lib/unicase/locale-languages.gperf: New file.
45150         * modules/unicase/locale-language: New file.
45151
45152         Generate more tables for case conversion and case folding.
45153         * lib/gen-uni-tables.c (SCC_*): New enum items.
45154         (struct special_casing_rule): New type.
45155         (casing_rules, num_casing_rules, allocated_casing_rules): New
45156         variables.
45157         (add_casing_rule, fill_casing_rules): New functions.
45158         (struct casefold_rule): New type.
45159         (casefolding_rules, num_casefolding_rules,
45160         allocated_casefolding_rules): New variables.
45161         (fill_casefolding_rules): New function.
45162         (unicode_casefold): New variable.
45163         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
45164         sort_casing_rules, output_casing_rules): New functions.
45165         (main): Accept to more arguments: SpecialCasing.txt and
45166         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
45167         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
45168         Output mapping for casefolding.
45169
45170         * lib/unicase.h: Include stdbool.h, uninorm.h.
45171         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
45172         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
45173         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
45174         arguments.
45175         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
45176         resultp arguments.
45177         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
45178         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
45179         resultp arguments.
45180         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
45181         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
45182         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
45183         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
45184         declarations.
45185         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
45186
45187 2009-03-08  Bruno Haible  <bruno@clisp.org>
45188
45189         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
45190         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
45191         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
45192         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
45193
45194 2009-03-07  Bruno Haible  <bruno@clisp.org>
45195
45196         Adjust u*_normcmp, u*_normcoll API.
45197         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
45198         u16_normcoll, u32_normcoll): Change failure conventions.
45199         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
45200         errno and return -1.
45201         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
45202
45203 2009-03-07  Bruno Haible  <bruno@clisp.org>
45204
45205         Tests for module 'uninorm/u32-normcoll'.
45206         * modules/uninorm/u32-normcoll-tests: New file.
45207         * tests/uninorm/test-u32-normcoll.c: New file.
45208
45209         Tests for module 'uninorm/u16-normcoll'.
45210         * modules/uninorm/u16-normcoll-tests: New file.
45211         * tests/uninorm/test-u16-normcoll.c: New file.
45212
45213         Tests for module 'uninorm/u8-normcoll'.
45214         * modules/uninorm/u8-normcoll-tests: New file.
45215         * tests/uninorm/test-u8-normcoll.c: New file.
45216
45217 2009-03-07  Bruno Haible  <bruno@clisp.org>
45218
45219         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
45220         tests/uninorm/test-u32-normcmp.c.
45221         * tests/uninorm/test-u32-normcmp.c: Include it.
45222         (test_nonascii): New function, extracted from main. Add some more
45223         tests.
45224         (main): Invoke test_ascii and test_nonascii.
45225         * modules/uninorm/u32-normcmp-tests (Files): Add
45226         tests/uninorm/test-u32-normcmp.h.
45227         (Depends-on): Remove uninorm/u32-normcmp.
45228
45229         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
45230         tests/uninorm/test-u16-normcmp.c.
45231         * tests/uninorm/test-u16-normcmp.c: Include it.
45232         (test_nonascii): New function, extracted from main. Add some more
45233         tests.
45234         (main): Invoke test_ascii and test_nonascii.
45235         * modules/uninorm/u16-normcmp-tests (Files): Add
45236         tests/uninorm/test-u16-normcmp.h.
45237         (Depends-on): Remove uninorm/u16-normcmp.
45238
45239         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
45240         tests/uninorm/test-u8-normcmp.c.
45241         * tests/uninorm/test-u8-normcmp.c: Include it.
45242         (test_nonascii): New function, extracted from main. Add some more
45243         tests.
45244         (main): Invoke test_ascii and test_nonascii.
45245         * modules/uninorm/u8-normcmp-tests (Files): Add
45246         tests/uninorm/test-u8-normcmp.h.
45247         (Depends-on): Remove uninorm/u8-normcmp.
45248
45249 2009-03-07  Bruno Haible  <bruno@clisp.org>
45250
45251         New module 'uninorm/u32-normcoll'.
45252         * lib/uninorm/u32-normcoll.c: New file.
45253         * modules/uninorm/u32-normcoll: New file.
45254
45255         New module 'uninorm/u16-normcoll'.
45256         * lib/uninorm/u16-normcoll.c: New file.
45257         * modules/uninorm/u16-normcoll: New file.
45258
45259         New module 'uninorm/u8-normcoll'.
45260         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
45261         declarations.
45262         * lib/uninorm/u8-normcoll.c: New file.
45263         * lib/uninorm/u-normcoll.h: New file.
45264         * modules/uninorm/u8-normcoll: New file.
45265
45266         New module 'uninorm/u32-normxfrm'.
45267         * lib/uninorm/u32-normxfrm.c: New file.
45268         * modules/uninorm/u32-normxfrm: New file.
45269
45270         New module 'uninorm/u16-normxfrm'.
45271         * lib/uninorm/u16-normxfrm.c: New file.
45272         * modules/uninorm/u16-normxfrm: New file.
45273
45274         New module 'uninorm/u8-normxfrm'.
45275         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
45276         declarations.
45277         * lib/uninorm/u8-normxfrm.c: New file.
45278         * lib/uninorm/u-normxfrm.h: New file.
45279         * modules/uninorm/u8-normxfrm: New file.
45280
45281 2009-03-07  Bruno Haible  <bruno@clisp.org>
45282
45283         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
45284         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
45285         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
45286
45287 2009-03-07  Bruno Haible  <bruno@clisp.org>
45288
45289         New module 'memxfrm'.
45290         * lib/memxfrm.h: New file.
45291         * lib/memxfrm.c: New file.
45292         * modules/memxfrm: New file.
45293
45294 2009-03-07  Bruno Haible  <bruno@clisp.org>
45295
45296         New module 'memcmp2'.
45297         * lib/memcmp2.h: New file.
45298         * lib/memcmp2.c: New file.
45299         * modules/memcmp2: New file.
45300
45301 2009-03-07  Bruno Haible  <bruno@clisp.org>
45302
45303         Tests for module 'uninorm/decomposing-form'.
45304         * modules/uninorm/decomposing-form-tests: New file.
45305         * tests/uninorm/test-decomposing-form.c: New file.
45306
45307         New module 'uninorm/decomposing-form'.
45308         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
45309         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
45310         Add 'decomposing_variant' field.
45311         * lib/uninorm/decomposing-form.c: New file.
45312         * lib/uninorm/nfc.c (uninorm_nfc): Update.
45313         * lib/uninorm/nfd.c (uninorm_nfd): Update.
45314         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
45315         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
45316         * modules/uninorm/decomposing-form: New file.
45317         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
45318         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
45319
45320 2009-03-07  Bruno Haible  <bruno@clisp.org>
45321
45322         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
45323         strings.
45324
45325 2009-03-06  Bruno Haible  <bruno@clisp.org>
45326
45327         Tests for module 'uninorm/u32-normcmp'.
45328         * tests/uninorm/test-u32-normcmp.c: New file.
45329         * modules/uninorm/u32-normcmp-tests: New file.
45330
45331         Tests for module 'uninorm/u16-normcmp'.
45332         * tests/uninorm/test-u16-normcmp.c: New file.
45333         * modules/uninorm/u16-normcmp-tests: New file.
45334
45335         Tests for module 'uninorm/u8-normcmp'.
45336         * tests/uninorm/test-u8-normcmp.c: New file.
45337         * modules/uninorm/u8-normcmp-tests: New file.
45338
45339         New module 'uninorm/u32-normcmp'.
45340         * lib/uninorm/u32-normcmp.c: New file.
45341         * modules/uninorm/u32-normcmp: New file.
45342
45343         New module 'uninorm/u16-normcmp'.
45344         * lib/uninorm/u16-normcmp.c: New file.
45345         * modules/uninorm/u16-normcmp: New file.
45346
45347         New module 'uninorm/u8-normcmp'.
45348         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
45349         declarations.
45350         * lib/uninorm/u8-normcmp.c: New file.
45351         * lib/uninorm/u-normcmp.h: New file.
45352         * modules/uninorm/u8-normcmp: New file.
45353
45354 2009-03-06  Bruno Haible  <bruno@clisp.org>
45355
45356         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
45357         Reported by Eric Blake.
45358
45359 2009-03-06  Eric Blake  <ebb9@byu.net>
45360             Bruno Haible  <bruno@clisp.org>
45361
45362         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
45363         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
45364         condition.
45365         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
45366         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
45367         condition.
45368         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
45369
45370 2009-03-06  Eric Blake  <ebb9@byu.net>
45371
45372         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
45373         to avoid compiler warnings.
45374         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
45375
45376 2009-03-05  Bruno Haible  <bruno@clisp.org>
45377
45378         * tests/test-ftell.c (main): Disable test beyond end of file on
45379         FreeMiNT.
45380         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
45381
45382 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
45383
45384         * lib/filevercmp.c: Move hidden files up in ordering.
45385         * tests/test-filevercmp.c: Add tests for hidden files.
45386
45387 2009-03-04  Bruno Haible  <bruno@clisp.org>
45388
45389         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
45390         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
45391         AM_CFLAGS.
45392         Reported by Simon Josefsson.
45393
45394 2009-03-03  Bruno Haible  <bruno@clisp.org>
45395
45396         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
45397         Reported by Simon Josefsson.
45398
45399         * doc/ld-version-script.texi: Update node reference.
45400
45401 2009-03-03  Bruno Haible  <bruno@clisp.org>
45402
45403         * modules/visibility (License): Change to 'unlimited'.
45404         Suggested by Simon Josefsson.
45405
45406 2009-03-03  Jim Meyering  <meyering@redhat.com>
45407
45408         unlinkdir: cannot_unlink_dir may modify process state
45409         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
45410         it's neither thread-safe nor appropriate for use in a library.
45411
45412 2009-03-03  Eric Blake  <ebb9@byu.net>
45413
45414         test-closein: silence test under Darwin
45415         * tests/test-closein.sh: Ignore stderr from cat, since we don't
45416         care if it dies from EPIPE or EBADF.
45417
45418 2009-03-03  Bruno Haible  <bruno@clisp.org>
45419
45420         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
45421         earlier.
45422         * doc/visibility.texi: Fix @node and @section.
45423
45424 2009-03-03  Simon Josefsson  <simon@josefsson.org>
45425
45426         * doc/gnulib.texi: Link to sections for ld version script and
45427         visibility.
45428         * doc/visibility.texi: Add @node and @section.
45429         * modules/ld-version-script: New module.
45430         * m4/ld-version-script.m4: New file.
45431         * doc/ld-version-script.texi: New file.
45432
45433 2009-03-02  David Lutterkort  <lutter@redhat.com>
45434
45435         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
45436         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45437
45438 2009-03-02  Bruno Haible  <bruno@clisp.org>
45439
45440         * doc/visibility.texi: Mention libtool's -export-symbols option.
45441
45442 2009-03-02  Jim Meyering  <meyering@redhat.com>
45443
45444         announce-gen: new option: --no-print-checksums
45445         * build-aux/announce-gen (usage): Describe it.
45446         (print_checksums): Print a newline here, not in the [*] footnote.
45447         (main): Honor it.
45448
45449 2009-03-01  Bruno Haible  <bruno@clisp.org>
45450
45451         Use socklen_t in the native Windows replacements prototypes.
45452         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
45453         instead of 'int'.
45454         * lib/getsockopt.c (rpl_getsockopt): Likewise.
45455         * lib/setsockopt.c (rpl_setsockopt): Likewise.
45456         * modules/getsockopt (Depends-on): Add socklen.
45457         * modules/setsockopt (Depends-on): Add socklen.
45458
45459 2009-03-01  Bruno Haible  <bruno@clisp.org>
45460
45461         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
45462         least 4.2.
45463
45464 2009-03-01  Eric Blake  <ebb9@byu.net>
45465             Bruno Haible  <bruno@clisp.org>
45466
45467         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
45468         error messages.
45469         * lib/wait-process.c (wait_subprocess): Omit error message about
45470         deadly signal sent to the child of termsigp != NULL.
45471
45472 2009-03-01  Eric Blake  <ebb9@byu.net>
45473
45474         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
45475
45476 2009-03-01  Bruno Haible  <bruno@clisp.org>
45477
45478         Avoid a gcc warning.
45479         * tests/test-sched.c (b): Make global.
45480         Reported by Eric Blake.
45481
45482 2009-01-19  Martin Lambers  <marlam@marlam.de>
45483
45484         Provide POSIX semantics for socket timeout options on W32.
45485         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
45486         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
45487         * modules/setsockopt: Depend on sys_time module for struct timeval.
45488         * modules/getsockopt: Depend on sys_time module for struct timeval.
45489
45490 2009-03-01  Simon Josefsson  <simon@josefsson.org>
45491
45492         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
45493         __USE_GNU, for consistency with netdb.in.h.
45494         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45495
45496 2009-03-01  Bruno Haible  <bruno@clisp.org>
45497
45498         More support for FreeMiNT.
45499         * lib/fseeko.c (rpl_fseeko): Complete last commit.
45500         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45501
45502 2009-03-01  Bruno Haible  <bruno@clisp.org>
45503
45504         More support for FreeMiNT.
45505         * lib/fpurge.c (fpurge): Correct last commit.
45506         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45507
45508 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45509
45510         Fix unportable awk script in vc-list-files.
45511         * build-aux/vc-list-files: In the replacement awk script, use
45512         substr with a second argument of 1, not zero.
45513         Report by Simon Josefsson.
45514
45515 2009-02-28  Bruno Haible  <bruno@clisp.org>
45516
45517         More support for FreeMiNT.
45518         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
45519         to FreeMiNT today.
45520         * lib/fwriting.c (fwriting): Likewise.
45521         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
45522
45523 2009-02-28  Bruno Haible  <bruno@clisp.org>
45524
45525         * tests/test-freadseek.c (main): Disable test beyond end of file on
45526         FreeMiNT.
45527         * tests/test-ftello.c (main): Likewise.
45528         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
45529
45530 2009-02-28  Bruno Haible  <bruno@clisp.org>
45531
45532         Add tentative support for FreeMiNT.
45533         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
45534         * lib/fpurge.c (fpurge): Likewise.
45535         * lib/freadable.c (freadable): Likewise.
45536         * lib/freading.c (freading): Likewise.
45537         * lib/freadptr.c (freadptr): Likewise.
45538         * lib/freadseek.c (freadptrinc): Likewise.
45539         * lib/fseeko.c (rpl_fseeko): Likewise.
45540         * lib/fseterr.c (fseterr): Likewise.
45541         * lib/fwritable.c (fwritable): Likewise.
45542         * lib/fwriting.c (fwriting): Likewise.
45543         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
45544         Hourihane.
45545         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45546
45547 2009-02-28  Bruno Haible  <bruno@clisp.org>
45548
45549         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
45550         SIGCHLD.
45551         Reported by Jim Meyering.
45552
45553 2009-02-28  Bruno Haible  <bruno@clisp.org>
45554
45555         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
45556         Mention the results of these tests on various platforms.
45557         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
45558         order.
45559         * doc/posix-functions/printf.texi: Likewise.
45560         * doc/posix-functions/snprintf.texi: Likewise.
45561         * doc/posix-functions/sprintf.texi: Likewise.
45562         * doc/posix-functions/vfprintf.texi: Likewise.
45563         * doc/posix-functions/vprintf.texi: Likewise.
45564         * doc/posix-functions/vsnprintf.texi: Likewise.
45565         * doc/posix-functions/vsprintf.texi: Likewise.
45566         * doc/glibc-functions/obstack_printf.texi: Likewise.
45567         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
45568
45569 2009-02-28  Bruno Haible  <bruno@clisp.org>
45570
45571         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
45572         Reported by Loïc Minier <lool@dooz.org>.
45573
45574 2009-02-27  Bruno Haible  <bruno@clisp.org>
45575
45576         * gnulib-tool (func_import): Make the sed expression used to create the
45577         sed script for updating the .gitignore file POSIX compliant.
45578         Reported by Eric Blake.
45579
45580 2009-02-27  Bruno Haible  <bruno@clisp.org>
45581
45582         * gnulib-tool (sed): Don't alias as "sed --posix".
45583         Reported by Eric Blake.
45584
45585 2009-02-27  Bruno Haible  <bruno@clisp.org>
45586
45587         Avoid test link errors.
45588         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
45589         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
45590         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
45591         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
45592         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45593
45594 2009-02-27  Bruno Haible  <bruno@clisp.org>
45595
45596         Avoid spurious "(cached)" in configure output.
45597         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
45598         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
45599         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
45600         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
45601         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
45602         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
45603         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
45604         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
45605         Reported by Eric Blake.
45606
45607 2009-02-27  Eric Blake  <ebb9@byu.net>
45608
45609         printf: fix regression in previous patch
45610         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
45611
45612 2009-02-27  Bruno Haible  <bruno@clisp.org>
45613
45614         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
45615         value.
45616         * lib/stdint.in.h: Likewise.
45617         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
45618
45619 2009-02-27  Eric Blake  <ebb9@byu.net>
45620
45621         doc: mention more functions added in cygwin 1.7.0
45622         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
45623         addition.
45624         * doc/posix-functions/open_wmemstream.texi: Likewise.
45625         * doc/posix-functions/wcsnlen.texi: Likewise.
45626         * doc/posix-functions/wcsnrtombs.texi: Likewise.
45627         * doc/posix-functions/wcstod.texi: Likewise.
45628         * doc/posix-functions/wcstof.texi: Likewise.
45629         * doc/posix-functions/wcstoimax.texi: Likewise.
45630         * doc/posix-functions/wcstok.texi: Likewise.
45631         * doc/posix-functions/wcstoumax.texi: Likewise.
45632
45633         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
45634         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
45635         * doc/posix-functions/fprintf.texi: Update.
45636         * doc/posix-functions/printf.texi: Update.
45637         * doc/posix-functions/snprintf.texi: Update.
45638         * doc/posix-functions/sprintf.texi: Update.
45639         * doc/posix-functions/vfprintf.texi: Update.
45640         * doc/posix-functions/vprintf.texi: Update.
45641         * doc/posix-functions/vsnprintf.texi: Update.
45642         * doc/posix-functions/vsprintf.texi: Update.
45643         * doc/glibc-functions/obstack_printf.texi: Update.
45644         * doc/glibc-functions/obstack_vprintf.texi: Update.
45645
45646 2009-02-26  Eric Blake  <ebb9@byu.net>
45647
45648         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
45649         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
45650         compilation bug by using runtime conversion.
45651         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
45652         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
45653         * modules/ceill-tests (Files): Use nan.h.
45654         * modules/floorl-tests (Files): Likewise.
45655         * modules/frexpl-tests (Files): Likewise.
45656         * modules/isnanl-tests (Files): Likewise.
45657         * modules/ldexpl-tests (Files): Likewise.
45658         * modules/roundl-tests (Files): Likewise.
45659         * modules/truncl-tests (Files): Likewise.
45660         * tests/test-ceill.c (main): Use a working NaN.
45661         * tests/test-floorl.c (main): Likewise.
45662         * tests/test-frexpl.c (main): Likewise.
45663         * tests/test-isnan.c (test_long_double): Likewise.
45664         * tests/test-isnanl.h (main): Likewise.
45665         * tests/test-ldexpl.h (main): Likewise.
45666         * tests/test-roundl.h (main): Likewise.
45667         * tests/test-truncl.h (main): Likewise.
45668         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
45669
45670 2009-02-26  Eric Blake  <ebb9@byu.net>
45671             Bruno Haible  <bruno@clisp.org>
45672
45673         Work around a *printf bug with %ls on Solaris.
45674         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
45675         precision is specified, sprintf stops converting the wide string
45676         argument when the number of bytes that have been produced by this
45677         conversion equals or exceeds the precision.
45678         * doc/posix-functions/fprintf.texi: Update.
45679         * doc/posix-functions/printf.texi: Update.
45680         * doc/posix-functions/snprintf.texi: Update.
45681         * doc/posix-functions/sprintf.texi: Update.
45682         * doc/posix-functions/vfprintf.texi: Update.
45683         * doc/posix-functions/vprintf.texi: Update.
45684         * doc/posix-functions/vsnprintf.texi: Update.
45685         * doc/posix-functions/vsprintf.texi: Update.
45686         * doc/glibc-functions/obstack_printf.texi: Update.
45687         * doc/glibc-functions/obstack_vprintf.texi: Update.
45688
45689 2009-02-26  Eric Blake  <ebb9@byu.net>
45690
45691         stdlib: favor compiler check of random.h
45692         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
45693         to avoid an ObjC random.h installed by Swarm.
45694
45695 2009-02-26  Bruno Haible  <bruno@clisp.org>
45696
45697         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
45698         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
45699         Reported by Gary V. Vaughan <gary@gnu.org>.
45700
45701 2009-02-26  Bruno Haible  <bruno@clisp.org>
45702
45703         Fix *printf behaviour regarding the %ls directive.
45704         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
45705         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
45706         NEED_PRINTF_DIRECTIVE_LS.
45707         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
45708         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
45709         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45710         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
45711         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
45712         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
45713         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
45714         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45715         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45716         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45717         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45718         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
45719         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45720         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45721         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45722         * doc/posix-functions/fprintf.texi: Update.
45723         * doc/posix-functions/printf.texi: Update.
45724         * doc/posix-functions/snprintf.texi: Update.
45725         * doc/posix-functions/sprintf.texi: Update.
45726         * doc/posix-functions/vfprintf.texi: Update.
45727         * doc/posix-functions/vprintf.texi: Update.
45728         * doc/posix-functions/vsnprintf.texi: Update.
45729         * doc/posix-functions/vsprintf.texi: Update.
45730         * doc/glibc-functions/obstack_printf.texi: Update.
45731         * doc/glibc-functions/obstack_vprintf.texi: Update.
45732         Reported by Eric Blake.
45733
45734 2009-02-25  Bruno Haible  <bruno@clisp.org>
45735
45736         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
45737         with known value.
45738         Reported by Gary V. Vaughan <gary@gnu.org>.
45739
45740 2009-02-25  Bruno Haible  <bruno@clisp.org>
45741
45742         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
45743         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
45744         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
45745         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
45746         Reported by Gary V. Vaughan <gary@gnu.org>.
45747
45748 2009-02-25  Bruno Haible  <bruno@clisp.org>
45749
45750         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
45751         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
45752         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
45753         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
45754         Reported by Gary V. Vaughan <gary@gnu.org>.
45755
45756 2009-02-25  Eric Blake  <ebb9@byu.net>
45757
45758         tests: skip fseek/ftell tests if ungetc is broken
45759         * m4/ungetc.m4: New file.
45760         * modules/fseek-tests: Split test, so ungetc dependency is
45761         separate from rest of test.
45762         * modules/fseeko-tests: Likewise.
45763         * modules/ftell-tests: Likewise.
45764         * modules/ftello-tests: Likewise.
45765         * tests/test-fseek.c (main): Isolate ungetc dependency.
45766         * tests/test-fseeko.c (main): Likewise.
45767         * tests/test-ftell.c (main): Likewise.
45768         * tests/test-ftello.c (main): Likewise.
45769         * tests/test-fseek2.sh: New file.
45770         * tests/test-fseeko2.sh: Likewise.
45771         * tests/test-ftell2.sh: Likewise.
45772         * tests/test-ftello2.sh: Likewise.
45773
45774 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
45775
45776         test-getaddrinfo: fix usage of skip return code 77
45777         * tests/test-gettaddrinfo.c: Return skip code 77 only
45778         for first occurance of skip (4x77 is not 77)
45779
45780 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
45781
45782         strtod: avoid C99 decl-after-statement
45783         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
45784
45785 2009-02-24  Eric Blake  <ebb9@byu.net>
45786
45787         strtod: detect HP-UX 11.31 bug
45788         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
45789         Reported by Gary V. Vaughan.
45790
45791 2009-02-23  Bruno Haible  <bruno@clisp.org>
45792
45793         Fix invalid read past end of memory block.
45794         * lib/vasnprintf.c (DCHAR_SET): Define.
45795         (local_wcslen): Define only when needed.
45796         (local_strnlen, local_wcsnlen): New functions.
45797         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
45798         directives that involve a conversion ourselves.
45799         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
45800         wcsnlen, mbrtowc, wcrtomb.
45801         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
45802         * tests/test-vasprintf-posix.c (test_function): Likewise.
45803         * tests/test-snprintf-posix.h (test_function): Likewise.
45804         * tests/test-sprintf-posix.h (test_function): Likewise.
45805         Reported by Ben Pfaff <blp@cs.stanford.edu>.
45806
45807 2009-02-22  Bruno Haible  <bruno@clisp.org>
45808
45809         Implement new clarified decomposition of Hangul syllables.
45810         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
45811         of type LTV, return only a pairwise decomposition.
45812         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
45813         Likewise.
45814         * tests/uninorm/test-decomposition.c (main): Updated expected result.
45815         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
45816         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
45817
45818 2009-02-22  Bruno Haible  <bruno@clisp.org>
45819
45820         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
45821         zero-length results and shrink excess allocated memory.
45822         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
45823         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
45824         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
45825         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
45826         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
45827         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
45828         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
45829         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
45830         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
45831         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
45832         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
45833         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
45834
45835 2009-02-21  Bruno Haible  <bruno@clisp.org>
45836
45837         * doc/gnulib.texi: Include safe-alloc.texi earlier.
45838         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
45839         spaces after a period. Put a space between a macro name and its
45840         argument list. Trivial rewordings.
45841         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
45842         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
45843         (main): Return 0 explicitly.
45844
45845 2009-02-21  Bruno Haible  <bruno@clisp.org>
45846
45847         Tests for module 'uninorm/filter'.
45848         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
45849         * modules/uninorm/filter-tests: New file.
45850
45851         New module 'uninorm/filter'.
45852         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
45853         uninorm_filter_flush, uninorm_filter_free): New declarations.
45854         * lib/uninorm/uninorm-filter.c: New file.
45855         * modules/uninorm/filter: New file.
45856
45857 2009-02-21  Bruno Haible  <bruno@clisp.org>
45858
45859         Tests for module 'uninorm/nfkc'.
45860         * tests/uninorm/test-nfkc.c: New file.
45861         * tests/uninorm/test-u8-nfkc.c: New file.
45862         * tests/uninorm/test-u16-nfkc.c: New file.
45863         * tests/uninorm/test-u32-nfkc.c: New file.
45864         * tests/uninorm/test-u32-nfkc-big.sh: New file.
45865         * tests/uninorm/test-u32-nfkc-big.c: New file.
45866         * modules/uninorm/nfkc-tests: New file.
45867
45868         New module 'uninorm/nfkc'.
45869         * lib/uninorm/nfkc.c: New file.
45870         * modules/uninorm/nfkc: New file.
45871
45872         Tests for module 'uninorm/nfkd'.
45873         * tests/uninorm/test-nfkd.c: New file.
45874         * tests/uninorm/test-u8-nfkd.c: New file.
45875         * tests/uninorm/test-u16-nfkd.c: New file.
45876         * tests/uninorm/test-u32-nfkd.c: New file.
45877         * tests/uninorm/test-u32-nfkd-big.sh: New file.
45878         * tests/uninorm/test-u32-nfkd-big.c: New file.
45879         * modules/uninorm/nfkd-tests: New file.
45880
45881         New module 'uninorm/nfkd'.
45882         * lib/uninorm/nfkd.c: New file.
45883         * modules/uninorm/nfkd: New file.
45884
45885         Tests for module 'uninorm/nfc'.
45886         * tests/uninorm/test-nfc.c: New file.
45887         * tests/uninorm/test-u8-nfc.c: New file.
45888         * tests/uninorm/test-u16-nfc.c: New file.
45889         * tests/uninorm/test-u32-nfc.c: New file.
45890         * tests/uninorm/test-u32-nfc-big.sh: New file.
45891         * tests/uninorm/test-u32-nfc-big.c: New file.
45892         * modules/uninorm/nfc-tests: New file.
45893
45894         New module 'uninorm/nfc'.
45895         * lib/uninorm/nfc.c: New file.
45896         * modules/uninorm/nfc: New file.
45897
45898         Tests for module 'uninorm/nfd'.
45899         * tests/uninorm/test-nfd.c: New file.
45900         * tests/uninorm/test-u8-nfd.c: New file.
45901         * tests/uninorm/test-u16-nfd.c: New file.
45902         * tests/uninorm/test-u32-nfd.c: New file.
45903         * tests/uninorm/test-u32-nfd-big.sh: New file.
45904         * tests/uninorm/test-u32-nfd-big.c: New file.
45905         * tests/uninorm/test-u32-normalize-big.h: New file.
45906         * tests/uninorm/test-u32-normalize-big.c: New file.
45907         * tests/uninorm/NormalizationTest.txt: New file, created from
45908         Unicode 5.1.0 NormalizationTest.txt.
45909         * modules/uninorm/nfd-tests: New file.
45910
45911         New module 'uninorm/nfd'.
45912         * lib/uninorm/nfd.c: New file.
45913         * modules/uninorm/nfd: New file.
45914
45915         New module 'uninorm/u32-normalize'.
45916         * lib/uninorm/u32-normalize.c: New file.
45917         * modules/uninorm/u32-normalize: New file.
45918
45919         New module 'uninorm/u16-normalize'.
45920         * lib/uninorm/u16-normalize.c: New file.
45921         * modules/uninorm/u16-normalize: New file.
45922
45923         New module 'uninorm/u8-normalize'.
45924         * lib/uninorm/u8-normalize.c: New file.
45925         * lib/uninorm/normalize-internal.h: New file.
45926         * lib/uninorm/u-normalize-internal.h: New file.
45927         * modules/uninorm/u8-normalize: New file.
45928
45929         New module 'uninorm/decompose-internal'.
45930         * lib/uninorm/decompose-internal.c: New file.
45931         * modules/uninorm/decompose-internal: New file.
45932
45933         Tests for module 'uninorm/composition'.
45934         * tests/uninorm/test-composition.c: New file.
45935         * modules/uninorm/composition-tests: New file.
45936
45937         New module 'uninorm/composition'.
45938         * lib/uninorm/composition.c: New file.
45939         * lib/uninorm/composition-table.gperf: New file, generated by
45940         gen-uni-tables.
45941         * modules/uninorm/composition: New file.
45942
45943         Tests for module 'uninorm/compat-decomposition'.
45944         * tests/uninorm/test-compat-decomposition.c: New file.
45945         * modules/uninorm/compat-decomposition-tests: New file.
45946
45947         New module 'uninorm/compat-decomposition'.
45948         * lib/uninorm/decompose-internal.h: New file.
45949         * lib/uninorm/compat-decomposition.c: New file.
45950         * modules/uninorm/compat-decomposition: New file.
45951
45952         Tests for module 'uninorm/canonical-decomposition'.
45953         * tests/uninorm/test-canonical-decomposition.c: New file.
45954         * modules/uninorm/canonical-decomposition-tests: New file.
45955
45956         New module 'uninorm/canonical-decomposition'.
45957         * lib/uninorm/canonical-decomposition.c: New file.
45958         * modules/uninorm/canonical-decomposition: New file.
45959
45960         Tests for module 'uninorm/decomposition'.
45961         * tests/uninorm/test-decomposition.c: New file.
45962         * modules/uninorm/decomposition-tests: New file.
45963
45964         New module 'uninorm/decomposition'.
45965         * lib/uninorm/decomposition.c: New file.
45966         * modules/uninorm/decomposition: New file.
45967
45968         New module 'uninorm/decomposition-table'.
45969         * lib/uninorm/decomposition-table.h: New file.
45970         * lib/uninorm/decomposition-table.c: New file.
45971         * lib/uninorm/decomposition-table1.h: New file, generated by
45972         gen-uni-tables.
45973         * lib/uninorm/decomposition-table2.h: New file, generated by
45974         gen-uni-tables.
45975         * modules/uninorm/decomposition-table: New file.
45976
45977         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
45978         (UC_DECOMP_*): New enumeration items.
45979         (get_decomposition): New function.
45980         (struct decomp_table): New type.
45981         (output_decomposition, output_decomposition_tables): New functions.
45982         (unicode_composition_exclusions): New variable.
45983         (fill_composition_exclusions, debug_output_composition_tables): New
45984         functions.
45985         (main): Accept one more argument. Invoke fill_composition_exclusions.
45986         Output decomposition and composition tables.
45987
45988         New module 'uninorm/base'.
45989         * lib/uninorm.h: New file.
45990         * lib/unictype.h: Update comment.
45991         * modules/uninorm/base: New file.
45992
45993 2009-02-21  David Lutterkort  <lutter@redhat.com>
45994
45995         Tests for module 'safe-alloc'.
45996         * tests/test-safe-alloc.c: New file.
45997         * modules/safe-alloc-tests: New file.
45998
45999         New module 'safe-alloc'.
46000         * lib/safe-alloc.h: New file.
46001         * lib/safe-alloc.c: New file.
46002         * m4/safe-alloc.m4: New file.
46003         * modules/safe-alloc: New file.
46004         * doc/safe-alloc.texi: New file.
46005         * doc/gnulib.texi: Include it.
46006         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
46007         safe-alloc.
46008
46009 2009-02-18  Bruno Haible  <bruno@clisp.org>
46010
46011         Fix link error on non-glibc systems.
46012         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
46013         variable.
46014         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46015
46016 2009-02-18  Jim Meyering  <meyering@redhat.com>
46017
46018         fts: avoid used-uninitialized error due to recent change
46019         * lib/fts.c (fts_read): Guard uses of the new member,
46020         parent->fts_n_dirs_remaining, since it's not relevant for
46021         the parent of a directory specified on the command-line.
46022
46023 2009-02-17  James Youngman  <jay@gnu.org>
46024             Bruno Haible  <bruno@clisp.org>
46025
46026         * m4/include_next.m4: Reformulate comment.
46027
46028 2009-02-16  Jim Meyering  <meyering@redhat.com>
46029
46030         fts: add #if guards so that the fts_lgpl module still builds
46031         * lib/fts.c: Guard just-added hash-table-using parts with
46032         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
46033         Reported by Simon Josefsson.
46034
46035 2009-02-15  Bruno Haible  <bruno@clisp.org>
46036
46037         * modules/array-mergesort-tests: New file.
46038         * tests/test-array-mergesort.c: New file.
46039
46040         New module 'array-mergesort'.
46041         * modules/array-mergesort: New file.
46042         * lib/array-mergesort.h: New file.
46043
46044 2009-02-15  Bruno Haible  <bruno@clisp.org>
46045
46046         Fix 2009-02-07 commit.
46047         * lib/gen-uni-tables.c (output_predicate, output_category,
46048         output_combclass, output_bidi_category, output_decimal_digit,
46049         output_digit, output_numeric, output_mirror, output_scripts,
46050         output_ident_category, output_simple_mapping): Fix format directives.
46051         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
46052
46053 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
46054
46055         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
46056         fixes are available from IBM.
46057
46058 2009-02-13  Jim Meyering  <meyering@redhat.com>
46059
46060         fts: arrange not to stat non-directories in more cases
46061         This makes GNU find (when it doesn't need to stat each file)
46062         *much* more efficient at traversing reiserfs file systems.
46063         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
46064         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
46065         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
46066         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
46067         (leaf_optimization_applies): New function.
46068         (LCO_hash, LCO_compare): New helper functions.
46069         (link_count_optimize_ok): New function.
46070         (fts_stat): Initialize new member (if dir).
46071         (fts_read): Decrement parent's fts_n_dirs_remaining count if
46072         we've just stat'ed a directory.  Skip the stat call when possible.
46073         ---
46074         Note this AFS-related exchange:
46075         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
46076         and note find's pioctl call in find/fstype.c.
46077         But that is necessary only if you want to enable the
46078         optimization for AFS, and for now, I don't.
46079
46080         fts: move a function definition "up" (no semantic change)
46081         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
46082         "up" to precede upcoming use of a related function.
46083
46084 2009-02-11  Jim Meyering  <meyering@redhat.com>
46085
46086         fts: correct internal computation of nlinks (optimization-related)
46087         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
46088         whether the current entry is a directory, so don't test it.
46089
46090 2009-02-10  Bruno Haible  <bruno@clisp.org>
46091
46092         Tests for module 'uniwbrk/ulc-wordbreaks'.
46093         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
46094         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
46095         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
46096
46097         Tests for module 'uniwbrk/u32-wordbreaks'.
46098         * modules/uniwbrk/u32-wordbreaks-tests: New file.
46099         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
46100
46101         Tests for module 'uniwbrk/u16-wordbreaks'.
46102         * modules/uniwbrk/u16-wordbreaks-tests: New file.
46103         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
46104
46105         Tests for module 'uniwbrk/u8-wordbreaks'.
46106         * modules/uniwbrk/u8-wordbreaks-tests: New file.
46107         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
46108
46109 2009-02-10  Bruno Haible  <bruno@clisp.org>
46110
46111         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
46112         property.
46113         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
46114         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
46115         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
46116
46117 2009-02-10  Simon Josefsson  <simon@josefsson.org>
46118
46119         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
46120         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
46121
46122 2009-02-10  Bruno Haible  <bruno@clisp.org>
46123
46124         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
46125         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
46126         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
46127         * lib/unilbrk/u8-possible-linebreaks.c: Update.
46128         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
46129         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
46130
46131 2009-02-09  Simon Josefsson  <simon@josefsson.org>
46132
46133         * lib/sockets.h (gl_fd_to_handle): New function.
46134
46135         * tests/test-sockets.c: Call gl_fd_to_handle.
46136
46137 2009-02-09  Bruno Haible  <bruno@clisp.org>
46138
46139         * doc/havelib.texi: Document the conventions on bi-arch systems.
46140
46141 2009-02-08  Bruno Haible  <bruno@clisp.org>
46142
46143         Document the AC_LIB_LINKFLAGS macro.
46144         * doc/havelib.texi: New file, mostly written on 2005-05-24.
46145         * doc/gnulib.texi: Include it.
46146
46147 2009-02-08  Bruno Haible  <bruno@clisp.org>
46148
46149         Fix wrong order of sections, compared to TOC.
46150         * doc/gnulib.texi: Include relocatable-maint.texi after the
46151         "Regular expressions" node, not before.
46152
46153 2009-02-08  Bruno Haible  <bruno@clisp.org>
46154
46155         Tests for module 'unicase/totitle'.
46156         * modules/unicase/totitle-tests: New file.
46157
46158         Tests for module 'unicase/tolower'.
46159         * modules/unicase/tolower-tests: New file.
46160
46161         Tests for module 'unicase/toupper'.
46162         * modules/unicase/toupper-tests: New file.
46163         * tests/unicase/test-mapping-part1.h: New file.
46164         * tests/unicase/test-mapping-part2.h: New file.
46165
46166         New module 'unicase/totitle'.
46167         * modules/unicase/totitle: New file.
46168         * lib/unicase/totitle.c: New file.
46169
46170         New module 'unicase/tolower'.
46171         * modules/unicase/tolower: New file.
46172         * lib/unicase/tolower.c: New file.
46173
46174         New module 'unicase/toupper'.
46175         * modules/unicase/toupper: New file.
46176         * lib/unicase/toupper.c: New file.
46177         * lib/unicase/simple-mapping.h: New file.
46178
46179         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
46180         (mapping_table): New structure.
46181         (output_simple_mapping): New function.
46182         (main): Invoke output_simple_mapping_test and output_simple_mapping.
46183         * modules/gen-uni-tables (Description): Update.
46184         * lib/unicase/toupper.h: New file, automatically generated by
46185         gen-uni-tables.
46186         * lib/unicase/tolower.h: New file, automatically generated by
46187         gen-uni-tables.
46188         * lib/unicase/totitle.h: New file, automatically generated by
46189         gen-uni-tables.
46190         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
46191         gen-uni-tables.
46192         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
46193         gen-uni-tables.
46194         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
46195         gen-uni-tables.
46196
46197         New module 'unicase/base'.
46198         * modules/unicase/base: New file.
46199         * lib/unicase.h: New file.
46200
46201 2009-02-08  Bruno Haible  <bruno@clisp.org>
46202
46203         New module 'uniwbrk/ulc-wordbreaks'.
46204         * modules/uniwbrk/ulc-wordbreaks: New file.
46205         * lib/uniwbrk/ulc-wordbreaks.c: New file.
46206
46207         New module 'uniwbrk/u32-wordbreaks'.
46208         * modules/uniwbrk/u32-wordbreaks: New file.
46209         * lib/uniwbrk/u32-wordbreaks.c: New file.
46210
46211         New module 'uniwbrk/u16-wordbreaks'.
46212         * modules/uniwbrk/u16-wordbreaks: New file.
46213         * lib/uniwbrk/u16-wordbreaks.c: New file.
46214
46215         New module 'uniwbrk/u8-wordbreaks'.
46216         * modules/uniwbrk/u8-wordbreaks: New file.
46217         * lib/uniwbrk/u8-wordbreaks.c: New file.
46218         * lib/uniwbrk/u-wordbreaks.h: New file.
46219
46220         New module 'uniwbrk/table'.
46221         * modules/uniwbrk/table: New file.
46222         * lib/uniwbrk/wbrktable.h: New file.
46223         * lib/uniwbrk/wbrktable.c: New file.
46224
46225         New module 'uniwbrk/wordbreak-property'.
46226         * modules/uniwbrk/wordbreak-property: New file.
46227         * lib/uniwbrk/wordbreak-property.c: New file.
46228
46229         * lib/gen-uni-tables.c (WBP_*): New enum items.
46230         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
46231         (unicode_org_wbp): New variable.
46232         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
46233         New functions.
46234         (wbp_table): New structure.
46235         (output_wbp, output_wbrk_tables): New functions.
46236         (main): Accept additional argument. Invoke fill_org_wbp,
46237         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
46238         output_wbrk_tables.
46239         * modules/gen-uni-tables (Description): Update.
46240         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
46241         gen-uni-tables.
46242
46243         New module 'uniwbrk/base'.
46244         * modules/uniwbrk/base: New file.
46245         * lib/uniwbrk.h: New file.
46246
46247 2009-02-08  Bruno Haible  <bruno@clisp.org>
46248
46249         Update to Unicode 5.1.0.
46250         * lib/gen-uni-tables.c (is_property_alphabetic): Include
46251         U+2185..U+2188.
46252         (is_property_default_ignorable_code_point): Don't include characters
46253         of category Cc or Cs and not-a-characters.
46254         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
46255         U+0D79, U+109E, U+109F, U+A60C.
46256         * lib/unictype/bidi_of.h: Regenerated.
46257         * lib/unictype/blocks.h: Regenerated.
46258         * lib/unictype/categ_C.h: Regenerated.
46259         * lib/unictype/categ_Cf.h: Regenerated.
46260         * lib/unictype/categ_Cn.h: Regenerated.
46261         * lib/unictype/categ_L.h: Regenerated.
46262         * lib/unictype/categ_Ll.h: Regenerated.
46263         * lib/unictype/categ_Lm.h: Regenerated.
46264         * lib/unictype/categ_Lo.h: Regenerated.
46265         * lib/unictype/categ_Lu.h: Regenerated.
46266         * lib/unictype/categ_M.h: Regenerated.
46267         * lib/unictype/categ_Mc.h: Regenerated.
46268         * lib/unictype/categ_Me.h: Regenerated.
46269         * lib/unictype/categ_Mn.h: Regenerated.
46270         * lib/unictype/categ_N.h: Regenerated.
46271         * lib/unictype/categ_Nd.h: Regenerated.
46272         * lib/unictype/categ_Nl.h: Regenerated.
46273         * lib/unictype/categ_No.h: Regenerated.
46274         * lib/unictype/categ_P.h: Regenerated.
46275         * lib/unictype/categ_Pd.h: Regenerated.
46276         * lib/unictype/categ_Pe.h: Regenerated.
46277         * lib/unictype/categ_Pf.h: Regenerated.
46278         * lib/unictype/categ_Pi.h: Regenerated.
46279         * lib/unictype/categ_Po.h: Regenerated.
46280         * lib/unictype/categ_Ps.h: Regenerated.
46281         * lib/unictype/categ_S.h: Regenerated.
46282         * lib/unictype/categ_Sk.h: Regenerated.
46283         * lib/unictype/categ_Sm.h: Regenerated.
46284         * lib/unictype/categ_So.h: Regenerated.
46285         * lib/unictype/categ_of.h: Regenerated.
46286         * lib/unictype/combining.h: Regenerated.
46287         * lib/unictype/ctype_alnum.h: Regenerated.
46288         * lib/unictype/ctype_alpha.h: Regenerated.
46289         * lib/unictype/ctype_graph.h: Regenerated.
46290         * lib/unictype/ctype_lower.h: Regenerated.
46291         * lib/unictype/ctype_print.h: Regenerated.
46292         * lib/unictype/ctype_punct.h: Regenerated.
46293         * lib/unictype/ctype_upper.h: Regenerated.
46294         * lib/unictype/decdigit.h: Regenerated.
46295         * lib/unictype/digit.h: Regenerated.
46296         * lib/unictype/mirror.h: Regenerated.
46297         * lib/unictype/numeric.h: Regenerated.
46298         * lib/unictype/pr_alphabetic.h: Regenerated.
46299         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
46300         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
46301         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
46302         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
46303         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
46304         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
46305         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
46306         * lib/unictype/pr_combining.h: Regenerated.
46307         * lib/unictype/pr_dash.h: Regenerated.
46308         * lib/unictype/pr_decimal_digit.h: Regenerated.
46309         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
46310         * lib/unictype/pr_deprecated.h: Regenerated.
46311         * lib/unictype/pr_diacritic.h: Regenerated.
46312         * lib/unictype/pr_extender.h: Regenerated.
46313         * lib/unictype/pr_format_control.h: Regenerated.
46314         * lib/unictype/pr_grapheme_base.h: Regenerated.
46315         * lib/unictype/pr_grapheme_extend.h: Regenerated.
46316         * lib/unictype/pr_grapheme_link.h: Regenerated.
46317         * lib/unictype/pr_id_continue.h: Regenerated.
46318         * lib/unictype/pr_id_start.h: Regenerated.
46319         * lib/unictype/pr_ideographic.h: Regenerated.
46320         * lib/unictype/pr_ignorable_control.h: Regenerated.
46321         * lib/unictype/pr_lowercase.h: Regenerated.
46322         * lib/unictype/pr_math.h: Regenerated.
46323         * lib/unictype/pr_numeric.h: Regenerated.
46324         * lib/unictype/pr_other_alphabetic.h: Regenerated.
46325         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
46326         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
46327         * lib/unictype/pr_other_id_continue.h: Regenerated.
46328         * lib/unictype/pr_other_lowercase.h: Regenerated.
46329         * lib/unictype/pr_other_math.h: Regenerated.
46330         * lib/unictype/pr_punctuation.h: Regenerated.
46331         * lib/unictype/pr_sentence_terminal.h: Regenerated.
46332         * lib/unictype/pr_soft_dotted.h: Regenerated.
46333         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
46334         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
46335         * lib/unictype/pr_unified_ideograph.h: Regenerated.
46336         * lib/unictype/pr_uppercase.h: Regenerated.
46337         * lib/unictype/pr_xid_continue.h: Regenerated.
46338         * lib/unictype/pr_xid_start.h: Regenerated.
46339         * lib/unictype/pr_zero_width.h: Regenerated.
46340         * lib/unictype/scripts.h: Regenerated.
46341         * lib/unictype/scripts_byname.gperf: Regenerated.
46342         * lib/unictype/sy_java_ident.h: Regenerated.
46343         * lib/unilbrk/lbrkprop1.h: Regenerated.
46344         * lib/unilbrk/lbrkprop2.h: Regenerated.
46345         * tests/unictype/test-categ_C.c: Regenerated.
46346         * tests/unictype/test-categ_Cf.c: Regenerated.
46347         * tests/unictype/test-categ_Cn.c: Regenerated.
46348         * tests/unictype/test-categ_L.c: Regenerated.
46349         * tests/unictype/test-categ_Ll.c: Regenerated.
46350         * tests/unictype/test-categ_Lm.c: Regenerated.
46351         * tests/unictype/test-categ_Lo.c: Regenerated.
46352         * tests/unictype/test-categ_Lu.c: Regenerated.
46353         * tests/unictype/test-categ_M.c: Regenerated.
46354         * tests/unictype/test-categ_Mc.c: Regenerated.
46355         * tests/unictype/test-categ_Me.c: Regenerated.
46356         * tests/unictype/test-categ_Mn.c: Regenerated.
46357         * tests/unictype/test-categ_N.c: Regenerated.
46358         * tests/unictype/test-categ_Nd.c: Regenerated.
46359         * tests/unictype/test-categ_Nl.c: Regenerated.
46360         * tests/unictype/test-categ_No.c: Regenerated.
46361         * tests/unictype/test-categ_P.c: Regenerated.
46362         * tests/unictype/test-categ_Pd.c: Regenerated.
46363         * tests/unictype/test-categ_Pe.c: Regenerated.
46364         * tests/unictype/test-categ_Pf.c: Regenerated.
46365         * tests/unictype/test-categ_Pi.c: Regenerated.
46366         * tests/unictype/test-categ_Po.c: Regenerated.
46367         * tests/unictype/test-categ_Ps.c: Regenerated.
46368         * tests/unictype/test-categ_S.c: Regenerated.
46369         * tests/unictype/test-categ_Sk.c: Regenerated.
46370         * tests/unictype/test-categ_Sm.c: Regenerated.
46371         * tests/unictype/test-categ_So.c: Regenerated.
46372         * tests/unictype/test-ctype_alnum.c: Regenerated.
46373         * tests/unictype/test-ctype_alpha.c: Regenerated.
46374         * tests/unictype/test-ctype_graph.c: Regenerated.
46375         * tests/unictype/test-ctype_lower.c: Regenerated.
46376         * tests/unictype/test-ctype_print.c: Regenerated.
46377         * tests/unictype/test-ctype_punct.c: Regenerated.
46378         * tests/unictype/test-ctype_upper.c: Regenerated.
46379         * tests/unictype/test-decdigit.h: Regenerated.
46380         * tests/unictype/test-digit.h: Regenerated.
46381         * tests/unictype/test-numeric.h: Regenerated.
46382         * tests/unictype/test-pr_alphabetic.c: Regenerated.
46383         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
46384         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
46385         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
46386         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
46387         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
46388         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
46389         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
46390         * tests/unictype/test-pr_combining.c: Regenerated.
46391         * tests/unictype/test-pr_dash.c: Regenerated.
46392         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
46393         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
46394         * tests/unictype/test-pr_deprecated.c: Regenerated.
46395         * tests/unictype/test-pr_diacritic.c: Regenerated.
46396         * tests/unictype/test-pr_extender.c: Regenerated.
46397         * tests/unictype/test-pr_format_control.c: Regenerated.
46398         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
46399         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
46400         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
46401         * tests/unictype/test-pr_id_continue.c: Regenerated.
46402         * tests/unictype/test-pr_id_start.c: Regenerated.
46403         * tests/unictype/test-pr_ideographic.c: Regenerated.
46404         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
46405         * tests/unictype/test-pr_lowercase.c: Regenerated.
46406         * tests/unictype/test-pr_math.c: Regenerated.
46407         * tests/unictype/test-pr_numeric.c: Regenerated.
46408         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
46409         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
46410         Regenerated.
46411         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
46412         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
46413         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
46414         * tests/unictype/test-pr_other_math.c: Regenerated.
46415         * tests/unictype/test-pr_punctuation.c: Regenerated.
46416         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
46417         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
46418         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
46419         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
46420         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
46421         * tests/unictype/test-pr_uppercase.c: Regenerated.
46422         * tests/unictype/test-pr_xid_continue.c: Regenerated.
46423         * tests/unictype/test-pr_xid_start.c: Regenerated.
46424         * tests/unictype/test-pr_zero_width.c: Regenerated.
46425
46426         Update to Unicode 5.1.0.
46427         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
46428         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
46429         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
46430         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
46431         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
46432         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
46433         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
46434         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
46435         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
46436         (nonspacing_table_ind): Update.
46437         * tests/uniwidth/test-uc_width2.sh: Update expected result.
46438
46439         Update to Unicode 5.1.0.
46440         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
46441         code transform.
46442         * lib/uniname/uniname.c (unicode_character_name,
46443         unicode_name_character): Add the range 0x1Fxxx to the code transform.
46444         * lib/uniname/uninames.h: Regenerated.
46445         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
46446
46447 2009-02-07  Bruno Haible  <bruno@clisp.org>
46448
46449         Merge gen-ctype and gen-lbrk into a single program.
46450         * lib/gen-uni-tables.c: New file, incorporating
46451         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
46452         Add directory prefixes to the names of the generated files.
46453         * lib/unictype/gen-ctype.c: Remove file.
46454         * lib/unilbrk/gen-lbrk.c: Remove file.
46455         * modules/gen-uni-tables: New file.
46456         * modules/unictype/gen-ctype: Remove file.
46457         * modules/unilbrk/gen-lbrk: Remove file.
46458
46459 2009-02-07  Bruno Haible  <bruno@clisp.org>
46460
46461         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
46462
46463         New module 'unistr/u32-strcoll'.
46464         * modules/unistr/u32-strcoll: New file.
46465         * lib/unistr/u32-strcoll.c: New file.
46466
46467         New module 'unistr/u16-strcoll'.
46468         * modules/unistr/u16-strcoll: New file.
46469         * lib/unistr/u16-strcoll.c: New file.
46470
46471         New module 'unistr/u8-strcoll'.
46472         * modules/unistr/u8-strcoll: New file.
46473         * lib/unistr/u8-strcoll.c: New file.
46474         * lib/unistr/u-strcoll.h: New file.
46475
46476 2009-02-07  Bruno Haible  <bruno@clisp.org>
46477
46478         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
46479         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
46480         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
46481         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
46482         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
46483         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
46484
46485 2009-02-07  Bruno Haible  <bruno@clisp.org>
46486
46487         Make 64-bit clean.
46488         * lib/unictype/gen-ctype.c (output_predicate, output_category,
46489         output_combclass, output_bidi_category, output_decimal_digit,
46490         output_digit, output_numeric, output_mirror, output_scripts,
46491         output_ident_category): Use proper width specifier in format strings.
46492
46493 2009-02-07  Bruno Haible  <bruno@clisp.org>
46494
46495         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
46496         failure behaviour.
46497
46498 2009-02-07  Jim Meyering  <meyering@redhat.com>
46499
46500         regex: avoid compilation failure with upcoming gcc-4.4
46501         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
46502         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
46503         "... error: integer overflow in preprocessor expression".
46504
46505 2009-02-05  Ben Pfaff  <blp@gnu.org>
46506
46507         Fix link errors on Windows when close module is used.
46508         * modules/close: Add $(LIB_CLOSE) to Link section.
46509         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
46510         $(LIB_CLOSE) on Windows.
46511
46512 2009-02-05  Jim Meyering  <meyering@redhat.com>
46513
46514         still avoid unused-parameter warnings, but do it cleanly
46515         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
46516         (get_fs_usage): Cast to void instead.
46517         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
46518         (dev_from_mount_options, read_file_system_list): Cast to void.
46519         Prompted by Bruno Haible.
46520
46521 2009-02-04  Jim Meyering  <meyering@redhat.com>
46522
46523         fsusage.c: correct copyright year
46524         * lib/fsusage.c: Reflect year in which the change is pushed into
46525
46526         avoid misc. warnings
46527         * lib/fsusage.c (UNUSED_PARAM): Define.
46528         (get_fs_usage): Mark parameter "disk" as unused.
46529         * lib/getugroups.c (getgrent): Use "void" in prototype.
46530         * lib/mountlist.c: Mark unused parameters.
46531         (read_file_system_list): Declare a local with "const".
46532         * lib/nanosleep.c (getnow): Declare static.
46533         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
46534
46535         dirfd: set errno upon failure
46536         * lib/dirfd.c: Include <errno.h>.
46537         Set errno to ENOTSUP when returning -1.
46538         * modules/dirfd (Depends-on): Add errno.
46539         Suggested by John Kodis <kodis@comcast.net>.
46540
46541 2009-02-01  Bruno Haible  <bruno@clisp.org>
46542
46543         Don't assume sizeof (long) >= sizeof (void *).
46544         * lib/memcmp.c: Include stdint.h.
46545         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
46546         srcp2 to 'const byte *'.
46547         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
46548         types to uintptr_t.
46549         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
46550         * modules/memcmp (Depends-on): Add stdint.
46551         Reported by Ozkan Sezer <sezeroz@gmail.com>.
46552
46553 2009-01-30  Eric Blake  <ebb9@byu.net>
46554
46555         fix more require-before-expand issues
46556         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
46557         expand, AC_PROG_AWK.
46558         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
46559
46560 2009-01-28  Eric Blake  <ebb9@byu.net>
46561
46562         version-etc: use consistent URL formatting
46563         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
46564         Improve formatting.  Use fputs for string without %.
46565
46566 2009-01-28  Jim Meyering  <meyering@redhat.com>
46567
46568         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
46569         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
46570         "underquoted definition of NAME" from autoconf-2.59.
46571
46572 2009-01-28  Bruno Haible  <bruno@clisp.org>
46573
46574         * doc/gnulib.texi: Add "Obsolete modules" to index.
46575
46576 2009-01-28  Jim Meyering  <meyering@redhat.com>
46577
46578         useless-if-before-free: recognize more variants
46579         * build-aux/useless-if-before-free: Also recognize e.g.,
46580         if (NULL != p) free (p);
46581
46582 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
46583
46584         test-getaddrinfo: skip (don't fail) this test when there's no network
46585         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
46586         on the presumption that it means you lack network access.
46587
46588 2009-01-26  Jim Meyering  <meyering@redhat.com>
46589
46590         fflush: avoid warnings on modern systems
46591         * lib/fflush.c (rpl_fflush): Move declarations of locals,
46592         pos and result, into scopes where they're used.
46593
46594 2009-01-26  Eric Blake  <ebb9@byu.net>
46595
46596         Silence warning reintroduced by recent extensions patch.
46597         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
46598         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
46599         autoconf.
46600
46601         Backport improved autoconf semantics of AC_DEFUN_ONCE.
46602         * m4/00gnulib.m4: New file.
46603         * gnulib-tool (func_get_filelist): Always use it.
46604         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
46605         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
46606
46607 2009-01-25  Bruno Haible  <bruno@clisp.org>
46608
46609         Make test-quotearg work on MacOS X and AIX.
46610         * tests/test-quotearg.sh: New file.
46611         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
46612         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
46613         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
46614         include <libintl.h>.
46615         (fake_locale): Remove variable.
46616         (gettext, dgettext, dcgettext): Remove functions.
46617         (main): Instead of setting a fake locale, set a real locale. Call
46618         textdomain and bindtextdomain.
46619         * modules/quotearg-tests (Files): Add the new files.
46620         (Depends-on): Add gettext, setenv, unsetenv.
46621         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
46622         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
46623         Augment TESTS_ENVIRONMENT.
46624
46625 2009-01-25  Bruno Haible  <bruno@clisp.org>
46626
46627         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
46628         fr_FR.ISO8859-1 locale on MacOS X.
46629         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
46630         ja_JP.eucJP locale on MacOS X.
46631         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
46632         zh_CN.GB18030 locale on MacOS X.
46633
46634 2009-01-25  Bruno Haible  <bruno@clisp.org>
46635
46636         Avoid link errors on MacOS X 10.3.
46637         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
46638         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
46639
46640 2009-01-25  Bruno Haible  <bruno@clisp.org>
46641
46642         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
46643         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
46644         * modules/pipe (Files): Remove m4/posix_spawn.m4.
46645         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
46646         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
46647         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
46648         posix_spawnattr_init, posix_spawnattr_setsigmask,
46649         posix_spawnattr_setflags, posix_spawnattr_destroy.
46650
46651         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
46652         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
46653         * modules/execute (Files): Remove m4/posix_spawn.m4.
46654         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
46655         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
46656         posix_spawnattr_init, posix_spawnattr_setsigmask,
46657         posix_spawnattr_setflags, posix_spawnattr_destroy.
46658
46659 2009-01-25  Bruno Haible  <bruno@clisp.org>
46660
46661         * lib/glthread/threadlib.c: Include <stdlib.h>.
46662
46663 2009-01-25  Bruno Haible  <bruno@clisp.org>
46664
46665         * lib/glthread/threadlib.c (dummy): New declaration.
46666
46667 2009-01-25  Bruno Haible  <bruno@clisp.org>
46668
46669         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
46670         multibyte characters also for the GB18030 encoding. Don't crash when
46671         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
46672
46673 2009-01-25  Bruno Haible  <bruno@clisp.org>
46674
46675         Avoid redefining 'struct random_data' on OSF/1 5.1.
46676         * lib/stdlib.in.h: Include <random.h> if it exists.
46677         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
46678         HAVE_RANDOM_H. Include <random.h> when testing whether
46679         'struct random_data' exists.
46680         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
46681
46682 2009-01-25  Bruno Haible  <bruno@clisp.org>
46683
46684         Don't install charset.alias on MacOS X >= 10.3.
46685         * lib/localcharset.c (DARWIN7): New macro.
46686         (get_charset_aliases): Hardcode the result for Darwin7.
46687         * modules/localcharset (install-exec-local): Don't install
46688         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
46689
46690 2009-01-25  Bruno Haible  <bruno@clisp.org>
46691
46692         Don't install charset.alias on mingw and Cygwin.
46693         * modules/localcharset (install-exec-local): Don't install
46694         charset.alias on mingw and Cygwin, if the file does not yet exist.
46695         The result for these platforms is hardcoded in localcharset.c.
46696
46697 2009-01-25  Bruno Haible  <bruno@clisp.org>
46698
46699         Make it possible again to use AC_GNU_SOURCE together with gnulib.
46700         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
46701         before requiring AC_USE_SYSTEM_EXTENSIONS.
46702
46703 2009-01-25  Jim Meyering  <meyering@redhat.com>
46704
46705         c-strtod: avoid warnings
46706         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
46707         "assignment discards qualifiers from pointer target type" warnings.
46708
46709 2009-01-24  Bruno Haible  <bruno@clisp.org>
46710
46711         Add support for non-UTF-8 locales on MacOS X.
46712         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
46713         canonical encodings. For Darwin 7 and newer, don't map traditional
46714         encodings to UTF-8.
46715         Reported by Vincent Lefevre <vincent@vinc17.org>
46716         at <http://savannah.gnu.org/bugs/?25235>.
46717
46718 2009-01-24  Bruno Haible  <bruno@clisp.org>
46719
46720         * doc/gnulib.texi (Obsolete modules): New section.
46721         Reported by Mike Frysinger <vapier@gentoo.org>.
46722
46723 2009-01-24  Bruno Haible  <bruno@clisp.org>
46724
46725         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
46726         (%.dvi): New rule.
46727
46728 2009-01-24  Bruno Haible  <bruno@clisp.org>
46729
46730         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
46731         Reported by Eric Blake.
46732
46733 2009-01-24  Bruno Haible  <bruno@clisp.org>
46734
46735         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
46736         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
46737         Reported by Gary V. Vaughan <gary@gnu.org>.
46738
46739 2009-01-24  Bruno Haible  <bruno@clisp.org>
46740
46741         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
46742
46743 2009-01-23  Bruno Haible  <bruno@clisp.org>
46744
46745         Make c-strtod, c-strtold usable in libraries.
46746         * lib/c-strtod.c: Include string.h instead of xalloc.h.
46747         (C_STRTOD): Call strdup instead of xstrdup.
46748         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
46749         * modules/c-strtold (Depends-on): Likewise.
46750         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
46751         * NEWS: Mention the change.
46752         Reported by Michael Gold <mgold@ncf.ca>.
46753
46754 2009-01-23  Jim Meyering  <meyering@redhat.com>
46755
46756         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
46757         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
46758         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
46759
46760 2009-01-23  Simon Josefsson  <simon@josefsson.org>
46761
46762         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
46763         GNU CoreUtils.
46764         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
46765         * modules/version-etc (Description): Update.
46766
46767 2009-01-22  Bruno Haible  <bruno@clisp.org>
46768
46769         Cache the C locale object.
46770         * lib/c-strtod.c (c_locale_cache): New variable.
46771         (c_locale): New function.
46772         (C_STRTOD): Use it, and don't call freelocale.
46773         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
46774         Suggested by Paolo Bonzini.
46775
46776 2009-01-21  Bruno Haible  <bruno@clisp.org>
46777
46778         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
46779         conditions other than overflow.
46780
46781 2009-01-21  Bruno Haible  <bruno@clisp.org>
46782
46783         * lib/c-strtod.c: Include errno.h.
46784         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
46785         value from STRTOD_L and STRTOD.
46786
46787 2009-01-21  Bruno Haible  <bruno@clisp.org>
46788         and Jim Meyering  <meyering@redhat.com>
46789
46790         nanosleep: skip configure test (fail it) for apple universal builds
46791         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
46792         universal builds, assume that nanosleep does not work.
46793         * modules/nanosleep (Depends-on): Add multiarch.
46794
46795         mktime: skip configure test (fail it) for apple universal builds
46796         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
46797         universal builds, assume that mktime does not work.
46798         * modules/mktime (Depends-on): Add multiarch.
46799
46800 2009-01-21  Eric Blake  <ebb9@byu.net>
46801
46802         multiarch: avoid expand-before-require warning
46803         * modules/multiarch (configure.ac): Require, rather than expand,
46804         gl_MULTIARCH.
46805         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
46806         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
46807         enforce that all clients require it.  Partial reversion of
46808         2008-12-29 patch.
46809
46810         error: avoid expand-before-require warning
46811         * modules/errno (configure.ac): Require, rather than expand,
46812         gl_HEADER_ERRNO_H.
46813         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
46814         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
46815         enforce that all clients require it.
46816
46817         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
46818         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
46819         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
46820         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
46821
46822 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
46823
46824         Revert:
46825         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
46826
46827         regex: do not depend on obsolete modules.
46828         * modules/regex: Remove memcmp and memmove.
46829
46830 2009-01-20  Bruno Haible  <bruno@clisp.org>
46831
46832         Make the 'link' module link on Windows NT 4.
46833         * lib/link.c (_WIN32_WINNT): Don't define.
46834         (CreateHardLinkFuncType): New type.
46835         (CreateHardLinkFunc, initialized): New variables.
46836         (initialize): New function.
46837         (link): Invoke CreateHardLink indirectly through the function pointer.
46838
46839 2009-01-20  Bruno Haible  <bruno@clisp.org>
46840
46841         Fix compilation failure on mingw.
46842         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
46843
46844 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
46845
46846         * doc/c-strtod.texi: Mention a couple of restrictions.
46847
46848 2009-01-20  Jim Meyering  <meyering@redhat.com>
46849
46850         gettimeofday: move more declarations out of functions
46851         * lib/gettimeofday.c: Move extern declarations of tzset and
46852         gmtime out of containing functions.  Prompted by Bruno Haible.
46853
46854 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
46855
46856         regex: do not depend on obsolete modules.
46857         * modules/regex: Remove memcmp and memmove.
46858
46859 2009-01-19  Bruno Haible  <bruno@clisp.org>
46860
46861         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
46862         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
46863         gl_BIGENDIAN, not AC_C_BIGENDIAN.
46864         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
46865         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
46866
46867 2009-01-19  Bruno Haible  <bruno@clisp.org>
46868
46869         * tests/test-link.c: Include <errno.h>.
46870         (main): Exit with code 77 when a hard link cannot be created due to
46871         the file system.
46872         * tests/test-link.sh: Skip test when a hard link cannot be created due
46873         to the file system.
46874         Suggested by Eric Blake.
46875
46876 2009-01-19  Martin Lambers  <marlam@marlam.de>
46877
46878         * modules/link-tests: New file.
46879         * tests/test-link.sh: New file.
46880         * tests/test-link.c: New file.
46881
46882 2009-01-19  Eric Blake  <ebb9@byu.net>
46883
46884         doc: mention another function added in cygwin 1.7.0
46885         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
46886         Another new function in cygwin 1.7.
46887
46888 2009-01-19  Bruno Haible  <bruno@clisp.org>
46889
46890         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
46891         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
46892         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
46893         gl_BIGENDIAN, not AC_C_BIGENDIAN.
46894         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
46895         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
46896         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
46897         * m4/md4.m4 (gl_MD4): Likewise.
46898         * m4/md5.m4 (gl_MD5): Likewise.
46899         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
46900         * m4/sha1.m4 (gl_SHA1): Likewise.
46901         * m4/sha256.m4 (gl_SHA256): Likewise.
46902         * m4/sha512.m4 (gl_SHA512): Likewise.
46903
46904 2009-01-19  Bruno Haible  <bruno@clisp.org>
46905
46906         * modules/uniname/uniname-tests (Depends-on): Add progname.
46907         * tests/uniname/test-uninames.c: Include progname.h.
46908         (main): Call set_program_name.
46909
46910         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
46911         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
46912         (main): Call set_program_name.
46913
46914         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
46915         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
46916         (main): Call set_program_name.
46917
46918         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
46919         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
46920         (main): Call set_program_name.
46921
46922         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
46923         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
46924         (main): Call set_program_name.
46925
46926         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
46927         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
46928         (main): Call set_program_name.
46929
46930         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
46931         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
46932         (main): Call set_program_name.
46933
46934         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
46935         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
46936         (main): Call set_program_name.
46937
46938         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
46939         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
46940         (main): Call set_program_name.
46941
46942 2009-01-19  Eric Blake  <ebb9@byu.net>
46943
46944         test-unistd: test previous patch
46945         * tests/test-unistd.c: Test *_FILENO macros.
46946
46947         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
46948         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46949         Guarantee a definition.
46950         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
46951         * modules/unistd-safer (Depends-on): Add dependency on unistd.
46952         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
46953         * lib/dup-safer.c (STDERR_FILENO): Likewise.
46954         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46955         Likewise.
46956         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
46957         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
46958         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46959         Likewise.
46960         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
46961         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
46962         (STDERR_FILENO): Likewise.
46963         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
46964         (STDERR_FILENO): Likewise.
46965         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
46966         (STDERR_FILENO): Likewise.
46967         Reported by Elbert Pol.
46968
46969 2009-01-19  Eric Blake  <ebb9@byu.net>
46970
46971         doc: mention more functions added in cygwin 1.7.0
46972         * doc/posix-functions/abort.texi (abort): Update wording related
46973         to cygwin.
46974         * doc/posix-functions/daylight.texi (daylight): Likewise.
46975         * doc/posix-functions/optarg.texi (optarg): Likewise.
46976         * doc/posix-functions/optarg.texi (opterr): Likewise.
46977         * doc/posix-functions/optarg.texi (optind): Likewise.
46978         * doc/posix-functions/optarg.texi (optopt): Likewise.
46979         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
46980         worked in 1.5.x, and was withdrawn in 1.7.
46981         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
46982         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
46983         cygwin versions.
46984         * doc/posix-functions/perror.texi (perror): Likewise.
46985         * doc/posix-functions/printf.texi (printf): Likewise.
46986         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
46987         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
46988         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
46989         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
46990         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
46991         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
46992         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
46993         Likewise.
46994         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
46995         Likewise.
46996         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
46997         this function.
46998         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
46999         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
47000         Likewise.
47001         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
47002         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
47003         * doc/posix-functions/confstr.texi (confstr): Likewise.
47004         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
47005         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
47006         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
47007         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
47008         * doc/posix-functions/fputws.texi (fputws): Likewise.
47009         * doc/posix-functions/fwide.texi (fwide): Likewise.
47010         * doc/posix-functions/getwc.texi (getwc): Likewise.
47011         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
47012         * doc/posix-functions/putwc.texi (putwc): Likewise.
47013         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
47014         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
47015         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
47016         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
47017         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
47018         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
47019         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
47020         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
47021         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
47022         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
47023         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
47024
47025 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
47026
47027         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
47028         * lib/ioctl.c: Include <sys/ioctl.h>.
47029
47030 2009-01-19  Simon Josefsson  <simon@josefsson.org>
47031
47032         * modules/getdate-tests (Depends-on): Add progname.
47033         * tests/test-getdate.c: Use progname module, to avoid link errors
47034         on non-glibc systems.
47035
47036 2009-01-18  Simon Josefsson  <simon@josefsson.org>
47037
47038         * modules/filenamecat-tests (Depends-on): Add progname.
47039         * modules/fstrcmp-tests (Depends-on): Likewise.
47040
47041         * tests/test-filenamecat.c: Use progname module, to avoid link
47042         errors on non-glibc systems.
47043         * tests/test-fstrcmp.c: Likewise.
47044
47045 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
47046
47047         gettimeofday: avoid warning: nested extern declaration of 'localtime'
47048         * lib/gettimeofday.c: Move extern declaration out of function.
47049
47050 2009-01-18  Bruno Haible  <bruno@clisp.org>
47051
47052         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
47053         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
47054         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
47055
47056 2009-01-18  Bruno Haible  <bruno@clisp.org>
47057
47058         * lib/strftime.c (MEMPCPY): Remove unused macro.
47059         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
47060
47061 2009-01-18  Martin Lambers  <marlam@marlam.de>
47062
47063         New module 'link'.
47064         * lib/unistd.in.h (link): New declaration.
47065         * lib/link.c: New file.
47066         * m4/link.m4: New file.
47067         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
47068         HAVE_LINK.
47069         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
47070         * modules/link: New file.
47071         * doc/posix-functions/link.texi: Mention the new module.
47072
47073 2009-01-18  Bruno Haible  <bruno@clisp.org>
47074
47075         * tests/test-avltree_list.c (main): Call set_program_name.
47076         * tests/test-avltree_oset.c (main): Likewise.
47077         * tests/test-obstack-printf.c: Include progname.h.
47078         (main): Call set_program_name.
47079         * tests/test-quotearg.c: Include progname.h.
47080         (main): Call set_program_name.
47081         * tests/test-xmemdup0.c: Include progname.h.
47082         (main): Call set_program_name.
47083
47084 2009-01-18  Bruno Haible  <bruno@clisp.org>
47085
47086         New module 'alphasort'.
47087         * lib/dirent.in.h (alphasort): New declaration.
47088         * lib/alphasort.c: New file, from glibc with modifications.
47089         * m4/alphasort.m4: New file.
47090         * modules/alphasort: New file.
47091         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
47092         HAVE_ALPHASORT.
47093         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
47094         HAVE_ALPHASORT.
47095         * doc/posix-functions/alphasort.texi: Mention the new module and the
47096         portability problems.
47097
47098 2009-01-18  Bruno Haible  <bruno@clisp.org>
47099
47100         New module 'scandir'.
47101         * lib/dirent.in.h (scandir): New declaration.
47102         * lib/scandir.c: New file, from glibc with modifications.
47103         * m4/scandir.m4: New file.
47104         * modules/scandir: New file.
47105         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
47106         HAVE_SCANDIR.
47107         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
47108         HAVE_SCANDIR.
47109         * doc/posix-functions/scandir.texi: Mention the new module and the
47110         portability problems.
47111
47112 2009-01-17  Bruno Haible  <bruno@clisp.org>
47113
47114         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
47115         Update documentation.
47116         (func_remove_suffix): Escape all dots in the suffix. Update
47117         documentation.
47118         (func_filter_filelist): Update documentation.
47119         Reported by Ralf Wildenhues.
47120
47121 2009-01-17  Bruno Haible  <bruno@clisp.org>
47122
47123         * modules/dprintf-posix-tests: New file.
47124         * tests/test-dprintf-posix.sh: New file.
47125         * tests/test-dprintf-posix.c: New file.
47126
47127         New modules 'dprintf', 'dprintf-posix'.
47128         * lib/stdio.in.h (dprintf): New declaration.
47129         * lib/dprintf.c: New file.
47130         * m4/dprintf.m4: New file.
47131         * m4/dprintf-posix.m4: New file.
47132         * modules/dprintf: New file.
47133         * modules/dprintf-posix: New file.
47134         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
47135         HAVE_DPRINTF, REPLACE_DPRINTF.
47136         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
47137         HAVE_DPRINTF, REPLACE_DPRINTF.
47138         * doc/posix-functions/dprintf.texi: Mention the new modules.
47139
47140 2009-01-17  Bruno Haible  <bruno@clisp.org>
47141
47142         * modules/vdprintf-posix-tests: New file.
47143         * tests/test-vdprintf-posix.sh: New file.
47144         * tests/test-vdprintf-posix.c: New file.
47145
47146         New modules 'vdprintf', 'vdprintf-posix'.
47147         * lib/stdio.in.h (vdprintf): New declaration.
47148         * lib/vdprintf.c: New file.
47149         * m4/vdprintf.m4: New file.
47150         * m4/vdprintf-posix.m4: New file.
47151         * modules/vdprintf: New file.
47152         * modules/vdprintf-posix: New file.
47153         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
47154         HAVE_VDPRINTF, REPLACE_VDPRINTF.
47155         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
47156         HAVE_VDPRINTF, REPLACE_VDPRINTF.
47157         * doc/posix-functions/vdprintf.texi: Mention the new modules.
47158
47159 2009-01-17  Bruno Haible  <bruno@clisp.org>
47160
47161         Fix replacement of fopen on mingw.
47162         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
47163         mingw.
47164
47165 2009-01-17  Bruno Haible  <bruno@clisp.org>
47166
47167         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
47168         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
47169
47170 2009-01-17  Bruno Haible  <bruno@clisp.org>
47171
47172         Avoid test-fflush2.sh failure on mingw.
47173         * tests/test-fflush2.c: Include binary-io.h.
47174         (main): Put standard input into binary mode.
47175         * modules/fflush-tests (Depends-on): Add binary-io.
47176
47177 2009-01-17  Bruno Haible  <bruno@clisp.org>
47178
47179         * lib/wchar.in.h: In another particular situation, include only the
47180         system's <wchar.h> file.
47181         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
47182         Reported by Albert Chin-A-Young <china@thewrittenword.com>
47183         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
47184
47185 2009-01-17  Bruno Haible  <bruno@clisp.org>
47186
47187         Support for stripping executables in --enable-relocatable.
47188         * build-aux/install-reloc: Expect one more argument, or an environment
47189         variable RELOC_STRIP_PROG. If set, strip the destination program and
47190         its wrapper.
47191         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
47192         RELOC_STRIP_PROG.
47193         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
47194         to set RELOCATABLE_STRIP.
47195         * NEWS: Mention the new Makefile requirement.
47196
47197 2009-01-17  Bruno Haible  <bruno@clisp.org>
47198
47199         * build-aux/install-reloc: Remove debugging information left over by
47200         C compiler on MacOS X.
47201
47202 2009-01-17  Bruno Haible  <bruno@clisp.org>
47203
47204         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
47205         * lib/progreloc.c (find_executable): Fix type of pointer passed to
47206         _NSGetExecutablePath.
47207
47208 2009-01-16  Jim Meyering  <meyering@redhat.com>
47209
47210         strerror: avoid warnings about discarding "const"
47211         * lib/strerror.c (rpl_strerror): Instead of returning a const
47212         string from each and every "case", use a variable, and add a single
47213         cast after the switch.
47214
47215 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
47216
47217         * lib/arpa_inet.in.h: Add extern "C" block for C++.
47218
47219 2009-01-16  Bruno Haible  <bruno@clisp.org>
47220
47221         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
47222         array initializer syntax that also works in C++ mode.
47223         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47224
47225 2009-01-16  Jim Meyering  <meyering@redhat.com>
47226
47227         poll: suppress a warning
47228         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
47229         to ignore "...unsigned expression < 0 is always false" warnings.
47230
47231 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
47232
47233         poll: remove declarations of unused variables
47234         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
47235         sockbuf and optlen.
47236
47237 2009-01-15  Bruno Haible  <bruno@clisp.org>
47238
47239         Make fflush-after-ungetc POSIX compliant on BSD systems.
47240         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
47241         (clear_ungetc_buffer): Implement also for other systems.
47242         (rpl_fflush): On glibc systems, invoke
47243         clear_ungetc_buffer_preserving_position. Otherwise, invoke
47244         clear_ungetc_buffer after fetching the stream's position, not before.
47245
47246 2009-01-15  Bruno Haible  <bruno@clisp.org>
47247
47248         Make fflush-after-ungetc POSIX compliant on glibc systems.
47249         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
47250         after ungetc.
47251         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
47252         (rpl_fflush): On glibc systems, simply call the system's fflush
47253         function after clearing the ungetc buffer.
47254         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
47255         Instead, lseek only to the end of file, then use the system's fseeko
47256         for the rest. On glibc systems, reset the EOF indicator bit.
47257
47258 2009-01-15  Jim Meyering  <meyering@redhat.com>
47259
47260         openmp.m4: revert quote-adding change, for portability to older autoconf
47261         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
47262         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
47263         Simon Josefsson noticed the problem when using autoconf-2.61.
47264
47265 2009-01-15  Bruno Haible  <bruno@clisp.org>
47266
47267         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
47268         * tests/test-fflush2.c (ASSERT): Always fail.
47269         (main): Add two tests for fflush() after ungetc(), taking into account
47270         the Austin Group's clarification.
47271         Suggested by Eric Blake.
47272
47273 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
47274
47275         mktime.m4: remove K&R-style function prototypes
47276         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
47277         for the Sun C++ compiler.
47278
47279 2009-01-14  Bruno Haible  <bruno@clisp.org>
47280
47281         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
47282         while including <wchar.h>.
47283         * lib/wchar.in.h: In two particular situations on HP-UX, include only
47284         the system's <wchar.h> file.
47285         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47286
47287 2009-01-14  Bruno Haible  <bruno@clisp.org>
47288
47289         * m4/csharp.m4: Don't mention gettext on the serial number line.
47290         * m4/csharpexec.m4: Likewise.
47291         * m4/eaccess.m4: Likewise.
47292         * m4/javaexec.m4: Likewise.
47293         * m4/sig_atomic_t.m4: Likewise.
47294         * m4/tmpdir.m4: Likewise.
47295         * m4/intldir.m4: Bump gettext version.
47296         * m4/lib-ld.m4: Likewise.
47297
47298 2009-01-14  Bruno Haible  <bruno@clisp.org>
47299
47300         * lib/progname.c (set_program_name): Add more comments.
47301         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
47302
47303 2009-01-14  Simon Josefsson  <simon@josefsson.org>
47304
47305         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
47306         were sys/stat.h does not define it.
47307
47308 2009-01-14  Jim Meyering  <meyering@redhat.com>
47309
47310         many *.m4 files: improve m4 quoting
47311         99% of this change was performed by running the following commands:
47312         git ls-files | grep '\.m4$' | xargs perl -pi \
47313           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
47314           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
47315           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
47316           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
47317         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
47318         The remainder were to add Copyright dates, increment serial numbers,
47319         undo some changes in comments, exclude m4/intl.m4, and add quotes
47320         around the "1" in ",1" where the unusual spacing prohibited the
47321         above regexps from doing the job.  For more details, see
47322         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
47323         * m4/acl.m4: Modified.
47324         * m4/afs.m4: Likewise.
47325         * m4/alloca.m4: Likewise.
47326         * m4/argp.m4: Likewise.
47327         * m4/argz.m4: Likewise.
47328         * m4/atexit.m4: Likewise.
47329         * m4/bison-i18n.m4: Likewise.
47330         * m4/bison.m4: Likewise.
47331         * m4/byteswap.m4: Likewise.
47332         * m4/c-stack.m4: Likewise.
47333         * m4/c-strtod.m4: Likewise.
47334         * m4/calloc.m4: Likewise.
47335         * m4/canonicalize-lgpl.m4: Likewise.
47336         * m4/chown.m4: Likewise.
47337         * m4/clock_time.m4: Likewise.
47338         * m4/codeset.m4: Likewise.
47339         * m4/copy-file.m4: Likewise.
47340         * m4/csharp.m4: Likewise.
47341         * m4/csharpcomp.m4: Likewise.
47342         * m4/csharpexec.m4: Likewise.
47343         * m4/d-ino.m4: Likewise.
47344         * m4/d-type.m4: Likewise.
47345         * m4/dirfd.m4: Likewise.
47346         * m4/double-slash-root.m4: Likewise.
47347         * m4/eaccess.m4: Likewise.
47348         * m4/eealloc.m4: Likewise.
47349         * m4/environ.m4: Likewise.
47350         * m4/errno_h.m4: Likewise.
47351         * m4/euidaccess.m4: Likewise.
47352         * m4/execute.m4: Likewise.
47353         * m4/fatal-signal.m4: Likewise.
47354         * m4/fchdir.m4: Likewise.
47355         * m4/fcntl_h.m4: Likewise.
47356         * m4/fileblocks.m4: Likewise.
47357         * m4/filenamecat.m4: Likewise.
47358         * m4/findprog.m4: Likewise.
47359         * m4/flexmember.m4: Likewise.
47360         * m4/fnmatch.m4: Likewise.
47361         * m4/fopen.m4: Likewise.
47362         * m4/fpending.m4: Likewise.
47363         * m4/fprintf-posix.m4: Likewise.
47364         * m4/free.m4: Likewise.
47365         * m4/frexp.m4: Likewise.
47366         * m4/frexpl.m4: Likewise.
47367         * m4/fsusage.m4: Likewise.
47368         * m4/ftruncate.m4: Likewise.
47369         * m4/gc-camellia.m4: Likewise.
47370         * m4/gc-random.m4: Likewise.
47371         * m4/gc.m4: Likewise.
47372         * m4/getaddrinfo.m4: Likewise.
47373         * m4/getcwd-abort-bug.m4: Likewise.
47374         * m4/getcwd-path-max.m4: Likewise.
47375         * m4/getdate.m4: Likewise.
47376         * m4/getdomainname.m4: Likewise.
47377         * m4/getgroups.m4: Likewise.
47378         * m4/gethostname.m4: Likewise.
47379         * m4/gethrxtime.m4: Likewise.
47380         * m4/getline.m4: Likewise.
47381         * m4/getloadavg.m4: Likewise.
47382         * m4/getndelim2.m4: Likewise.
47383         * m4/getpass.m4: Likewise.
47384         * m4/gettext.m4: Likewise.
47385         * m4/gettime.m4: Likewise.
47386         * m4/gettimeofday.m4: Likewise.
47387         * m4/gnulib-common.m4: Likewise.
47388         * m4/group-member.m4: Likewise.
47389         * m4/host-os.m4: Likewise.
47390         * m4/iconv.m4: Likewise.
47391         * m4/iconv_open.m4: Likewise.
47392         * m4/inet_ntop.m4: Likewise.
47393         * m4/inet_pton.m4: Likewise.
47394         * m4/inline.m4: Likewise.
47395         * m4/intldir.m4: Likewise.
47396         * m4/intlmacosx.m4: Likewise.
47397         * m4/intmax.m4: Likewise.
47398         * m4/intmax_t.m4: Likewise.
47399         * m4/inttypes.m4: Likewise.
47400         * m4/inttypes_h.m4: Likewise.
47401         * m4/inttypes-pri.m4: Likewise.
47402         * m4/isapipe.m4: Likewise.
47403         * m4/isnand.m4: Likewise.
47404         * m4/isnanf.m4: Likewise.
47405         * m4/isnanl.m4: Likewise.
47406         * m4/javacomp.m4: Likewise.
47407         * m4/javaexec.m4: Likewise.
47408         * m4/jm-winsz1.m4: Likewise.
47409         * m4/jm-winsz2.m4: Likewise.
47410         * m4/lchown.m4: Likewise.
47411         * m4/lcmessage.m4: Likewise.
47412         * m4/ldexpl.m4: Likewise.
47413         * m4/lib-ld.m4: Likewise.
47414         * m4/lib-link.m4: Likewise.
47415         * m4/libsigsegv.m4: Likewise.
47416         * m4/link-follow.m4: Likewise.
47417         * m4/localcharset.m4: Likewise.
47418         * m4/locale-fr.m4: Likewise.
47419         * m4/locale-ja.m4: Likewise.
47420         * m4/locale-tr.m4: Likewise.
47421         * m4/locale-zh.m4: Likewise.
47422         * m4/lock.m4: Likewise.
47423         * m4/longlong.m4: Likewise.
47424         * m4/ls-mntd-fs.m4: Likewise.
47425         * m4/lstat.m4: Likewise.
47426         * m4/malloc.m4: Likewise.
47427         * m4/mathl.m4: Likewise.
47428         * m4/mbrtowc.m4: Likewise.
47429         * m4/mbstate_t.m4: Likewise.
47430         * m4/mbswidth.m4: Likewise.
47431         * m4/memchr.m4: Likewise.
47432         * m4/memcmp.m4: Likewise.
47433         * m4/memcpy.m4: Likewise.
47434         * m4/memmem.m4: Likewise.
47435         * m4/memmove.m4: Likewise.
47436         * m4/mempcpy.m4: Likewise.
47437         * m4/memrchr.m4: Likewise.
47438         * m4/memset.m4: Likewise.
47439         * m4/minmax.m4: Likewise.
47440         * m4/mkdir-slash.m4: Likewise.
47441         * m4/mkdtemp.m4: Likewise.
47442         * m4/mktime.m4: Likewise.
47443         * m4/mmap-anon.m4: Likewise.
47444         * m4/mountlist.m4: Likewise.
47445         * m4/nanosleep.m4: Likewise.
47446         * m4/nls.m4: Likewise.
47447         * m4/nocrash.m4: Likewise.
47448         * m4/open.m4: Likewise.
47449         * m4/openat.m4: Likewise.
47450         * m4/openmp.m4: Likewise.
47451         * m4/pathmax.m4: Likewise.
47452         * m4/perl.m4: Likewise.
47453         * m4/physmem.m4: Likewise.
47454         * m4/pipe.m4: Likewise.
47455         * m4/po.m4: Likewise.
47456         * m4/poll.m4: Likewise.
47457         * m4/posixtm.m4: Likewise.
47458         * m4/posixver.m4: Likewise.
47459         * m4/printf-frexp.m4: Likewise.
47460         * m4/printf-frexpl.m4: Likewise.
47461         * m4/printf-posix.m4: Likewise.
47462         * m4/printf-posix-rpl.m4: Likewise.
47463         * m4/printf.m4: Likewise.
47464         * m4/progtest.m4: Likewise.
47465         * m4/putenv.m4: Likewise.
47466         * m4/readline.m4: Likewise.
47467         * m4/readlink.m4: Likewise.
47468         * m4/readutmp.m4: Likewise.
47469         * m4/realloc.m4: Likewise.
47470         * m4/regex.m4: Likewise.
47471         * m4/relocatable.m4: Likewise.
47472         * m4/relocatable-lib.m4: Likewise.
47473         * m4/rename-dest-slash.m4: Likewise.
47474         * m4/rename.m4: Likewise.
47475         * m4/rmdir-errno.m4: Likewise.
47476         * m4/rmdir.m4: Likewise.
47477         * m4/roundf.m4: Likewise.
47478         * m4/roundl.m4: Likewise.
47479         * m4/rpmatch.m4: Likewise.
47480         * m4/save-cwd.m4: Likewise.
47481         * m4/selinux-selinux-h.m4: Likewise.
47482         * m4/setenv.m4: Likewise.
47483         * m4/settime.m4: Likewise.
47484         * m4/sig2str.m4: Likewise.
47485         * m4/sig_atomic_t.m4: Likewise.
47486         * m4/signalblocking.m4: Likewise.
47487         * m4/signbit.m4: Likewise.
47488         * m4/sigpipe.m4: Likewise.
47489         * m4/sockets.m4: Likewise.
47490         * m4/sockpfaf.m4: Likewise.
47491         * m4/st_dm_mode.m4: Likewise.
47492         * m4/stat-time.m4: Likewise.
47493         * m4/stdbool.m4: Likewise.
47494         * m4/stdint.m4: Likewise.
47495         * m4/stdint_h.m4: Likewise.
47496         * m4/stpcpy.m4: Likewise.
47497         * m4/stpncpy.m4: Likewise.
47498         * m4/strcase.m4: Likewise.
47499         * m4/strchrnul.m4: Likewise.
47500         * m4/strcspn.m4: Likewise.
47501         * m4/strdup.m4: Likewise.
47502         * m4/strftime.m4: Likewise.
47503         * m4/strndup.m4: Likewise.
47504         * m4/strnlen.m4: Likewise.
47505         * m4/strpbrk.m4: Likewise.
47506         * m4/strptime.m4: Likewise.
47507         * m4/strsep.m4: Likewise.
47508         * m4/strtod.m4: Likewise.
47509         * m4/strtoimax.m4: Likewise.
47510         * m4/strtok_r.m4: Likewise.
47511         * m4/strtol.m4: Likewise.
47512         * m4/strtoll.m4: Likewise.
47513         * m4/strtoul.m4: Likewise.
47514         * m4/strtoull.m4: Likewise.
47515         * m4/strtoumax.m4: Likewise.
47516         * m4/strverscmp.m4: Likewise.
47517         * m4/threadlib.m4: Likewise.
47518         * m4/timegm.m4: Likewise.
47519         * m4/tm_gmtoff.m4: Likewise.
47520         * m4/tmpdir.m4: Likewise.
47521         * m4/tmpfile.m4: Likewise.
47522         * m4/tzset.m4: Likewise.
47523         * m4/uintmax_t.m4: Likewise.
47524         * m4/unlinkdir.m4: Likewise.
47525         * m4/unlocked-io.m4: Likewise.
47526         * m4/uptime.m4: Likewise.
47527         * m4/userspec.m4: Likewise.
47528         * m4/utimbuf.m4: Likewise.
47529         * m4/utime.m4: Likewise.
47530         * m4/utimes-null.m4: Likewise.
47531         * m4/utimes.m4: Likewise.
47532         * m4/vararrays.m4: Likewise.
47533         * m4/vasnprintf.m4: Likewise.
47534         * m4/vfprintf-posix.m4: Likewise.
47535         * m4/vprintf-posix.m4: Likewise.
47536         * m4/wait-process.m4: Likewise.
47537         * m4/wchar_t.m4: Likewise.
47538         * m4/wint_t.m4: Likewise.
47539         * m4/write-any-file.m4: Likewise.
47540         * m4/yield.m4: Likewise.
47541
47542 2009-01-13  Bruno Haible  <bruno@clisp.org>
47543
47544         Avoid test-copy-file.sh failures when ACL support insufficient.
47545         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
47546         TESTS_ENVIRONMENT.
47547         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
47548         Reported by Jim Meyering.
47549
47550 2009-01-13  Bruno Haible  <bruno@clisp.org>
47551
47552         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
47553         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
47554         * modules/unistdio/u8-printf-parse (Files): Likewise.
47555         * modules/unistdio/u32-printf-parse (Files): Likewise.
47556         * modules/unistdio/ulc-printf-parse (Files): Likewise.
47557
47558 2009-01-13  Simon Josefsson  <simon@josefsson.org>
47559
47560         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
47561         and m4/inttypes_h.m4 too.
47562
47563 2009-01-12  Eric Blake  <ebb9@byu.net>
47564
47565         tests: IRIX 6.2 cc can't compile -0.0 into .data
47566         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
47567         rather than at compile-time.
47568         * tests/test-floorl.c (minus_zero): Likewise.
47569         * tests/test-frexpl.c (minus_zero): Likewise.
47570         * tests/test-isnan.c (minus_zerol): Likewise.
47571         * tests/test-isnanl.h (minus_zero): Likewise.
47572         * tests/test-ldexpl.c (minus_zero): Likewise.
47573         * tests/test-roundl.c (minus_zero): Likewise.
47574         * tests/test-signbit.c (minus_zerol): Likewise.
47575         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
47576         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
47577         * tests/test-truncl.c (minus_zero): Likewise.
47578         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
47579         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
47580         Reported by Tom G. Christensen and Nelson H. F. Beebe.
47581
47582 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
47583
47584         regex: fix glibc bug 9697
47585         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
47586         handling.
47587
47588 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
47589
47590         regex: fix glibc bug 697
47591         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
47592         being NULL also if there are no backreferences.
47593
47594 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
47595
47596         regex: merge glibc changes
47597         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
47598         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
47599         re_string_skip_chars, re_string_reconstruct): Likewise.
47600         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
47601
47602 2009-01-07  Jim Meyering  <meyering@redhat.com>
47603
47604         poll: filter through cppi
47605         * lib/poll.c: Indent cpp directives to reflect nesting.
47606
47607 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
47608
47609         poll: don't return uninitialized
47610         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
47611
47612 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
47613
47614         avoid compile failure on AIX 6.1
47615         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
47616         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
47617
47618 2009-01-04  Jim Meyering  <meyering@redhat.com>
47619
47620         remove duplicate inclusion of <stdio.h>
47621         * tests/test-fprintf-posix.c: Likewise.
47622         * tests/test-printf-posix.c: Likewise.
47623         * tests/test-snprintf-posix.c: Likewise.
47624         * tests/test-sprintf-posix.c: Likewise.
47625         * tests/test-vasprintf-posix.c: Likewise.
47626         * tests/test-vfprintf-posix.c: Likewise.
47627         * tests/test-vprintf-posix.c: Likewise.
47628         * tests/test-vsnprintf-posix.c: Likewise.
47629         * tests/test-vsprintf-posix.c: Likewise.
47630
47631 2009-01-03  Jim Meyering  <meyering@redhat.com>
47632
47633         gnulib-tool: fix sed-based filtering
47634         * gnulib-tool (func_filter_filelist): Remove extra backslash
47635         in sed_fff_filter definition.
47636
47637 2009-01-02  Jim Meyering  <meyering@redhat.com>
47638
47639         strftime: avoid compilation failure on Solaris 2.6
47640         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
47641         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
47642         Don't #define mbrlen or mbsinit, since now they're guaranteed to
47643         be available.  Reported by Tom G. Christensen.  Details in
47644         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
47645
47646 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47647             Bruno Haible  <bruno@clisp.org>
47648
47649         Speed up gnulib-tool by doing more string processing through shell
47650         built-ins.
47651         * gnulib-tool (fast_func_append): New variable.
47652         (func_remove_prefix, func_remove_suffix): New functions.
47653         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
47654         (func_filter_filelist): New function.
47655         (func_get_dependencies): Use func_remove_suffix instead of sed.
47656         (func_get_automake_snippet): Use func_filter_filelist instead of a
47657         subshell and sed invocation.
47658
47659 2009-01-01  Bruno Haible  <bruno@clisp.org>
47660
47661         Fix a security bug.
47662         * gnulib-tool (func_import, import, update): Don't allow the characters
47663         '"', '$', '`', '\' in macro arguments that become part of commands that
47664         are evaluated.
47665
47666 2009-01-01  Bruno Haible  <bruno@clisp.org>
47667
47668         * gnulib-tool (func_reset_sigpipe): Add more comments.
47669
47670 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47671
47672         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
47673         func_emit_tests_Makefile_am, func_import): Abort loops early if we
47674         already know the answer.
47675
47676 2009-01-01  Jim Meyering  <meyering@redhat.com>
47677
47678         * lib/version-etc.c (version_etc_va): Update copyright year.
47679
47680 2008-12-30  Bruno Haible  <bruno@clisp.org>
47681
47682         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
47683         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
47684         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
47685
47686 2008-12-29  Eric Blake  <ebb9@byu.net>
47687
47688         multiarch: avoid autoconf AC_REQUIRE bug
47689         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
47690         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
47691         2.63 and older.
47692         Reported by Bruno Haible, and analyzed in
47693         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
47694
47695 2008-12-29  Bruno Haible  <bruno@clisp.org>
47696
47697         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
47698         files in subdirectories correctly.
47699         Reported by Ralf Wildenhues.
47700
47701 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47702
47703         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
47704         rather than 'join FILE -', for Solaris join.
47705
47706 2008-12-29  Bruno Haible  <bruno@clisp.org>
47707
47708         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
47709         quoting.
47710         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
47711         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
47712         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
47713         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
47714         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
47715         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
47716         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
47717         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
47718         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
47719         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
47720         * m4/nls.m4 (AM_NLS): Likewise.
47721         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
47722         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
47723         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
47724         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
47725         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
47726         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
47727         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
47728         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
47729         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
47730         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
47731         * m4/xsize.m4 (gl_XSIZE): Likewise.
47732         Suggested by Jim Meyering.
47733
47734 2008-11-17  Bruce Korb  <bkorb@gnu.org>
47735
47736         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
47737         * lib/parse-duration.c: use a switch instead of cascading if's.
47738
47739 2008-12-29  Eric Blake  <ebb9@byu.net>
47740
47741         wchar.h: supply WEOF on Irix 5.3
47742         * lib/wchar.in.h (wint_t): Also supply WEOF.
47743         * lib/wctype.in.h (wint_t): Likewise.
47744         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
47745         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
47746         Reported by Tom G. Christensen.
47747
47748 2008-12-26  Bruno Haible  <bruno@clisp.org>
47749
47750         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
47751         i486, i586, i686.
47752
47753 2008-12-26  Bruno Haible  <bruno@clisp.org>
47754
47755         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
47756
47757 2008-12-26  Bruno Haible  <bruno@clisp.org>
47758
47759         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
47760         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
47761         not __STDC_CONSTANT_MACROS.
47762         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
47763
47764 2008-12-25  Bruno Haible  <bruno@clisp.org>
47765
47766         Add support for universal builds to vasnprintf.
47767         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
47768         universal builds, guess no.
47769         * modules/vasnprintf-posix (Depends-on): Add multiarch.
47770         * modules/vasprintf-posix (Depends-on): Likewise.
47771         * modules/fprintf-posix (Depends-on): Likewise.
47772         * modules/vfprintf-posix (Depends-on): Likewise.
47773         * modules/snprintf-posix (Depends-on): Likewise.
47774         * modules/vsnprintf-posix (Depends-on): Likewise.
47775         * modules/sprintf-posix (Depends-on): Likewise.
47776         * modules/vsprintf-posix (Depends-on): Likewise.
47777         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47778         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47779         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47780         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47781         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47782         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47783         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47784
47785         Add support for universal builds to <inttypes.h>.
47786         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
47787         _SCNu64_PREFIX): In Apple
47788         universal builds, define directly, using _LP64.
47789         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
47790         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
47791         * modules/inttypes (Depends-on): Add multiarch.
47792         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
47793
47794         Add support for universal builds to <stdint.h>.
47795         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
47796         universal builds, define directly, using _LP64.
47797         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
47798         Apple universal builds, don't test for the size and suffix of ptrdiff_t
47799         and size_t.
47800         * modules/stdint (Depends-on): Add multiarch.
47801         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
47802
47803         New module 'multiarch'.
47804         * modules/multiarch: New file.
47805         * m4/multiarch.m4: New file.
47806
47807 2008-12-25  Bruno Haible  <bruno@clisp.org>
47808
47809         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
47810
47811 2008-12-25  Bruno Haible  <bruno@clisp.org>
47812
47813         * modules/btowc (License): Relicense under LGPLv2+.
47814         * modules/mbsinit (License): Likewise.
47815         * modules/mbrtowc (License): Likewise.
47816         * modules/wcrtomb (License): Likewise.
47817         * modules/streq (License): Likewise.
47818         Reported by David Lutterkort <lutter@redhat.com>.
47819
47820 2008-12-23  Bruno Haible  <bruno@clisp.org>
47821
47822         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
47823
47824 2008-12-23  Bruno Haible  <bruno@clisp.org>
47825
47826         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
47827         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
47828         GETADDRINFO_LIB, not in LIBS.
47829         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
47830         * modules/canon-host (Link): Likewise.
47831         * NEWS: Mention the change.
47832         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
47833         GETADDRINFO_LIB.
47834
47835 2008-12-22  Bruno Haible  <bruno@clisp.org>
47836
47837         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
47838         * doc/posix-functions/iswalpha_l.texi: Likewise.
47839         * doc/posix-functions/iswblank_l.texi: Likewise.
47840         * doc/posix-functions/iswcntrl_l.texi: Likewise.
47841         * doc/posix-functions/iswctype_l.texi: Likewise.
47842         * doc/posix-functions/iswdigit_l.texi: Likewise.
47843         * doc/posix-functions/iswgraph_l.texi: Likewise.
47844         * doc/posix-functions/iswlower_l.texi: Likewise.
47845         * doc/posix-functions/iswprint_l.texi: Likewise.
47846         * doc/posix-functions/iswpunct_l.texi: Likewise.
47847         * doc/posix-functions/iswspace_l.texi: Likewise.
47848         * doc/posix-functions/iswupper_l.texi: Likewise.
47849         * doc/posix-functions/iswxdigit_l.texi: Likewise.
47850         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
47851         * doc/posix-functions/open_wmemstream.texi: Likewise.
47852         * doc/posix-functions/swscanf.texi: Likewise.
47853         * doc/posix-functions/towctrans_l.texi: Likewise.
47854         * doc/posix-functions/towlower.texi: Likewise.
47855         * doc/posix-functions/towlower_l.texi: Likewise.
47856         * doc/posix-functions/towupper.texi: Likewise.
47857         * doc/posix-functions/towupper_l.texi: Likewise.
47858         * doc/posix-functions/vfwprintf.texi: Likewise.
47859         * doc/posix-functions/vfwscanf.texi: Likewise.
47860         * doc/posix-functions/vswscanf.texi: Likewise.
47861         * doc/posix-functions/vwprintf.texi: Likewise.
47862         * doc/posix-functions/vwscanf.texi: Likewise.
47863         * doc/posix-functions/wcpcpy.texi: Likewise.
47864         * doc/posix-functions/wcpncpy.texi: Likewise.
47865         * doc/posix-functions/wcscasecmp.texi: Likewise.
47866         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
47867         * doc/posix-functions/wcscoll_l.texi: Likewise.
47868         * doc/posix-functions/wcsdup.texi: Likewise.
47869         * doc/posix-functions/wcsncasecmp.texi: Likewise.
47870         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
47871         * doc/posix-functions/wcsnlen.texi: Likewise.
47872         * doc/posix-functions/wcsnrtombs.texi: Likewise.
47873         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
47874         * doc/posix-functions/wctrans_l.texi: Likewise.
47875         * doc/posix-functions/wctype_l.texi: Likewise.
47876         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
47877         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
47878         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
47879         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
47880         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
47881         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
47882         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
47883         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
47884         * doc/glibc-functions/wcschrnul.texi: Likewise.
47885         * doc/glibc-functions/wcsftime_l.texi: Likewise.
47886         * doc/glibc-functions/wcstod_l.texi: Likewise.
47887         * doc/glibc-functions/wcstof_l.texi: Likewise.
47888         * doc/glibc-functions/wcstol_l.texi: Likewise.
47889         * doc/glibc-functions/wcstold_l.texi: Likewise.
47890         * doc/glibc-functions/wcstoll_l.texi: Likewise.
47891         * doc/glibc-functions/wcstoq.texi: Likewise.
47892         * doc/glibc-functions/wcstoul_l.texi: Likewise.
47893         * doc/glibc-functions/wcstoull_l.texi: Likewise.
47894         * doc/glibc-functions/wcstouq.texi: Likewise.
47895         * doc/glibc-functions/wmempcpy.texi: Likewise.
47896
47897 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
47898             Eric Blake  <ebb9@byu.net>
47899             Paolo Bonzini  <bonzini@gnu.org>
47900             Bruno Haible  <bruno@clisp.org>
47901
47902         Make c-stack work on Haiku.
47903         * lib/c-stack.c (SA_ONSTACK): Define fallback.
47904         (c_stack_action): Use SA_ONSTACK flag.
47905
47906 2008-12-22  Bruno Haible  <bruno@clisp.org>
47907
47908         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
47909
47910 2008-12-22  Bruno Haible  <bruno@clisp.org>
47911
47912         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
47913         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
47914         being overridden.
47915         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
47916         New macros.
47917         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
47918         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
47919         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
47920         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
47921
47922 2008-12-22  Bruno Haible  <bruno@clisp.org>
47923
47924         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
47925         from test code.
47926
47927 2008-12-22  Eric Blake  <ebb9@byu.net>
47928
47929         Avoid gcc warnings on cygwin.
47930         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
47931         Avoid unused variable.
47932         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
47933         Likewise.
47934
47935 2008-12-22  Bruno Haible  <bruno@clisp.org>
47936
47937         Remove HAVE_MBRTOWC conditionals.
47938         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
47939         (mbscasecmp): Assume mbrtowc function.
47940         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
47941         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
47942         * lib/mbschr.c: Include mbuiter.h unconditionally.
47943         (mbschr): Assume mbrtowc function.
47944         * lib/mbscspn.c: Include mbuiter.h unconditionally.
47945         (mbscspn): Assume mbrtowc function.
47946         * lib/mbslen.c: Include mbuiter.h unconditionally.
47947         (mbslen): Assume mbrtowc function.
47948         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
47949         (mbsncasecmp): Assume mbrtowc function.
47950         * lib/mbsnlen.c: Include mbiter.h unconditionally.
47951         (mbsnlen): Assume mbrtowc function.
47952         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
47953         (mbspbrk): Assume mbrtowc function.
47954         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
47955         (mbspcasecmp): Assume mbrtowc function.
47956         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
47957         (mbsrchr): Assume mbrtowc function.
47958         * lib/mbssep.c: Include mbuiter.h unconditionally.
47959         (mbssep): Assume mbrtowc function.
47960         * lib/mbsspn.c: Include mbuiter.h unconditionally.
47961         (mbsspn): Assume mbrtowc function.
47962         * lib/mbsstr.c: Include mbuiter.h unconditionally.
47963         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
47964         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
47965         (mbstok_r): Assume mbrtowc function.
47966         * lib/propername.c: Include mbuiter.h unconditionally.
47967         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
47968         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
47969         (trim2): Assume mbrtowc function.
47970         * lib/mbswidth.c (mbsinit): Remove fallback definition.
47971         (mbsnwidth): Assume mbrtowc function.
47972         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
47973         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
47974         fallback definitions.
47975         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
47976
47977 2008-12-22  Bruno Haible  <bruno@clisp.org>
47978
47979         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
47980
47981 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
47982
47983         * modules/regex: Request emulations for the mb*/wc* functions we need.
47984         * m4/regex.m4: Don't look for those functions here.
47985         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
47986
47987 2008-12-22  Bruno Haible  <bruno@clisp.org>
47988
47989         * modules/fnmatch (Depends-on): Remove duplicated dependency.
47990
47991 2008-12-21  Bruno Haible  <bruno@clisp.org>
47992
47993         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
47994         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
47995         (Include): Remove conditionalization.
47996         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
47997         (Include): Remove conditionalization.
47998         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
47999         (Include): Remove conditionalization.
48000         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
48001         * m4/mbfile.m4 (gl_MBFILE): Likewise.
48002         * NEWS: Mention the change.
48003         Reported by Alan Hourihane <alanh@fairlite.co.uk>
48004         via Sergey Poznyakoff <gray@gnu.org.ua>.
48005
48006 2008-12-21  Bruno Haible  <bruno@clisp.org>
48007
48008         * MODULES.html.sh (Extended multibyte and wide character utilities
48009         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
48010         wcrtomb, wcsrtombs.
48011         (Support for systems lacking POSIX:2008): Add accept, bind, close,
48012         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
48013         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
48014         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
48015
48016 2008-12-21  Bruno Haible  <bruno@clisp.org>
48017
48018         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
48019
48020 2008-12-21  Bruno Haible  <bruno@clisp.org>
48021
48022         * modules/wcsnrtombs-tests: New file.
48023         * tests/test-wcsnrtombs1.sh: New file.
48024         * tests/test-wcsnrtombs2.sh: New file.
48025         * tests/test-wcsnrtombs3.sh: New file.
48026         * tests/test-wcsnrtombs4.sh: New file.
48027         * tests/test-wcsnrtombs.c: New file.
48028
48029         New module 'wcsnrtombs'.
48030         * lib/wchar.in.h (wcsnrtombs): New declaration.
48031         * lib/wcsnrtombs.c: New file.
48032         * lib/wcsrtombs-state.c: New file.
48033         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
48034         (internal_state): Remove variable.
48035         * m4/wcsnrtombs.m4: New file.
48036         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
48037         compilation units.
48038         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
48039         HAVE_WCSNRTOMBS.
48040         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
48041         HAVE_WCSNRTOMBS.
48042         * modules/wcsnrtombs: New file.
48043         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
48044         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
48045
48046 2008-12-21  Bruno Haible  <bruno@clisp.org>
48047
48048         * modules/wcsrtombs-tests: New file.
48049         * tests/test-wcsrtombs1.sh: New file.
48050         * tests/test-wcsrtombs2.sh: New file.
48051         * tests/test-wcsrtombs3.sh: New file.
48052         * tests/test-wcsrtombs4.sh: New file.
48053         * tests/test-wcsrtombs.c: New file.
48054
48055         New module 'wcsrtombs'.
48056         * lib/wchar.in.h (wcsrtombs): New declaration.
48057         * lib/wcsrtombs.c: New file.
48058         * m4/wcsrtombs.m4: New file.
48059         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
48060         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
48061         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
48062         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
48063         * modules/wcsrtombs: New file.
48064         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
48065         bugs.
48066
48067 2008-12-21  Bruno Haible  <bruno@clisp.org>
48068
48069         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
48070         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
48071         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
48072         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
48073         if not correct.
48074         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
48075         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
48076         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
48077         m4/locale-zh.m4, m4/codeset.m4.
48078         * doc/posix-functions/wcrtomb.texi: Document the bug.
48079
48080 2008-12-21  Bruno Haible  <bruno@clisp.org>
48081
48082         Work around a btowc() bug on IRIX 6.5.
48083         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
48084         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
48085         REPLACE_WTOBC if not.
48086         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
48087         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
48088         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
48089
48090 2008-12-21  Bruno Haible  <bruno@clisp.org>
48091
48092         * modules/wcrtomb-tests: New file.
48093         * tests/test-wcrtomb.sh: New file.
48094         * tests/test-wcrtomb.c: New file.
48095
48096         New module 'wcrtomb'.
48097         * lib/wchar.in.h (wcrtomb): New declaration.
48098         * lib/wcrtomb.c: New file.
48099         * m4/wcrtomb.m4: New file.
48100         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
48101         HAVE_WCRTOMB.
48102         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
48103         HAVE_WCRTOMB.
48104         * modules/wcrtomb: New file.
48105         * doc/posix-functions/wcrtomb.texi: Mention the new module.
48106
48107 2008-12-21  Bruno Haible  <bruno@clisp.org>
48108
48109         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
48110         * modules/mbsrtowcs (Files): Likewise.
48111         * modules/wctob (Files): Likewise.
48112         * modules/c-strcase-tests (Files): Likewise.
48113         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
48114         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
48115         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
48116         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
48117         * modules/vasnprintf-posix-tests (Files): Likewise.
48118
48119 2008-12-21  William Pursell  <bill.pursell@gmail.com>
48120
48121         gitlog-to-changelog: pass all command-line arguments to git-log
48122         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
48123         it is sometimes convenient to filter the commits in various ways.
48124         gitlog-to-changelog only allows --since to specify a start date,
48125         but git-log itself supports many other filtering mechanisms.
48126         At the moment, I want to filter by branch name.  Rather than
48127         adding a --branch option to gitlog-to-changelog, it seems more
48128         flexible to simply pass all options directly to git-log and let
48129         git do the work.  Notice that this effectively makes --since a
48130         redundant option for gitlog-to-changelog, but removing it would
48131         require current usage to change since calls would then require
48132         an additional '--'.
48133
48134 2008-12-21  Bruno Haible  <bruno@clisp.org>
48135
48136         * modules/mbsnrtowcs-tests: New file.
48137         * tests/test-mbsnrtowcs1.sh: New file.
48138         * tests/test-mbsnrtowcs2.sh: New file.
48139         * tests/test-mbsnrtowcs3.sh: New file.
48140         * tests/test-mbsnrtowcs4.sh: New file.
48141         * tests/test-mbsnrtowcs.c: New file.
48142
48143         New module 'mbsnrtowcs'.
48144         * lib/wchar.in.h (mbsnrtowcs): New declaration.
48145         * lib/mbsnrtowcs.c: New file.
48146         * lib/mbsrtowcs-state.c: New file.
48147         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
48148         (internal_state): Remove variable.
48149         * m4/mbsnrtowcs.m4: New file.
48150         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
48151         compilation units.
48152         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
48153         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
48154         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
48155         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
48156         * modules/mbsnrtowcs: New file.
48157         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
48158         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
48159         portability problem.
48160
48161 2008-12-21  Bruno Haible  <bruno@clisp.org>
48162
48163         Work around mbsrtowcs bug.
48164         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
48165         (gl_FUNC_MBSRTOWCS): Invoke it.
48166         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
48167         m4/locale-zh.m4.
48168         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
48169
48170 2008-12-21  Bruno Haible  <bruno@clisp.org>
48171
48172         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
48173
48174 2008-12-21  Bruno Haible  <bruno@clisp.org>
48175
48176         Update doc for AIX.
48177         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
48178         16-bit wchar_t type.
48179         * doc/posix-functions/btowc.texi: Likewise.
48180         * doc/posix-functions/fgetwc.texi: Likewise.
48181         * doc/posix-functions/fgetws.texi: Likewise.
48182         * doc/posix-functions/fputwc.texi: Likewise.
48183         * doc/posix-functions/fputws.texi: Likewise.
48184         * doc/posix-functions/fwide.texi: Likewise.
48185         * doc/posix-functions/fwprintf.texi: Likewise.
48186         * doc/posix-functions/fwscanf.texi: Likewise.
48187         * doc/posix-functions/getwchar.texi: Likewise.
48188         * doc/posix-functions/getwc.texi: Likewise.
48189         * doc/posix-functions/iswalnum.texi: Likewise.
48190         * doc/posix-functions/iswalpha.texi: Likewise.
48191         * doc/posix-functions/iswblank.texi: Likewise.
48192         * doc/posix-functions/iswcntrl.texi: Likewise.
48193         * doc/posix-functions/iswctype.texi: Likewise.
48194         * doc/posix-functions/iswdigit.texi: Likewise.
48195         * doc/posix-functions/iswgraph.texi: Likewise.
48196         * doc/posix-functions/iswlower.texi: Likewise.
48197         * doc/posix-functions/iswprint.texi: Likewise.
48198         * doc/posix-functions/iswpunct.texi: Likewise.
48199         * doc/posix-functions/iswspace.texi: Likewise.
48200         * doc/posix-functions/iswupper.texi: Likewise.
48201         * doc/posix-functions/iswxdigit.texi: Likewise.
48202         * doc/posix-functions/mbrtowc.texi: Likewise.
48203         * doc/posix-functions/mbsrtowcs.texi: Likewise.
48204         * doc/posix-functions/mbstowcs.texi: Likewise.
48205         * doc/posix-functions/mbtowc.texi: Likewise.
48206         * doc/posix-functions/putwchar.texi: Likewise.
48207         * doc/posix-functions/putwc.texi: Likewise.
48208         * doc/posix-functions/swprintf.texi: Likewise.
48209         * doc/posix-functions/tolower.texi: Likewise.
48210         * doc/posix-functions/toupper.texi: Likewise.
48211         * doc/posix-functions/towctrans.texi: Likewise.
48212         * doc/posix-functions/ungetwc.texi: Likewise.
48213         * doc/posix-functions/vswprintf.texi: Likewise.
48214         * doc/posix-functions/wcrtomb.texi: Likewise.
48215         * doc/posix-functions/wcscat.texi: Likewise.
48216         * doc/posix-functions/wcschr.texi: Likewise.
48217         * doc/posix-functions/wcscmp.texi: Likewise.
48218         * doc/posix-functions/wcscoll.texi: Likewise.
48219         * doc/posix-functions/wcscpy.texi: Likewise.
48220         * doc/posix-functions/wcscspn.texi: Likewise.
48221         * doc/posix-functions/wcsftime.texi: Likewise.
48222         * doc/posix-functions/wcslen.texi: Likewise.
48223         * doc/posix-functions/wcsncat.texi: Likewise.
48224         * doc/posix-functions/wcsncmp.texi: Likewise.
48225         * doc/posix-functions/wcsncpy.texi: Likewise.
48226         * doc/posix-functions/wcspbrk.texi: Likewise.
48227         * doc/posix-functions/wcsrchr.texi: Likewise.
48228         * doc/posix-functions/wcsrtombs.texi: Likewise.
48229         * doc/posix-functions/wcsspn.texi: Likewise.
48230         * doc/posix-functions/wcsstr.texi: Likewise.
48231         * doc/posix-functions/wcstod.texi: Likewise.
48232         * doc/posix-functions/wcstof.texi: Likewise.
48233         * doc/posix-functions/wcstoimax.texi: Likewise.
48234         * doc/posix-functions/wcstok.texi: Likewise.
48235         * doc/posix-functions/wcstold.texi: Likewise.
48236         * doc/posix-functions/wcstoll.texi: Likewise.
48237         * doc/posix-functions/wcstol.texi: Likewise.
48238         * doc/posix-functions/wcstombs.texi: Likewise.
48239         * doc/posix-functions/wcstoull.texi: Likewise.
48240         * doc/posix-functions/wcstoul.texi: Likewise.
48241         * doc/posix-functions/wcstoumax.texi: Likewise.
48242         * doc/posix-functions/wcswidth.texi: Likewise.
48243         * doc/posix-functions/wcsxfrm.texi: Likewise.
48244         * doc/posix-functions/wctob.texi: Likewise.
48245         * doc/posix-functions/wctomb.texi: Likewise.
48246         * doc/posix-functions/wctrans.texi: Likewise.
48247         * doc/posix-functions/wctype.texi: Likewise.
48248         * doc/posix-functions/wcwidth.texi: Likewise.
48249         * doc/posix-functions/wmemchr.texi: Likewise.
48250         * doc/posix-functions/wmemcmp.texi: Likewise.
48251         * doc/posix-functions/wmemcpy.texi: Likewise.
48252         * doc/posix-functions/wmemmove.texi: Likewise.
48253         * doc/posix-functions/wmemset.texi: Likewise.
48254         * doc/posix-functions/wprintf.texi: Likewise.
48255         * doc/posix-functions/wscanf.texi: Likewise.
48256
48257 2008-12-21  Bruno Haible  <bruno@clisp.org>
48258
48259         Update doc for HP-UX 11.11.
48260         * doc/posix-functions/btowc.texi: Clarify that the function is missing
48261         in HP-UX version 11.00, not in all versions of HP-UX 11.
48262         * doc/posix-functions/fwide.texi: Likewise.
48263         * doc/posix-functions/fwprintf.texi: Likewise.
48264         * doc/posix-functions/fwscanf.texi: Likewise.
48265         * doc/posix-functions/inet_ntop.texi: Likewise.
48266         * doc/posix-functions/inet_pton.texi: Likewise.
48267         * doc/posix-functions/mbrlen.texi: Likewise.
48268         * doc/posix-functions/mbrtowc.texi: Likewise.
48269         * doc/posix-functions/mbsinit.texi: Likewise.
48270         * doc/posix-functions/mbsrtowcs.texi: Likewise.
48271         * doc/posix-functions/swprintf.texi: Likewise.
48272         * doc/posix-functions/swscanf.texi: Likewise.
48273         * doc/posix-functions/towctrans.texi: Likewise.
48274         * doc/posix-functions/vfwprintf.texi: Likewise.
48275         * doc/posix-functions/vswprintf.texi: Likewise.
48276         * doc/posix-functions/vwprintf.texi: Likewise.
48277         * doc/posix-functions/wcrtomb.texi: Likewise.
48278         * doc/posix-functions/wcsrtombs.texi: Likewise.
48279         * doc/posix-functions/wcsstr.texi: Likewise.
48280         * doc/posix-functions/wctob.texi: Likewise.
48281         * doc/posix-functions/wctrans.texi: Likewise.
48282         * doc/posix-functions/wmemchr.texi: Likewise.
48283         * doc/posix-functions/wmemcmp.texi: Likewise.
48284         * doc/posix-functions/wmemcpy.texi: Likewise.
48285         * doc/posix-functions/wmemmove.texi: Likewise.
48286         * doc/posix-functions/wmemset.texi: Likewise.
48287         * doc/posix-functions/wprintf.texi: Likewise.
48288         * doc/posix-functions/wscanf.texi: Likewise.
48289
48290 2008-12-21  Bruno Haible  <bruno@clisp.org>
48291
48292         Work around a portability problem.
48293         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
48294         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
48295
48296 2008-12-20  Bruno Haible  <bruno@clisp.org>
48297
48298         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
48299         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
48300         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
48301         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
48302         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
48303
48304         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
48305         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
48306         set.
48307         (GNULIB_defined_mbstate_t): New macro.
48308         (mbsinit): Redefine if REPLACE_MBSINIT is set.
48309         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
48310         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
48311         reuses the system's mbrtowc function but works around the bugs.
48312         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
48313         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
48314         macros.
48315         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
48316         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
48317         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
48318         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
48319         REPLACE_MBSINIT if mbsinit needs to be overridden.
48320         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
48321         REPLACE_MBSINIT, REPLACE_MBRTOWC.
48322         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
48323         REPLACE_MBSINIT, REPLACE_MBRTOWC.
48324         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
48325         m4/locale-zh.m4.
48326         (Depends): Add mbsinit.
48327         * modules/mbsinit (Depends): Add mbrtowc.
48328         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
48329
48330 2008-12-20  Bruno Haible  <bruno@clisp.org>
48331
48332         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
48333         so that there are no conversion errors on AIX.
48334         * tests/test-mbsrtowcs.c (main): LIkewise.
48335
48336 2008-12-20  Bruno Haible  <bruno@clisp.org>
48337
48338         Work around wctob bug on Solaris <= 9.
48339         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
48340         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
48341         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
48342         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
48343         * modules/wctob (Files): Add m4/locale-fr.m4.
48344         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
48345
48346 2008-12-20  Bruno Haible  <bruno@clisp.org>
48347
48348         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
48349         /dev/null.
48350         * tests/test-select-in.sh: Likewise.
48351         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48352
48353 2008-12-20  Bruno Haible  <bruno@clisp.org>
48354
48355         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
48356         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
48357         Cygwin 1.5.x.
48358
48359 2008-12-20  Bruno Haible  <bruno@clisp.org>
48360
48361         Ensure mbstate_t is defined on HP-UX 11.11.
48362         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
48363         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
48364         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
48365         AC_USE_SYSTEM_EXTENSIONS.
48366         * modules/fnmatch (Depends-on): Add extensions.
48367         * modules/mbrlen (Depends-on): Likewise.
48368         * modules/mbrtowc (Depends-on): Likewise.
48369         * modules/mbsinit (Depends-on): Likewise.
48370         * modules/mbsrtowcs (Depends-on): Likewise.
48371         * modules/mbswidth (Depends-on): Likewise.
48372         * modules/quotearg (Depends-on): Likewise.
48373         * modules/strftime (Depends-on): Likewise.
48374
48375 2008-12-20  Bruno Haible  <bruno@clisp.org>
48376
48377         Ensure wctob is declared on IRIX 6.5.
48378         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
48379         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
48380         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
48381         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
48382         of HAVE_WCTOB.
48383         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
48384         HAVE_WCTOB.
48385         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
48386
48387 2008-12-19  Bruno Haible  <bruno@clisp.org>
48388
48389         * modules/mbsrtowcs-tests: New file.
48390         * tests/test-mbsrtowcs1.sh: New file.
48391         * tests/test-mbsrtowcs2.sh: New file.
48392         * tests/test-mbsrtowcs3.sh: New file.
48393         * tests/test-mbsrtowcs4.sh: New file.
48394         * tests/test-mbsrtowcs.c: New file.
48395
48396         New module 'mbsrtowcs'.
48397         * lib/wchar.in.h (mbsrtowcs): New declaration.
48398         * lib/mbsrtowcs.c: New file.
48399         * m4/mbsrtowcs.m4: New file.
48400         * modules/mbsrtowcs: New file.
48401         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
48402         HAVE_MBSRTOWCS.
48403         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
48404         HAVE_MBSRTOWCS.
48405         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
48406
48407 2008-12-19  Bruno Haible  <bruno@clisp.org>
48408
48409         New module 'mbrlen'.
48410         * lib/wchar.in.h (mbrlen): New declaration.
48411         * lib/mbrlen.c: New file.
48412         * m4/mbrlen.m4: New file.
48413         * modules/mbrlen: New file.
48414         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
48415         HAVE_MBRLEN.
48416         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
48417         HAVE_MBRLEN.
48418         * doc/posix-functions/mbrlen.texi: Document the new module.
48419
48420 2008-12-19  Bruno Haible  <bruno@clisp.org>
48421
48422         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
48423         * modules/mbrtowc (Depends-on): Add verify.
48424         Suggested by Paul Eggert.
48425
48426 2008-12-18  Bruno Haible  <bruno@clisp.org>
48427
48428         * modules/mbsinit-tests: New file.
48429         * tests/test-mbsinit.sh: New file.
48430         * tests/test-mbsinit.c: New file.
48431
48432 2008-12-18  Bruno Haible  <bruno@clisp.org>
48433
48434         * modules/mbrtowc-tests: New file.
48435         * tests/test-mbrtowc1.sh: New file.
48436         * tests/test-mbrtowc2.sh: New file.
48437         * tests/test-mbrtowc3.sh: New file.
48438         * tests/test-mbrtowc4.sh: New file.
48439         * tests/test-mbrtowc.c: New file.
48440
48441         New module 'mbrtowc'.
48442         * lib/wchar.in.h (mbstate_t): Override when the system does not have
48443         mbsinit and mbrtowc.
48444         (mbrtowc): New declaration.
48445         * lib/mbrtowc.c: New file.
48446         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
48447         * modules/mbrtowc: New file.
48448         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
48449         HAVE_MBRTOWC.
48450         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
48451         HAVE_MBRTOWC.
48452         * doc/posix-functions/mbrtowc.texi: Document the new module.
48453
48454 2008-12-18  Bruno Haible  <bruno@clisp.org>
48455
48456         New module 'wctob'.
48457         * lib/wchar.in.h (wctob): New declaration.
48458         * lib/wctob.c: New file.
48459         * m4/wctob.m4: New file.
48460         * modules/wctob: New file.
48461         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
48462         HAVE_WCTOB.
48463         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
48464         * doc/posix-functions/wctob.texi: Document the new module.
48465
48466 2008-12-18  Bruno Haible  <bruno@clisp.org>
48467
48468         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
48469         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
48470
48471 2008-12-18  Simon Josefsson  <simon@josefsson.org>
48472
48473         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
48474         G. Christensen" <tgc@jupiterrise.com>.
48475
48476         * lib/flock.c: Need to include errno.h.  Reported by "Tom
48477         G. Christensen" <tgc@jupiterrise.com>.
48478
48479         * lib/flock.c: Need to include string.h.  Reported by "Tom
48480         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
48481         <ebb9@byu.net>.
48482
48483 2008-12-18  Bruno Haible  <bruno@clisp.org>
48484
48485         * m4/locale-ja.m4: New file, from GNU gettext.
48486
48487 2008-12-17  Bruno Haible  <bruno@clisp.org>
48488
48489         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
48490         Suggested by Eric Blake.
48491
48492 2008-12-17  Bruno Haible  <bruno@clisp.org>
48493
48494         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
48495
48496 2008-12-17  Bruno Haible  <bruno@clisp.org>
48497
48498         * lib/mbsinit.c: Include verify.h. Verify an assumption.
48499         * modules/mbsinit (Depends-on): Add verify.
48500         Suggested by Paul Eggert.
48501
48502 2008-12-17  Bruno Haible  <bruno@clisp.org>
48503
48504         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
48505         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
48506         gl_FUNC_MBRTOWC.
48507         * m4/mbiter.m4 (gl_MBITER): LIkewise.
48508         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
48509         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
48510         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
48511         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
48512         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
48513         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
48514         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
48515         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
48516         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
48517         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
48518         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
48519         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
48520         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
48521         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
48522         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
48523         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
48524         * modules/trim (configure.ac): Likewise.
48525
48526 2008-12-17  Bruno Haible  <bruno@clisp.org>
48527
48528         * modules/btowc-tests: New file.
48529         * tests/test-btowc1.sh: New file.
48530         * tests/test-btowc2.sh: New file.
48531         * tests/test-btowc.c: New file.
48532
48533         New module 'btowc'.
48534         * lib/wchar.in.h (btowc): New declaration.
48535         * lib/btowc.c: New file.
48536         * m4/btowc.m4: New file.
48537         * modules/btowc: New file.
48538         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
48539         HAVE_BTOWC.
48540         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
48541         * doc/posix-functions/btowc.texi: Document the new module.
48542
48543 2008-12-17  Bruno Haible  <bruno@clisp.org>
48544
48545         New module 'mbsinit'.
48546         * lib/wchar.in.h (mbsinit): New declaration.
48547         * lib/mbsinit.c: New file.
48548         * m4/mbsinit.m4: New file.
48549         * modules/mbsinit: New file.
48550         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
48551         HAVE_MBSINIT.
48552         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
48553         HAVE_MBSINIT.
48554         * doc/posix-functions/mbsinit.texi: Document the new module.
48555
48556 2008-12-16  Bruno Haible  <bruno@clisp.org>
48557
48558         * lib/unistd.in.h: Add comment.
48559         * tests/test-environ.c: Don't include <stdlib.h>.
48560
48561 2008-12-16  Bruno Haible  <bruno@clisp.org>
48562
48563         * lib/parse-duration.h (parse_duration): Document return value
48564         convention.
48565         * lib/parse-duration.c: Include specification header first. Add
48566         comments.
48567         (_): Remove macro.
48568         (parse_year_month_day, parse_hour_minute_second): Move side effects
48569         outside of strchr call.
48570         (parse_non_iso8601): Move side effects outside of isspace call.
48571         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
48572         call.
48573
48574 2008-12-16  Bruno Haible  <bruno@clisp.org>
48575
48576         * tests/test-parse-duration.sh: Produce no output when the test
48577         succeeds.
48578
48579 2008-12-16  Bruno Haible  <bruno@clisp.org>
48580
48581         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
48582         expressions.
48583
48584 2008-12-15  Bruno Haible  <bruno@clisp.org>
48585
48586         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
48587         * doc/glibc-functions/flistxattr.texi: Likewise.
48588         * doc/glibc-functions/fopencookie.texi: Likewise.
48589         * doc/glibc-functions/fremovexattr.texi: Likewise.
48590         * doc/glibc-functions/fsetxattr.texi: Likewise.
48591         * doc/glibc-functions/getxattr.texi: Likewise.
48592         * doc/glibc-functions/lgetxattr.texi: Likewise.
48593         * doc/glibc-functions/listxattr.texi: Likewise.
48594         * doc/glibc-functions/llistxattr.texi: Likewise.
48595         * doc/glibc-functions/lremovexattr.texi: Likewise.
48596         * doc/glibc-functions/lsetxattr.texi: Likewise.
48597         * doc/glibc-functions/removexattr.texi: Likewise.
48598         * doc/glibc-functions/setxattr.texi: Likewise.
48599         * doc/posix-functions/open_memstream.texi: Likewise.
48600
48601 2008-12-15  Eric Blake  <ebb9@byu.net>
48602
48603         Update doc for cygwin 1.7.
48604         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
48605         functions.
48606         * doc/posix-functions/fchmodat.texi: Likewise.
48607         * doc/posix-functions/fchownat.texi: Likewise.
48608         * doc/posix-functions/fdopendir.texi: Likewise.
48609         * doc/posix-functions/fmemopen.texi: Likewise.
48610         * doc/posix-functions/freeaddrinfo.texi: Likewise.
48611         * doc/posix-functions/fstatat.texi: Likewise.
48612         * doc/posix-functions/futimens.texi: Likewise.
48613         * doc/posix-functions/gai_strerror.texi: Likewise.
48614         * doc/posix-functions/getaddrinfo.texi: Likewise.
48615         * doc/posix-functions/getnameinfo.texi: Likewise.
48616         * doc/posix-functions/if_freenameindex.texi: Likewise.
48617         * doc/posix-functions/if_indextoname.texi: Likewise.
48618         * doc/posix-functions/if_nameindex.texi: Likewise.
48619         * doc/posix-functions/if_nametoindex.texi: Likewise.
48620         * doc/posix-functions/insque.texi: Likewise.
48621         * doc/posix-functions/linkat.texi: Likewise.
48622         * doc/posix-functions/llrint.texi: Likewise.
48623         * doc/posix-functions/llrintf.texi: Likewise.
48624         * doc/posix-functions/llrintl.texi: Likewise.
48625         * doc/posix-functions/lockf.texi: Likewise.
48626         * doc/posix-functions/lrintl.texi: Likewise.
48627         * doc/posix-functions/mkdirat.texi: Likewise.
48628         * doc/posix-functions/mkfifoat.texi: Likewise.
48629         * doc/posix-functions/mknodat.texi: Likewise.
48630         * doc/posix-functions/mq_close.texi: Likewise.
48631         * doc/posix-functions/mq_getattr.texi: Likewise.
48632         * doc/posix-functions/mq_notify.texi: Likewise.
48633         * doc/posix-functions/mq_open.texi: Likewise.
48634         * doc/posix-functions/mq_receive.texi: Likewise.
48635         * doc/posix-functions/mq_send.texi: Likewise.
48636         * doc/posix-functions/mq_setattr.texi: Likewise.
48637         * doc/posix-functions/mq_timedreceive.texi: Likewise.
48638         * doc/posix-functions/mq_timedsend.texi: Likewise.
48639         * doc/posix-functions/mq_unlink.texi: Likewise.
48640         * doc/posix-functions/open_memstream.texi: Likewise.
48641         * doc/posix-functions/openat.texi: Likewise.
48642         * doc/posix-functions/posix_fadvise.texi: Likewise.
48643         * doc/posix-functions/posix_fallocate.texi: Likewise.
48644         * doc/posix-functions/posix_madvise.texi: Likewise.
48645         * doc/posix-functions/posix_memalign.texi: Likewise.
48646         * doc/posix-functions/posix_openpt.texi: Likewise.
48647         * doc/posix-functions/readlinkat.texi: Likewise.
48648         * doc/posix-functions/remque.texi: Likewise.
48649         * doc/posix-functions/renameat.texi: Likewise.
48650         * doc/posix-functions/rintl.texi: Likewise.
48651         * doc/posix-functions/sem_unlink.texi: Likewise.
48652         * doc/posix-functions/shm_open.texi: Likewise.
48653         * doc/posix-functions/shm_unlink.texi: Likewise.
48654         * doc/posix-functions/signgam.texi: Likewise.
48655         * doc/posix-functions/sigset.texi: Likewise.
48656         * doc/posix-functions/stpcpy.texi: Likewise.
48657         * doc/posix-functions/stpncpy.texi: Likewise.
48658         * doc/posix-functions/strerror.texi: Likewise.
48659         * doc/posix-functions/strtod.texi: Likewise.
48660         * doc/posix-functions/symlinkat.texi: Likewise.
48661         * doc/posix-functions/unlinkat.texi: Likewise.
48662         * doc/posix-functions/utimensat.texi: Likewise.
48663         * doc/glibc-functions/bindresvport.texi: Likewise.
48664         * doc/glibc-functions/dn_expand.texi: Likewise.
48665         * doc/glibc-functions/exp10.texi: Likewise.
48666         * doc/glibc-functions/exp10f.texi: Likewise.
48667         * doc/glibc-functions/fgetxattr.texi: Likewise.
48668         * doc/glibc-functions/flistxattr.texi: Likewise.
48669         * doc/glibc-functions/fopencookie.texi: Likewise.
48670         * doc/glibc-functions/freeifaddrs.texi: Likewise.
48671         * doc/glibc-functions/fremovexattr.texi: Likewise.
48672         * doc/glibc-functions/fsetxattr.texi: Likewise.
48673         * doc/glibc-functions/getifaddrs.texi: Likewise.
48674         * doc/glibc-functions/getxattr.texi: Likewise.
48675         * doc/glibc-functions/lgetxattr.texi: Likewise.
48676         * doc/glibc-functions/listxattr.texi: Likewise.
48677         * doc/glibc-functions/llistxattr.texi: Likewise.
48678         * doc/glibc-functions/lremovexattr.texi: Likewise.
48679         * doc/glibc-functions/lsetxattr.texi: Likewise.
48680         * doc/glibc-functions/pow10.texi: Likewise.
48681         * doc/glibc-functions/pow10f.texi: Likewise.
48682         * doc/glibc-functions/rcmd_af.texi: Likewise.
48683         * doc/glibc-functions/removexattr.texi: Likewise.
48684         * doc/glibc-functions/res_init.texi: Likewise.
48685         * doc/glibc-functions/res_mkquery.texi: Likewise.
48686         * doc/glibc-functions/res_query.texi: Likewise.
48687         * doc/glibc-functions/res_querydomain.texi: Likewise.
48688         * doc/glibc-functions/res_send.texi: Likewise.
48689         * doc/glibc-functions/rresvport_af.texi: Likewise.
48690         * doc/glibc-functions/setxattr.texi: Likewise.
48691         * doc/glibc-functions/strcasestr.texi: Likewise.
48692
48693 2008-12-15  Bruno Haible  <bruno@clisp.org>
48694
48695         Fix compilation error on OSF/1 4.0.
48696         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
48697         <sys/time.h>, simply delegate to the system header.
48698         Reported by Daniel Richard G. <oss@teragram.com>.
48699
48700 2008-12-15  Bruno Haible  <bruno@clisp.org>
48701
48702         * doc/posix-functions/openat.texi: Mention the 'openat' module.
48703         * doc/posix-functions/fchmodat.texi: Likewise.
48704         * doc/posix-functions/fchownat.texi: Likewise.
48705         * doc/posix-functions/fdopendir.texi: Likewise.
48706         * doc/posix-functions/fstatat.texi: Likewise.
48707         * doc/posix-functions/mkdirat.texi: Likewise.
48708         * doc/posix-functions/unlinkat.texi: Likewise.
48709
48710 2008-12-14  Bruno Haible  <bruno@clisp.org>
48711
48712         Update doc for POSIX:2008.
48713         * doc/posix-functions/faccessat.texi: New file.
48714         * doc/posix-functions/fchmodat.texi: New file.
48715         * doc/posix-functions/fchownat.texi: New file.
48716         * doc/posix-functions/fdopendir.texi: New file.
48717         * doc/posix-functions/fstatat.texi: New file.
48718         * doc/posix-functions/futimens.texi: New file.
48719         * doc/posix-functions/linkat.texi: New file.
48720         * doc/posix-functions/mkdirat.texi: New file.
48721         * doc/posix-functions/mkfifoat.texi: New file.
48722         * doc/posix-functions/mknodat.texi: New file.
48723         * doc/posix-functions/open_wmemstream.texi: New file.
48724         * doc/posix-functions/openat.texi: New file.
48725         * doc/posix-functions/psiginfo.texi: New file.
48726         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
48727         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
48728         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
48729         * doc/posix-functions/readlinkat.texi: New file.
48730         * doc/posix-functions/renameat.texi: New file.
48731         * doc/posix-functions/strerror_l.texi: New file.
48732         * doc/posix-functions/symlinkat.texi: New file.
48733         * doc/posix-functions/unlinkat.texi: New file.
48734         * doc/posix-functions/utimensat.texi: New file.
48735         * doc/gnulib.texi (Function Substitutes): Add these subsections.
48736
48737 2008-12-14  Bruno Haible  <bruno@clisp.org>
48738
48739         Update doc for POSIX:2008.
48740         * doc/posix-functions/alphasort.texi: Renamed from
48741         doc/glibc-functions/alphasort.texi.
48742         * doc/posix-functions/dirfd.texi: Renamed from
48743         doc/glibc-functions/dirfd.texi.
48744         * doc/posix-functions/dprintf.texi: Renamed from
48745         doc/glibc-functions/dprintf.texi.
48746         * doc/posix-functions/duplocale.texi: Renamed from
48747         doc/glibc-functions/duplocale.texi.
48748         * doc/posix-functions/fexecve.texi: Renamed from
48749         doc/glibc-functions/fexecve.texi.
48750         * doc/posix-functions/fmemopen.texi: Renamed from
48751         doc/glibc-functions/fmemopen.texi.
48752         * doc/posix-functions/freelocale.texi: Renamed from
48753         doc/glibc-functions/freelocale.texi.
48754         * doc/posix-functions/getdate_err.texi: Renamed from
48755         doc/glibc-functions/getdate_err.texi.
48756         * doc/posix-functions/isalnum_l.texi: Renamed from
48757         doc/glibc-functions/isalnum_l.texi.
48758         * doc/posix-functions/isalpha_l.texi: Renamed from
48759         doc/glibc-functions/isalpha_l.texi.
48760         * doc/posix-functions/isblank_l.texi: Renamed from
48761         doc/glibc-functions/isblank_l.texi.
48762         * doc/posix-functions/iscntrl_l.texi: Renamed from
48763         doc/glibc-functions/iscntrl_l.texi.
48764         * doc/posix-functions/isdigit_l.texi: Renamed from
48765         doc/glibc-functions/isdigit_l.texi.
48766         * doc/posix-functions/isgraph_l.texi: Renamed from
48767         doc/glibc-functions/isgraph_l.texi.
48768         * doc/posix-functions/islower_l.texi: Renamed from
48769         doc/glibc-functions/islower_l.texi.
48770         * doc/posix-functions/isprint_l.texi: Renamed from
48771         doc/glibc-functions/isprint_l.texi.
48772         * doc/posix-functions/ispunct_l.texi: Renamed from
48773         doc/glibc-functions/ispunct_l.texi.
48774         * doc/posix-functions/isspace_l.texi: Renamed from
48775         doc/glibc-functions/isspace_l.texi.
48776         * doc/posix-functions/isupper_l.texi: Renamed from
48777         doc/glibc-functions/isupper_l.texi.
48778         * doc/posix-functions/iswalnum_l.texi: Renamed from
48779         doc/glibc-functions/iswalnum_l.texi.
48780         * doc/posix-functions/iswalpha_l.texi: Renamed from
48781         doc/glibc-functions/iswalpha_l.texi.
48782         * doc/posix-functions/iswblank_l.texi: Renamed from
48783         doc/glibc-functions/iswblank_l.texi.
48784         * doc/posix-functions/iswcntrl_l.texi: Renamed from
48785         doc/glibc-functions/iswcntrl_l.texi.
48786         * doc/posix-functions/iswctype_l.texi: Renamed from
48787         doc/glibc-functions/iswctype_l.texi.
48788         * doc/posix-functions/iswdigit_l.texi: Renamed from
48789         doc/glibc-functions/iswdigit_l.texi.
48790         * doc/posix-functions/iswgraph_l.texi: Renamed from
48791         doc/glibc-functions/iswgraph_l.texi.
48792         * doc/posix-functions/iswlower_l.texi: Renamed from
48793         doc/glibc-functions/iswlower_l.texi.
48794         * doc/posix-functions/iswprint_l.texi: Renamed from
48795         doc/glibc-functions/iswprint_l.texi.
48796         * doc/posix-functions/iswpunct_l.texi: Renamed from
48797         doc/glibc-functions/iswpunct_l.texi.
48798         * doc/posix-functions/iswspace_l.texi: Renamed from
48799         doc/glibc-functions/iswspace_l.texi.
48800         * doc/posix-functions/iswupper_l.texi: Renamed from
48801         doc/glibc-functions/iswupper_l.texi.
48802         * doc/posix-functions/iswxdigit_l.texi: Renamed from
48803         doc/glibc-functions/iswxdigit_l.texi.
48804         * doc/posix-functions/isxdigit_l.texi: Renamed from
48805         doc/glibc-functions/isxdigit_l.texi.
48806         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
48807         doc/glibc-functions/mbsnrtowcs.texi.
48808         * doc/posix-functions/mkdtemp.texi: Renamed from
48809         doc/glibc-functions/mkdtemp.texi.
48810         * doc/posix-functions/newlocale.texi: Renamed from
48811         doc/glibc-functions/newlocale.texi.
48812         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
48813         doc/glibc-functions/nl_langinfo_l.texi.
48814         * doc/posix-functions/open_memstream.texi: Renamed from
48815         doc/glibc-functions/open_memstream.texi.
48816         * doc/posix-functions/opterr.texi: Renamed from
48817         doc/glibc-functions/opterr.texi.
48818         * doc/posix-functions/optind.texi: Renamed from
48819         doc/glibc-functions/optind.texi.
48820         * doc/posix-functions/optopt.texi: Renamed from
48821         doc/glibc-functions/optopt.texi.
48822         * doc/posix-functions/psignal.texi: Renamed from
48823         doc/glibc-functions/psignal.texi.
48824         * doc/posix-functions/scandir.texi: Renamed from
48825         doc/glibc-functions/scandir.texi.
48826         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
48827         doc/glibc-functions/sched_get_priority_min.texi.
48828         * doc/posix-functions/signgam.texi: Renamed from
48829         doc/glibc-functions/signgam.texi.
48830         * doc/posix-functions/stpcpy.texi: Renamed from
48831         doc/glibc-functions/stpcpy.texi.
48832         * doc/posix-functions/stpncpy.texi: Renamed from
48833         doc/glibc-functions/stpncpy.texi.
48834         * doc/posix-functions/strcasecmp_l.texi: Renamed from
48835         doc/glibc-functions/strcasecmp_l.texi.
48836         * doc/posix-functions/strcoll_l.texi: Renamed from
48837         doc/glibc-functions/strcoll_l.texi.
48838         * doc/posix-functions/strfmon_l.texi: Renamed from
48839         doc/glibc-functions/strfmon_l.texi.
48840         * doc/posix-functions/strftime_l.texi: Renamed from
48841         doc/glibc-functions/strftime_l.texi.
48842         * doc/posix-functions/strncasecmp_l.texi: Renamed from
48843         doc/glibc-functions/strncasecmp_l.texi.
48844         * doc/posix-functions/strndup.texi: Renamed from
48845         doc/glibc-functions/strndup.texi.
48846         * doc/posix-functions/strnlen.texi: Renamed from
48847         doc/glibc-functions/strnlen.texi.
48848         * doc/posix-functions/strsignal.texi: Renamed from
48849         doc/glibc-functions/strsignal.texi.
48850         * doc/posix-functions/strxfrm_l.texi: Renamed from
48851         doc/glibc-functions/strxfrm_l.texi.
48852         * doc/posix-functions/timer_gettime.texi: Renamed from
48853         doc/glibc-functions/timer_gettime.texi.
48854         * doc/posix-functions/tolower_l.texi: Renamed from
48855         doc/glibc-functions/tolower_l.texi.
48856         * doc/posix-functions/toupper_l.texi: Renamed from
48857         doc/glibc-functions/toupper_l.texi.
48858         * doc/posix-functions/towctrans_l.texi: Renamed from
48859         doc/glibc-functions/towctrans_l.texi.
48860         * doc/posix-functions/towlower_l.texi: Renamed from
48861         doc/glibc-functions/towlower_l.texi.
48862         * doc/posix-functions/towupper_l.texi: Renamed from
48863         doc/glibc-functions/towupper_l.texi.
48864         * doc/posix-functions/uselocale.texi: Renamed from
48865         doc/glibc-functions/uselocale.texi.
48866         * doc/posix-functions/vdprintf.texi: Renamed from
48867         doc/glibc-functions/vdprintf.texi.
48868         * doc/posix-functions/wcpcpy.texi:
48869         Renamed from doc/glibc-functions/wcpcpy.texi.
48870         * doc/posix-functions/wcpncpy.texi: Renamed from
48871         doc/glibc-functions/wcpncpy.texi.
48872         * doc/posix-functions/wcscasecmp.texi: Renamed from
48873         doc/glibc-functions/wcscasecmp.texi.
48874         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
48875         doc/glibc-functions/wcscasecmp_l.texi.
48876         * doc/posix-functions/wcscoll_l.texi: Renamed from
48877         doc/glibc-functions/wcscoll_l.texi.
48878         * doc/posix-functions/wcsdup.texi: Renamed from
48879         doc/glibc-functions/wcsdup.texi.
48880         * doc/posix-functions/wcsncasecmp.texi: Renamed from
48881         doc/glibc-functions/wcsncasecmp.texi.
48882         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
48883         doc/glibc-functions/wcsncasecmp_l.texi.
48884         * doc/posix-functions/wcsnlen.texi: Renamed from
48885         doc/glibc-functions/wcsnlen.texi.
48886         * doc/posix-functions/wcsnrtombs.texi: Renamed from
48887         doc/glibc-functions/wcsnrtombs.texi.
48888         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
48889         doc/glibc-functions/wcsxfrm_l.texi.
48890         * doc/posix-functions/wctrans_l.texi: Renamed from
48891         doc/glibc-functions/wctrans_l.texi.
48892         * doc/posix-functions/wctype_l.texi: Renamed from
48893         doc/glibc-functions/wctype_l.texi.
48894         * doc/gnulib.texi (Function Substitutes): Add these subsections.
48895         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
48896         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
48897         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
48898         these subsections.
48899         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
48900         Remove sections.
48901
48902 2008-12-14  Bruno Haible  <bruno@clisp.org>
48903
48904         Update doc for POSIX:2008.
48905         * doc/posix-functions/*.texi: Update URL of POSIX specification.
48906
48907 2008-12-14  Bruno Haible  <bruno@clisp.org>
48908
48909         Update doc for POSIX:2008.
48910         * doc/pastposix-functions/bcmp.texi: Renamed from
48911         doc/posix-functions/bcmp.texi.
48912         * doc/pastposix-functions/bcopy.texi: Renamed from
48913         doc/posix-functions/bcopy.texi.
48914         * doc/pastposix-functions/bsd_signal.texi: Renamed from
48915         doc/posix-functions/bsd_signal.texi.
48916         * doc/pastposix-functions/bzero.texi: Renamed from
48917         doc/posix-functions/bzero.texi.
48918         * doc/pastposix-functions/ecvt.texi: Renamed from
48919         doc/posix-functions/ecvt.texi.
48920         * doc/pastposix-functions/fcvt.texi: Renamed from
48921         doc/posix-functions/fcvt.texi.
48922         * doc/pastposix-functions/ftime.texi: Renamed from
48923         doc/posix-functions/ftime.texi.
48924         * doc/pastposix-functions/gcvt.texi: Renamed from
48925         doc/posix-functions/gcvt.texi.
48926         * doc/pastposix-functions/getcontext.texi: Renamed from
48927         doc/posix-functions/getcontext.texi.
48928         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
48929         doc/posix-functions/gethostbyaddr.texi.
48930         * doc/pastposix-functions/gethostbyname.texi: Renamed from
48931         doc/posix-functions/gethostbyname.texi.
48932         * doc/pastposix-functions/getwd.texi: Renamed from
48933         doc/posix-functions/getwd.texi.
48934         * doc/pastposix-functions/h_errno.texi: Renamed from
48935         doc/posix-functions/h_errno.texi.
48936         * doc/pastposix-functions/index.texi: Renamed from
48937         doc/posix-functions/index.texi.
48938         * doc/pastposix-functions/makecontext.texi: Renamed from
48939         doc/posix-functions/makecontext.texi.
48940         * doc/pastposix-functions/mktemp.texi: Renamed from
48941         doc/posix-functions/mktemp.texi.
48942         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
48943         doc/posix-functions/pthread_attr_getstackaddr.texi.
48944         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
48945         doc/posix-functions/pthread_attr_setstackaddr.texi.
48946         * doc/pastposix-functions/rindex.texi: Renamed from
48947         doc/posix-functions/rindex.texi.
48948         * doc/pastposix-functions/scalb.texi: Renamed from
48949         doc/posix-functions/scalb.texi.
48950         * doc/pastposix-functions/setcontext.texi: Renamed from
48951         doc/posix-functions/setcontext.texi.
48952         * doc/pastposix-functions/swapcontext.texi: Renamed from
48953         doc/posix-functions/swapcontext.texi.
48954         * doc/pastposix-functions/ualarm.texi: Renamed from
48955         doc/posix-functions/ualarm.texi.
48956         * doc/pastposix-functions/usleep.texi: Renamed from
48957         doc/posix-functions/usleep.texi.
48958         * doc/pastposix-functions/vfork.texi: Renamed from
48959         doc/posix-functions/vfork.texi.
48960         * doc/pastposix-functions/wcswcs.texi: Renamed from
48961         doc/posix-functions/wcswcs.texi.
48962         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
48963         (Function Substitutes): Update.
48964
48965 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48966
48967         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
48968         m4/strerror.m4.
48969
48970 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48971             Bruno Haible  <bruno@clisp.org>
48972
48973         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
48974
48975 2008-12-13  Bruno Haible  <bruno@clisp.org>
48976
48977         * modules/strtoull (Depends-on): Remove unistd.
48978
48979 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48980
48981         * modules/strtoull (Depends-on): Add stdlib.
48982
48983 2008-12-11  Simon Josefsson  <simon@josefsson.org>
48984
48985         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
48986
48987 2008-12-10  Jim Meyering  <meyering@redhat.com>
48988
48989         gl_ASSERT: don't say assertions are disabled when they're not
48990         * m4/assert.m4 (gl_ASSERT): Do not make configure report
48991         "checking whether to enable assertions... no", when they are in
48992         fact enabled.  This is solely a bug in the output of configure.
48993         In spite of saying "no", NDEBUG was not defined in that case.
48994         Also, as noted by Eric Blake, leave assertions enabled upon
48995         --enable-assert=INVALID.
48996
48997 2008-12-10  Bruno Haible  <bruno@clisp.org>
48998
48999         Change MODULES.html to refer to POSIX:2008 where possible.
49000         * MODULES.html.sh (POSIX2008_URL): New variable.
49001         (posix_headers): Remove sys/timeb, ucontext.
49002         (posix2001_headers): New variable.
49003         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
49004         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
49005         index, makecontext, mktemp, pthread_attr_getstackaddr,
49006         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
49007         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
49008         (posix2001_functions): New variable.
49009         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
49010         otherwise.
49011
49012 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49013
49014         add missing include to parse-duration.c
49015         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
49016         * modules/parse-duration (Depends-on): Add xalloc.
49017
49018         fix sed script reading maint.mk
49019         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
49020         (syntax-check-rules): Use it.
49021
49022 2008-12-09  Bruno Haible  <bruno@clisp.org>
49023
49024         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
49025         MacOS X 10.4/PowerPC.
49026         Reported by Simon Josefsson.
49027
49028 2008-12-08  Jim Meyering  <meyering@redhat.com>
49029
49030         work around mingw's lack of some S_IF definitions
49031         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
49032         Reported by Simon Josefsson.
49033
49034 2008-12-08  Bruno Haible  <bruno@clisp.org>
49035
49036         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
49037         applied to variables. Needed on MacOS X 10.4/PowerPC.
49038         Reported by Simon Josefsson.
49039
49040 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
49041         and Eric Blake  <ebb9@byu.net>
49042
49043         assert: honor --enable-assert
49044         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
49045         order to honor --enable-assert, rather than treating it as a
49046         synonym for --disable-assert.
49047
49048 2008-12-08  Jim Meyering  <meyering@redhat.com>
49049
49050         * lib/posixtm.c: Remove now-useless declaration of mktime.
49051
49052         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
49053
49054 2008-12-07  Bruno Haible  <bruno@clisp.org>
49055
49056         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
49057         test_once): Mark functions as static.
49058         * tests/test-tls.c (test_tls): Likewise.
49059
49060 2008-12-07  Bruno Haible  <bruno@clisp.org>
49061
49062         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
49063         iconv_register_autodetect.
49064
49065 2008-12-07  Jim Meyering  <meyering@redhat.com>
49066
49067         posixtm.c: avoid a warning
49068         * lib/posixtm.c (posixtime): Don't initialize tm0.
49069         It's no longer needed to placate gcc4's -Wuninitialized,
49070         and the attempt to placate would elicit a new warning.
49071
49072         unicodeio.c: mark unused parameters
49073         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
49074         (fallback_failure_callback): Likewise.
49075
49076 2008-12-07  Bruno Haible  <bruno@clisp.org>
49077
49078         * gnulib-tool (func_create_testdir): When building the tests
49079         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
49080         Reported by Simon Josefsson.
49081
49082 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49083
49084         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
49085
49086 2008-12-06  Bruno Haible  <bruno@clisp.org>
49087
49088         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
49089         Suggested by Eric Blake.
49090
49091 2008-12-06  Bruno Haible  <bruno@clisp.org>
49092
49093         Fix a c-stack test failure on MacOS X.
49094         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
49095         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
49096         handler for SIGBUS as well.
49097         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
49098         install a signal handler for SIGBUS as well.
49099         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
49100
49101 2008-12-06  Bruno Haible  <bruno@clisp.org>
49102
49103         Advocacy documentation.
49104         * doc/gnulib-intro.texi (Benefits): New section.
49105         * doc/gnulib.texi: Update.
49106
49107 2008-12-06  Bruno Haible  <bruno@clisp.org>
49108
49109         Document the 'manywarnings' module.
49110         * doc/manywarnings.texi: New file.
49111         * doc/gnulib.texi: Include it.
49112
49113 2008-12-05  Eric Blake  <ebb9@byu.net>
49114
49115         tests: silence some gcc warnings
49116         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
49117         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
49118         type mismatches.
49119
49120 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49121             Bruno Haible  <bruno@clisp.org>
49122
49123         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
49124
49125 2008-11-29  Jim Meyering  <meyering@redhat.com>
49126
49127         unicodeio.c: mark unused parameters
49128         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
49129         (fallback_failure_callback): Likewise.
49130
49131         fts: fix a thinko
49132         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
49133         (set_stat_type): Return S_IF*-valued "type" directly.
49134         Prompted by James Youngman's spotting a related bug.
49135         Confirmed by further testing through find.
49136
49137         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
49138         * lib/fts.c (D_TYPE): Define.
49139         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
49140         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
49141         (s_ifmt_shift_bits): New function.
49142         (set_stat_type): New function.
49143         (fts_build): When not calling fts_stat, call set_stat_type
49144         to propagate dirent.d_type info to fts_read caller.
49145         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
49146         fts_statp->st_mode type information may be valid.
49147
49148 2008-11-28  Simon Josefsson  <simon@josefsson.org>
49149
49150         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
49151         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
49152         <sds@gnu.org>.
49153
49154 2008-11-20  Bruno Haible  <bruno@clisp.org>
49155
49156         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
49157         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
49158         INCLUDE_NEXT.
49159         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
49160         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
49161         * modules/math (Makefile.am): Substitute
49162         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
49163         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49164
49165 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
49166             Bruno Haible  <bruno@clisp.org>
49167
49168         * lib/stdint.in.h: Define all type macros so that their expansion is
49169         a single typedef'ed token. Fixes a compilation failure in Boost which
49170         does "using ::int8_t;".
49171
49172 2008-11-18  Simon Josefsson  <simon@josefsson.org>
49173
49174         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
49175         gl_MANYWARN_ALL_GCC.
49176         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
49177         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
49178         * modules/manywarnings: New file.
49179         * MODULES.html.sh: Mention manywarnings module.
49180
49181 2008-11-18  Bruno Haible  <bruno@clisp.org>
49182
49183         * doc/gnulib-tool.texi (Unit tests): New section.
49184
49185 2008-11-18  Simon Josefsson  <simon@josefsson.org>
49186
49187         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
49188         paths like 'lib/po/foo.po'.
49189
49190 2008-11-17  Simon Josefsson  <simon@josefsson.org>
49191
49192         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
49193         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
49194
49195 2008-11-17  Simon Josefsson  <simon@josefsson.org>
49196
49197         * m4/warnings.m4: Use CPPFLAGS to really check whether the
49198         parameter works.
49199
49200 2008-11-17  Simon Josefsson  <simon@josefsson.org>
49201
49202         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
49203
49204 2008-11-17  Bruce Korb  <bkorb@gnu.org>
49205
49206         * modules/parse-duration-tests: New file.
49207         * tests/test-parse-duration.sh: New file.
49208         * tests/test-parse-duration.c: New file.
49209
49210         New module 'parse-duration'.
49211         * lib/parse-duration.h: New file.
49212         * lib/parse-duration.c: New file.
49213         * modules/parse-duration: New file.
49214
49215 2008-11-17  Bruno Haible  <bruno@clisp.org>
49216
49217         * tests/test-select-out.sh: Comment out the first pipe test.
49218         Reported by Simon Josefsson.
49219
49220 2008-11-17  Bruno Haible  <bruno@clisp.org>
49221
49222         * modules/getaddrinfo (Depends-on): Add servent, hostent.
49223         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
49224         gl_HOSTENT.
49225
49226 2008-11-17  Bruno Haible  <bruno@clisp.org>
49227
49228         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
49229         -lnetwork and -lnet. Needed for Haiku and BeOS.
49230
49231 2008-11-16  Bruno Haible  <bruno@clisp.org>
49232
49233         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
49234
49235 2008-11-16  Bruno Haible  <bruno@clisp.org>
49236
49237         Avoid test failure on Haiku.
49238         * tests/test-fsync.c: Include <errno.h>.
49239         (main): Don't require that fsync (0) fails.
49240
49241 2008-11-15  Bruno Haible  <bruno@clisp.org>
49242
49243         New module 'hostent'.
49244         * modules/hostent: New file.
49245         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
49246
49247 2008-11-15  Bruno Haible  <bruno@clisp.org>
49248
49249         New module 'servent'.
49250         * modules/servent: New file.
49251         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
49252
49253 2008-11-15  Bruno Haible  <bruno@clisp.org>
49254
49255         Avoid generating same test program with two different rules.
49256         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
49257         test-frexp to test-frexp-nolibm.
49258         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
49259         test-frexpl to test-frexpl-nolibm.
49260
49261 2008-11-15  Bruno Haible  <bruno@clisp.org>
49262
49263         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
49264         $(FREXPL_LIBM).
49265
49266 2008-11-15  Bruno Haible  <bruno@clisp.org>
49267
49268         * lib/netdb.in.h: Activate the definitions also when the system's
49269         <netdb.h> has 'struct addrinfo'.
49270         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
49271         EAI_OVERFLOW or AI_NUMERICSERV.
49272         * doc/posix-headers/netdb.texi: Document the problem.
49273
49274 2008-11-15  Bruno Haible  <bruno@clisp.org>
49275
49276         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
49277
49278         Make the 'sched' module work on platforms where <sched.h> exists but
49279         is incomplete (such as Haiku).
49280         * lib/sched.in.h; Include the system's <sched.h> if it exists.
49281         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
49282         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
49283         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
49284         HAVE_STRUCT_SCHED_PARAM.
49285         * modules/sched (Depends-on): Add include_next.
49286         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
49287         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
49288         * doc/posix-headers/sched.texi: Document the issue.
49289
49290 2008-11-13  Jim Meyering  <meyering@redhat.com>
49291
49292         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
49293         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
49294         test would fail due to the difference in the Report bugs to ...
49295         line.  The expected address is empty, "<>", while the actual
49296         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
49297
49298 2008-11-12  Bruno Haible  <bruno@clisp.org>
49299
49300         lstat: don't compile lstat.c on systems lacking lstat
49301         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
49302         which don't have lstat; this is handled by lib/sys_stat.in.h already.
49303         Reported by Daniel P. Berrange via Jim Meyering.
49304
49305 2008-11-12  Jim Meyering  <meyering@redhat.com>
49306
49307         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
49308
49309 2008-11-12  Simon Josefsson  <simon@josefsson.org>
49310
49311         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
49312         instead.
49313
49314 2008-11-12  Bruno Haible  <bruno@clisp.org>
49315
49316         * lib/unicodeio.c: Include unistr.h.
49317         (utf8_wctomb): Remove function.
49318         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
49319
49320 2008-11-12  Simon Josefsson  <simon@josefsson.org>
49321
49322         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
49323         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
49324         <bruno@clisp.org>.
49325         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
49326
49327 2008-11-12  Simon Josefsson  <simon@josefsson.org>
49328
49329         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
49330         * doc/gnulib.texi: Add section for warnings.
49331
49332 2008-11-11  Bruno Haible  <bruno@clisp.org>
49333
49334         * lib/sockets.h: Add a comment.
49335
49336 2008-11-11  Karl Berry  <karl@gnu.org>
49337
49338         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
49339
49340 2008-11-11  Eric Blake  <ebb9@byu.net>
49341
49342         fdl.texi: avoid git symlinks
49343         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
49344
49345 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
49346
49347         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
49348
49349 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
49350
49351         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
49352         (gl_WARN_ADD): Substitute $2 if literal.
49353
49354 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
49355
49356         * m4/warning.m4: Remove.
49357
49358 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
49359
49360         * m4/warnings.m4: Almost complete rewrite. :-)
49361
49362 2008-11-10  Simon Josefsson  <simon@josefsson.org>
49363
49364         * modules/warnings: New module.
49365         * m4/warnings.m4: New file.
49366         * MODULES.html.sh: Mention warnings module.
49367         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
49368         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49369
49370 2008-11-10  Eric Blake  <ebb9@byu.net>
49371
49372         fdl.texi: make a symlink to the latest version
49373         * doc/standards.texi: Revert today's earlier change.
49374         * doc/fdl-1.2.texi: Rename from old fdl.texi...
49375         * doc/fdl.texi: ...and replace this with a symlink to the newer
49376         fdl-1.3.texi.
49377
49378 2008-11-10  Bruno Haible  <bruno@clisp.org>
49379
49380         * tests/test-select-fd.c (main): Accept the result file name as fourth
49381         argument.
49382         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
49383         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
49384
49385 2008-11-10  Bruno Haible  <bruno@clisp.org>
49386
49387         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
49388         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
49389         as autoconf-substituted macros.
49390         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
49391         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
49392         gl_NETDB_H_DEFAULTS. Set these variables.
49393         * modules/netdb (Makefile.am): Substitute these variables.
49394
49395 2008-11-10  Eric Blake  <ebb9@byu.net>
49396
49397         standards.texi: include correct file for FDL 1.3
49398         * doc/standards.texi (GNU Free Documentation License): Change
49399         include file to pull in FDL 1.3, not 1.2.
49400
49401         fdl.texi: revert accidental change to license
49402         * doc/fdl.texi: This is FDL 1.2, not 1.3.
49403
49404 2008-11-10  Bruno Haible  <bruno@clisp.org>
49405
49406         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
49407         cross-compiling guesses also when the native compile gives no result.
49408
49409 2008-11-10  Bruno Haible  <bruno@clisp.org>
49410
49411         * lib/spawni.c (__spawni): Force variable into the stack.
49412
49413 2008-11-10  Bruno Haible  <bruno@clisp.org>
49414
49415         Add support for Haiku.
49416         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
49417         glibc and BeOS, but also on Haiku.
49418         * lib/fpurge.c (fpurge): Likewise.
49419         * lib/freadable.c (freadable): Likewise.
49420         * lib/freadahead.c (freadahead): Likewise.
49421         * lib/freading.c (freading): Likewise.
49422         * lib/freadptr.c (freadptr): Likewise.
49423         * lib/freadseek.c (freadptrinc): Likewise.
49424         * lib/fseeko.c (rpl_fseeko): Likewise.
49425         * lib/fseterr.c (fseterr): Likewise.
49426         * lib/fwritable.c (fwritable): Likewise.
49427         * lib/fwriting.c (fwriting): Likewise.
49428         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
49429
49430 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
49431
49432         * lib/config.charset: Treat Haiku like BeOS.
49433
49434 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
49435
49436         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
49437         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
49438
49439 2008-11-08  Bruno Haible  <bruno@clisp.org>
49440
49441         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
49442         AC_CACHE_CHECK.
49443
49444 2008-11-08  Bruno Haible  <bruno@clisp.org>
49445
49446         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
49447
49448 2008-11-08  Bruno Haible  <bruno@clisp.org>
49449
49450         * tests/test-select-fd.c: New file.
49451         * tests/test-select-in.sh: New file.
49452         * tests/test-select-out.sh: New file.
49453         * tests/test-select-stdin.c: New file.
49454         * modules/select-tests (Files): Add the new files.
49455         (Depends-on): Add gettimeofday.
49456         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
49457         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
49458         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
49459
49460 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
49461             Bruno Haible  <bruno@clisp.org>
49462
49463         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
49464
49465 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
49466
49467         * build-aux/pmccabe2html: Added support for C++ source files.
49468
49469 2008-11-05  Ben Pfaff  <blp@gnu.org>
49470
49471         Fix lib/close.c build on Windows.
49472         * modules/close (Files): Add lib/w32sock.h.
49473
49474 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
49475
49476         Accept Bison's NEWS format.
49477         * build-aux/announce-gen (print_news_deltas): Tweak
49478         $re_prefix.
49479
49480 2008-11-04  Bruno Haible  <bruno@clisp.org>
49481
49482         * modules/random_r (Maintainer): Add glibc.
49483
49484 2008-11-04  Simon Josefsson  <simon@josefsson.org>
49485
49486         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
49487         by karl@freefriends.org (Karl Berry).
49488         * doc/alloca.texi: Likewise.
49489         * doc/c-ctype.texi: Likewise.
49490         * doc/c-strcase.texi: Likewise.
49491         * doc/c-strcaseeq.texi: Likewise.
49492         * doc/c-strcasestr.texi: Likewise.
49493         * doc/c-strstr.texi: Likewise.
49494         * doc/c-strtod.texi: Likewise.
49495         * doc/c-strtold.texi: Likewise.
49496         * doc/ctime.texi: Likewise.
49497         * doc/error.texi: Likewise.
49498         * doc/fdl.texi: Likewise.
49499         * doc/gcd.texi: Likewise.
49500         * doc/getdate.texi: Likewise.
49501         * doc/gnulib-intro.texi: Likewise.
49502         * doc/gnulib-tool.texi: Likewise.
49503         * doc/gnulib.texi: Likewise.
49504         * doc/inet_ntoa.texi: Likewise.
49505         * doc/maintain.texi: Likewise.
49506         * doc/make-stds.texi: Likewise.
49507         * doc/quote.texi: Likewise.
49508         * doc/regexprops-generic.texi: Likewise.
49509         * doc/standards.texi: Likewise.
49510         * doc/verify.texi: Likewise.
49511         * doc/visibility.texi: Likewise.
49512         * doc/gnulib.texi (GNU Free Documentation License): Include
49513         fdl-1.3.texi instead of fdl.texi.
49514
49515 2008-11-04  Simon Josefsson  <simon@josefsson.org>
49516
49517         * doc/fdl-1.3.texi: New file, from
49518         <http://www.gnu.org/licenses/fdl-1.3.texi>.
49519         * modules/fdl-1.3: Add.
49520         * MODULES.html.sh: Add fdl-1.3.
49521
49522 2008-11-03  Bruno Haible  <bruno@clisp.org>
49523
49524         Make determination of absolute name of header file work with AIX xlc.
49525         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
49526         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
49527         preprocessing.
49528         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
49529         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
49530
49531 2008-11-03  Simon Josefsson  <simon@josefsson.org>
49532
49533         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
49534         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
49535         <ludo@gnu.org>.
49536
49537 2008-11-02  Bruno Haible  <bruno@clisp.org>
49538
49539         Mark 'strpbrk' obsolete.
49540         * modules/strpbrk (Status, Notice): New sections.
49541         * modules/strtok_r (Depends-on): Add strpbrk.
49542
49543 2008-11-02  Bruno Haible  <bruno@clisp.org>
49544
49545         Mark 'strdup' obsolete.
49546         * modules/strdup (Status, Notice): New sections.
49547         * modules/findprog (Depends-on): Add strdup.
49548         * modules/getaddrinfo (Depends-on): Likewise.
49549         * modules/localename (Depends-on): Likewise.
49550         * modules/relocatable-lib (Depends-on): Likewise.
49551         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
49552         * modules/relocatable-prog (Depends-on): Likewise.
49553         * modules/trim (Depends-on): Likewise.
49554         * modules/unictype/gen-ctype (Depends-on): Likewise.
49555         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
49556
49557 2008-11-02  Bruno Haible  <bruno@clisp.org>
49558
49559         Mark 'strcspn' obsolete.
49560         * modules/strcspn (Status, Notice): New sections.
49561
49562 2008-11-02  Bruno Haible  <bruno@clisp.org>
49563
49564         Mark 'rmdir' obsolete.
49565         * modules/rmdir (Status, Notice): New sections.
49566         * modules/clean-temp (Depends-on): Add rmdir.
49567         * modules/openat (Depends-on): Likewise.
49568
49569 2008-11-02  Bruno Haible  <bruno@clisp.org>
49570
49571         Mark 'raise' obsolete.
49572         * modules/raise (Status, Notice): New sections.
49573         (Include): Specify <signal.h>.
49574         * modules/stdio (Depends-on): Add raise.
49575         * modules/write (Depends-on): Likewise.
49576
49577 2008-11-02  Bruno Haible  <bruno@clisp.org>
49578
49579         Mark 'memset' obsolete.
49580         * modules/memset (Status, Notice): New sections.
49581
49582 2008-11-02  Bruno Haible  <bruno@clisp.org>
49583
49584         Mark 'memmove' obsolete.
49585         * modules/memmove (Status, Notice): New sections.
49586         * modules/argp (Depends-on): Add memmove.
49587         * modules/argz (Depends-on): Likewise.
49588         * modules/canonicalize (Depends-on): Likewise.
49589         * modules/canonicalize-lgpl (Depends-on): Likewise.
49590         * modules/fts (Depends-on): Likewise.
49591         * modules/getcwd (Depends-on): Likewise.
49592         * modules/human (Depends-on): Likewise.
49593         * modules/regex (Depends-on): Likewise.
49594         * modules/striconveh (Depends-on): Likewise.
49595         * modules/trim (Depends-on): Likewise.
49596         * modules/unistr/u8-move (Depends-on): Likewise.
49597         * modules/unistr/u16-move (Depends-on): Likewise.
49598         * modules/unistr/u32-move (Depends-on): Likewise.
49599
49600 2008-11-02  Bruno Haible  <bruno@clisp.org>
49601
49602         Mark 'memcpy' obsolete.
49603         * modules/memcpy (Status, Notice): New sections.
49604
49605 2008-11-02  Bruno Haible  <bruno@clisp.org>
49606
49607         Mark 'memcmp' obsolete.
49608         * modules/memcmp (Status, Notice): New sections.
49609         * modules/argmatch (Depends-on): Add memchr.
49610         * modules/backupfile (Depends-on): Likewise.
49611         * modules/c-strcasestr (Depends-on): Likewise.
49612         * modules/crypto/des (Depends-on): Likewise.
49613         * modules/csharpcomp (Depends-on): Likewise.
49614         * modules/fnmatch (Depends-on): Likewise.
49615         * modules/git-merge-changelog (Depends-on): Likewise.
49616         * modules/isnand (Depends-on): Likewise.
49617         * modules/isnand-nolibm (Depends-on): Likewise.
49618         * modules/isnanf (Depends-on): Likewise.
49619         * modules/isnanf-nolibm (Depends-on): Likewise.
49620         * modules/isnanl (Depends-on): Likewise.
49621         * modules/isnanl-nolibm (Depends-on): Likewise.
49622         * modules/mbchar (Depends-on): Likewise.
49623         * modules/memcoll (Depends-on): Likewise.
49624         * modules/quotearg (Depends-on): Likewise.
49625         * modules/regex (Depends-on): Likewise.
49626         * modules/relocatable-prog (Depends-on): Likewise.
49627         * modules/same (Depends-on): Likewise.
49628         * modules/signbit (Depends-on): Likewise.
49629         * modules/strcasestr-simple (Depends-on): Likewise.
49630         * modules/unictype/gen-ctype (Depends-on): Likewise.
49631         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
49632         * modules/uniname/uniname (Depends-on): Likewise.
49633         * modules/unistr/u8-cmp (Depends-on): Likewise.
49634
49635 2008-11-02  Bruno Haible  <bruno@clisp.org>
49636
49637         Mark 'memchr' obsolete.
49638         * modules/memchr (Status, Notice): New sections.
49639         * modules/argp (Depends-on): Add memchr.
49640         * modules/base64 (Depends-on): Likewise.
49641         * modules/c-strcasestr (Depends-on): Likewise.
49642         * modules/chdir-long (Depends-on): Likewise.
49643         * modules/fnmatch (Depends-on): Likewise.
49644         * modules/getsubopt (Depends-on): Likewise.
49645         * modules/git-merge-changelog (Depends-on): Likewise.
49646         * modules/glob (Depends-on): Likewise.
49647         * modules/strcasestr-simple (Depends-on): Likewise.
49648         * modules/strnlen (Depends-on): Likewise.
49649
49650 2008-11-02  Bruno Haible  <bruno@clisp.org>
49651
49652         Mark 'atexit' obsolete.
49653         * modules/atexit (Status, Notice): New sections.
49654         * modules/chdir-long (Depends-on): Add atexit.
49655         * modules/wait-process (Depends-on): Likewise.
49656
49657 2008-11-02  Bruno Haible  <bruno@clisp.org>
49658
49659         * gnulib-tool: New option --with-obsolete.
49660         (func_usage): Document it.
49661         (func_modules_transitive_closure): Drop obsolete dependencies if
49662         incobsolete is not true.
49663         (func_import): Read and save the incobsolete variable to the cache.
49664
49665 2008-11-02  Bruno Haible  <bruno@clisp.org>
49666
49667         * modules/TEMPLATE-EXTENDED: New field 'Status'.
49668         * gnulib-tool: New option --extract-status.
49669         (func_usage): Document it.
49670         (sed_extract_prog): Recognize it.
49671         (func_get_status): New function.
49672
49673 2008-10-30  Simon Josefsson  <simon@josefsson.org>
49674
49675         * modules/sockets (License): Change from LGPL to LGPLv2+.
49676
49677 2008-10-28  Simon Josefsson  <simon@josefsson.org>
49678
49679         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
49680
49681 2008-10-28  Simon Josefsson  <simon@josefsson.org>
49682
49683         * MODULES.html.sh (Support for systems lacking POSIX:2001):
49684         Mention times and sys_times.
49685         * modules/sys_times, modules/sys_times-tests: New modules.
49686         * modules/times, modules/times-tests: Likewise
49687         * m4/sys_times_h.m4: New file.
49688         * lib/sys_times.in.h: Likewise
49689         * lib/times.c: Likewise.
49690         * tests/test-sys_times.c: Likewise.
49691         * tests/test-times.c: Likewise.
49692         * doc/posix-headers/sys_times.texi: Update.
49693         * doc/posix-functions/times.texi: Update.
49694
49695 2008-10-28  Jim Meyering  <meyering@redhat.com>
49696
49697         * modules/tempname (Depends-on): Add lstat.
49698
49699         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
49700
49701 2008-10-28  Simon Josefsson  <simon@josefsson.org>
49702
49703         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
49704         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
49705         using idiom used elsewhere in gnulib.
49706
49707 2008-10-27  Jim Meyering  <meyering@redhat.com>
49708
49709         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
49710
49711 2008-10-27  Simon Josefsson  <simon@josefsson.org>
49712
49713         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
49714         TESTS_ENVIRONMENT, for shell scripts that needs to call built
49715         programs.
49716         * tests/test-argp-2.sh: Use $EXEEXT when needed.
49717
49718 2008-10-27  Simon Josefsson  <simon@josefsson.org>
49719
49720         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
49721
49722 2008-10-27  Bruno Haible  <bruno@clisp.org>
49723
49724         * tests/test-lstat.c: Include <stdio.h>.
49725
49726 2008-10-27  Simon Josefsson  <simon@josefsson.org>
49727
49728         * modules/lstat-tests: New module.
49729         * tests/test-lstat.c: New file.
49730
49731 2008-10-26  Jim Meyering  <meyering@redhat.com>
49732
49733         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
49734
49735 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49736             Bruno Haible  <bruno@clisp.org>
49737
49738         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
49739         * modules/configmake (Include): Add a note that the include must come
49740         after all system headers.
49741         * lib/javaversion.c: Include configmake.h after all other includes.
49742
49743 2008-10-26  Bruno Haible  <bruno@clisp.org>
49744
49745         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
49746         HAVE_STRUCT_RANDOM_DATA to 1.
49747         (gl_STDLIB_H): Simplify.
49748
49749 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49750
49751         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
49752         substitute HAVE_STRUCT_RANDOM_DATA.
49753         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
49754         random_data.
49755         * modules/stdlib (Makefile.am): Substitute
49756         HAVE_STRUCT_RANDOM_DATA.
49757
49758 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49759
49760         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
49761         * doc/gnulib-intro.texi (Copyright): Likewise.
49762
49763 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49764
49765         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
49766         findings.
49767
49768 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
49769             Bruno Haible  <bruno@clisp.org>
49770
49771         * lib/unistd.in.h: Include <winsock2.h>.
49772         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
49773         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
49774         Provide dummy declarations.
49775         (gethostname): Override.
49776         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
49777         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
49778         gl_PREREQ_SYS_H_WINSOCK2.
49779         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
49780         * doc/posix-functions/gethostname.texi: More details.
49781
49782 2008-10-25  Bruno Haible  <bruno@clisp.org>
49783
49784         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
49785         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
49786         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
49787
49788         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
49789         here ...
49790         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
49791         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
49792         gl_UNISTD_H_DEFAULTS.
49793
49794 2008-10-25  Eric Blake  <ebb9@byu.net>
49795
49796         signbit: avoid spurious compiler failure
49797         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
49798         declarations inside function.
49799
49800 2008-10-24  Simon Josefsson  <simon@josefsson.org>
49801             Bruno Haible  <bruno@clisp.org>
49802
49803         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
49804         * modules/random_r (Depends-on): Add stdint.
49805
49806 2008-10-24  Bruno Haible  <bruno@clisp.org>
49807
49808         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
49809         Eggert.
49810         * modules/strerror (License): Likewise.
49811
49812 2008-10-24  Jim Meyering  <meyering@redhat.com>
49813
49814         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
49815         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
49816
49817 2008-10-24  Eric Blake  <ebb9@byu.net>
49818
49819         getgroups: fix compilation when getgroups is available
49820         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
49821         but with <config.h> override of getgroups disabled.
49822
49823 2008-10-24  Simon Josefsson  <simon@josefsson.org>
49824
49825         * doc/gnulib.texi (Header files): Add note about C++ problems.
49826         Explained by Bruno Haible <bruno@clisp.org>.
49827
49828 2008-10-23  Bruno Haible  <bruno@clisp.org>
49829
49830         Define a dummy SA_NODEFER macro on Interix.
49831         * lib/signal.in.h (SA_NODEFER): Define fallback.
49832         Reported by Aleksey Cheusov <cheusov@tut.by> via
49833         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
49834
49835 2008-10-23  Bruno Haible  <bruno@clisp.org>
49836
49837         * modules/freadahead (License): Change to LGPLv2+.
49838         Suggested by Simon Josefsson.
49839
49840 2008-10-23  Jim Meyering  <meyering@redhat.com>
49841
49842         random_r: new module
49843         * modules/random_r: New file.
49844         * m4/random_r.m4: New file.
49845         * lib/random_r.c: New file, from glibc.
49846         * modules/random_r-tests: New file.
49847         * tests/test-random_r.c: New file.
49848         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
49849          Declare.
49850         (RAND_MAX): Define.
49851         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
49852         * modules/stdlib: Substitute them, too.
49853         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
49854         * doc/glibc-functions/initstate_r.texi: Mention the new module.
49855         * doc/glibc-functions/random_r.texi: Likewise.
49856         * doc/glibc-functions/setstate_r.texi: Likewise.
49857         * doc/glibc-functions/srandom_r.texi: Likewise.
49858         * config/srclist.txt: Mention it.
49859
49860 2008-10-23  David Lutterkort  <lutter@redhat.com>
49861
49862         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
49863         link requirement
49864
49865 2008-10-23  Jim Meyering  <meyering@redhat.com>
49866
49867         selinux-h: mark parameters of stub functions as intentionally unused
49868         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
49869         * lib/se-context.in.h: Likewise.
49870
49871 2008-10-22  Simon Josefsson  <simon@josefsson.org>
49872
49873         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
49874
49875 2008-10-22  Simon Josefsson  <simon@josefsson.org>
49876
49877         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
49878
49879 2008-10-22  Eric Blake  <ebb9@byu.net>
49880
49881         glthread/thread: avoid compiler warning
49882         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
49883         Add unreachable abort to silence compiler.
49884
49885 2008-10-22  Eric Blake  <ebb9@byu.net>
49886
49887         netdb: also supply struct addrinfo for cygwin 1.5.x
49888         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
49889         older cygwin.
49890         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
49891         cygwin.
49892         * doc/posix-headers/netdb.texi (netdb.h): Document this.
49893
49894 2008-10-22  Bruno Haible  <bruno@clisp.org>
49895
49896         * users.txt: Update entry about pspp.
49897
49898 2008-10-21  Bruno Haible  <bruno@clisp.org>
49899
49900         Simplification.
49901         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
49902         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
49903
49904         Simplification.
49905         * lib/ioctl.c (ioctl): Don't undefine.
49906         * lib/socket.c (socket): Don't undefine.
49907
49908         Remove unused module indicator macros.
49909         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
49910         GNULIB_$1 as a C macro.
49911
49912         * doc/posix-functions/close.texi: Undo last change.
49913         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
49914         Windows platforms.
49915
49916 2008-10-21  Bruno Haible  <bruno@clisp.org>
49917
49918         Add gethostname() declaration to <unistd.h>.
49919         * lib/unistd.in.h (gethostname): New declaration.
49920         * lib/gethostname.c: Include <unistd.h>.
49921         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
49922         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
49923         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
49924         and HAVE_GETHOSTNAME.
49925         * modules/gethostname (Depends-on): Add unistd.
49926         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49927         (Include): Specify <unistd.h>.
49928         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
49929         HAVE_GETHOSTNAME.
49930         * tests/test-gethostname.c: Include <unistd.h> first.
49931
49932 2008-10-21  Bruno Haible  <bruno@clisp.org>
49933
49934         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
49935         * modules/select-tests (Depends-on): Likewise.
49936         Reported by Simon Josefsson.
49937
49938 2008-10-21  Simon Josefsson  <simon@josefsson.org>
49939
49940         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
49941         * lib/accept.c: New file, based on winsock.c.
49942         * lib/bind.c: New file, based on winsock.c.
49943         * lib/connect.c: New file, based on winsock.c.
49944         * lib/getpeername.c: New file, based on winsock.c.
49945         * lib/getsockname.c: New file, based on winsock.c.
49946         * lib/getsockopt.c: New file, based on winsock.c.
49947         * lib/ioctl.c: New file, based on winsock.c.
49948         * lib/listen.c: New file, based on winsock.c.
49949         * lib/recv.c: New file, based on winsock.c.
49950         * lib/recvfrom.c: New file, based on winsock.c.
49951         * lib/send.c: New file, based on winsock.c.
49952         * lib/sendto.c: New file, based on winsock.c.
49953         * lib/setsockopt.c: New file, based on winsock.c.
49954         * lib/shutdown.c: New file, based on winsock.c.
49955         * lib/socket.c: New file, based on winsock.c.
49956         * lib/w32sock.h: New file, based on winsock.c.
49957         * lib/winsock.c: Remove file.
49958         * modules/accept: Likewise.
49959         * modules/bind: Likewise.
49960         * modules/connect: Likewise.
49961         * modules/getpeername: Likewise.
49962         * modules/getsockname: Likewise.
49963         * modules/getsockopt: Likewise.
49964         * modules/ioctl: Likewise.
49965         * modules/listen: Likewise.
49966         * modules/recv: Likewise.
49967         * modules/recvfrom: Likewise.
49968         * modules/send: Likewise.
49969         * modules/sendto: Likewise.
49970         * modules/setsockopt: Likewise.
49971         * modules/shutdown: Likewise.
49972         * modules/socket: Use socket.c instead of winsock.c.
49973         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
49974         * doc/posix-functions/accept.texi: Doc fix.
49975         * doc/posix-functions/bind.texi: Doc fix.
49976         * doc/posix-functions/close.texi: Doc fix.
49977         * doc/posix-functions/connect.texi: Doc fix.
49978         * doc/posix-functions/getpeername.texi: Doc fix.
49979         * doc/posix-functions/getsockname.texi: Doc fix.
49980         * doc/posix-functions/getsockopt.texi: Doc fix.
49981         * doc/posix-functions/ioctl.texi: Doc fix.
49982         * doc/posix-functions/listen.texi: Doc fix.
49983         * doc/posix-functions/recv.texi: Doc fix.
49984         * doc/posix-functions/recvfrom.texi: Doc fix.
49985         * doc/posix-functions/send.texi: Doc fix.
49986         * doc/posix-functions/sendto.texi: Doc fix.
49987         * doc/posix-functions/setsockopt.texi: Doc fix.
49988         * doc/posix-functions/shutdown.texi: Doc fix.
49989         * doc/posix-functions/socket.texi: Doc fix.
49990
49991 2008-10-20  Bruno Haible  <bruno@clisp.org>
49992
49993         Take into account the role of SIGABRT_COMPAT on Windows 2008.
49994         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
49995         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
49996         as an alias for SIGABRT.
49997         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
49998         (sigaction): Map it to SIGABRT.
49999         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
50000
50001 2008-10-20  Bruno Haible  <bruno@clisp.org>
50002
50003         * lib/fts.c: Don't include lstat.h.
50004         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
50005
50006         Move the lstat() declaration to <sys/stat.h>.
50007         * lib/lstat.h: Remove file.
50008         * lib/sys_stat.in.h: Add special invocation convention.
50009         (lstat): New declaration.
50010         * lib/lstat.c (orig_lstat): New function.
50011         (rpl_lstat): Use orig_lstat instead of lstat.
50012         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
50013         AC_C_INLINE. Set REPLACE_LSTAT.
50014         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
50015         and REPLACE_LSTAT.
50016         * modules/lstat (Files): Remove lib/lstat.h.
50017         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
50018         (Include): Specify <sys/stat.h> instead of lstat.h.
50019         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
50020         REPLACE_LSTAT.
50021         * NEWS: Mention the change.
50022
50023 2008-10-20  Bruno Haible  <bruno@clisp.org>
50024
50025         * modules/posix_spawn-tests: New file.
50026         * tests/test-posix_spawn3.c: New file.
50027
50028 2008-10-20  Bruno Haible  <bruno@clisp.org>
50029
50030         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
50031         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
50032         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
50033         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
50034         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
50035
50036 2008-10-20  Bruno Haible  <bruno@clisp.org>
50037
50038         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
50039         of posix_spawn on AIX 5.3.
50040
50041 2008-10-20  Bruno Haible  <bruno@clisp.org>
50042
50043         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
50044
50045 2008-10-20  Bruno Haible  <bruno@clisp.org>
50046
50047         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
50048         of AC_LANG_PROGRAM.
50049
50050 2008-10-20  Simon Josefsson  <simon@josefsson.org>
50051
50052         * lib/netdb.in.h: Don't define GNU specific constants until they
50053         are supported or needed.  Reported by Bruno Haible
50054         <bruno@clisp.org>.
50055
50056 2008-10-20  Simon Josefsson  <simon@josefsson.org>
50057
50058         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
50059
50060 2008-10-20  Simon Josefsson  <simon@josefsson.org>
50061
50062         * lib/getaddrinfo.h: Remove file.
50063         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
50064         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
50065         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
50066         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
50067         * modules/netdb: Substitute GNULIB_GETADDRINFO.
50068         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
50069         * tests/test-getaddrinfo.c: Likewise.
50070         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
50071         * NEWS: Mention change.
50072
50073 2008-10-19  Bruno Haible  <bruno@clisp.org>
50074
50075         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
50076
50077 2008-10-19  Bruno Haible  <bruno@clisp.org>
50078
50079         * lib/wait-process.c: Include simply <sys/wait.h>.
50080         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
50081         WIFSTOPPED): Remove fallback definitions.
50082         * modules/wait-process (Depends-on): Add sys_wait.
50083
50084         New module 'sys_wait'.
50085         * modules/sys_wait: New file.
50086         * lib/sys_wait.in.h: New file, partially copied from
50087         lib/wait-process.c.
50088         * m4/sys_wait_h.m4: New file.
50089         * doc/posix-headers/sys_wait.texi: Mention the new module.
50090
50091 2008-10-19  Bruno Haible  <bruno@clisp.org>
50092
50093         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
50094
50095 2008-10-19  Bruno Haible  <bruno@clisp.org>
50096
50097         Assume that waitpid() fills an 'int' status, not a 'union wait'.
50098         * lib/wait-process.c (WAIT_T): Remove type.
50099         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
50100         (wait_subprocess): Update.
50101
50102 2008-10-19  Bruno Haible  <bruno@clisp.org>
50103
50104         New module 'atoll'.
50105         * modules/atoll: New file.
50106         * lib/stdlib.in.h (atoll): New declaration.
50107         * lib/atoll.c: New file, from glibc with modifications.
50108         * m4/atoll.m4: New file.
50109         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
50110         HAVE_ATOLL.
50111         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
50112         * doc/posix-functions/atoll.texi: Mention the new module.
50113
50114 2008-10-19  Bruno Haible  <bruno@clisp.org>
50115
50116         Add strtoull() declaration to <stdlib.h>.
50117         * lib/stdlib.in.h (strtoull): New declaration.
50118         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
50119         Set HAVE_STRTOULL.
50120         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
50121         HAVE_STRTOULL.
50122         * modules/strtoull (Depends-on): Add stdlib.
50123         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50124         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
50125         HAVE_STRTOULL.
50126
50127 2008-10-19  Bruno Haible  <bruno@clisp.org>
50128
50129         Add strtoll() declaration to <stdlib.h>.
50130         * lib/stdlib.in.h (strtoll): New declaration.
50131         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
50132         Set HAVE_STRTOLL.
50133         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
50134         HAVE_STRTOLL.
50135         * modules/strtoll (Depends-on): Add stdlib.
50136         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50137         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
50138
50139 2008-10-19  Bruno Haible  <bruno@clisp.org>
50140
50141         * modules/bcopy (Depends-on): Add strings.
50142         (Include): Specify <strings.h>.
50143
50144 2008-10-19  Bruno Haible  <bruno@clisp.org>
50145
50146         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
50147
50148 2008-10-19  Bruno Haible  <bruno@clisp.org>
50149
50150         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
50151         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
50152         mingw.
50153
50154 2008-10-19  Bruno Haible  <bruno@clisp.org>
50155
50156         * lib/atanl.c: Don't include isnanl.h.
50157         * lib/cosl.c: Likewise.
50158         * lib/ldexpl.c: Likewise.
50159         * lib/logl.c: Likewise.
50160         * lib/sinl.c: Likewise.
50161         * lib/sqrtl.c: Likewise.
50162         * lib/tanl.c: Likewise.
50163
50164         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
50165         * lib/isnanf.h: Remove file.
50166         * lib/isnand.h: Remove file.
50167         * lib/isnanl.h: Remove file.
50168         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
50169         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
50170         macros.
50171         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
50172         HAVE_ISNANF, don't define it as a C macro.
50173         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
50174         HAVE_ISNAND, don't define it as a C macro.
50175         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
50176         HAVE_ISNANL, don't define it as a C macro.
50177         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
50178         HAVE_ISNAN[FDL].
50179         * modules/isnanf (Files): Remove lib/isnanf.h.
50180         (Depends-on): Add math.
50181         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
50182         (Include): Specify <math.h> instead of isnanf.h.
50183         * modules/isnand (Files): Remove lib/isnand.h.
50184         (Depends-on): Add math.
50185         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
50186         (Include): Specify <math.h> instead of isnand.h.
50187         * modules/isnanl (Files): Remove lib/isnanl.h.
50188         (Depends-on): Add math.
50189         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
50190         (Include): Specify <math.h> instead of isnanl.h.
50191         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
50192         HAVE_ISNAN[FDL].
50193         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
50194         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
50195         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
50196         * NEWS: Mention the change.
50197
50198 2008-10-18  Bruno Haible  <bruno@clisp.org>
50199
50200         Add getusershell(), setusershell(), endusershell() declarations to
50201         <unistd.h>.
50202         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
50203         declarations.
50204         * lib/getusershell.c: Include unistd.h.
50205         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
50206         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
50207         HAVE_GETUSERSHELL.
50208         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
50209         and HAVE_GETUSERSHELL.
50210         * modules/getusershell (Depends-on): Add unistd, extensions.
50211         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50212         (Include): Specify <unistd.h>.
50213         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
50214         HAVE_GETUSERSHELL.
50215
50216 2008-10-18  Bruno Haible  <bruno@clisp.org>
50217
50218         Add a getloadavg() declaration to <stdlib.h>.
50219         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
50220         getloadavg declaration.
50221         (getloadavg): New declaration.
50222         * lib/getloadavg.c: Include <stdlib.h> first.
50223         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
50224         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
50225         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
50226         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
50227         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
50228         * modules/getloadavg (Depends-on): Add stdlib, extensions.
50229         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50230         (Include): Specify <stdlib.h>.
50231         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
50232         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
50233
50234 2008-10-18  Bruno Haible  <bruno@clisp.org>
50235
50236         * lib/dirchownmod.c: Don't include lchmod.h.
50237
50238         Move the lchmod() declaration to <sys/stat.h>.
50239         * lib/lchmod.h: Remove file.
50240         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
50241         (lchmod): New declaration, moved here from lib/lchown.h.
50242         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
50243         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
50244         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
50245         and HAVE_LCHMOD.
50246         * modules/lchmod (Files): Remove lib/lchmod.h.
50247         (Depends-on): Add sys_stat, extensions.
50248         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
50249         (Include): Specify <sys/stat.h> instead of lchmod.h.
50250         * modules/sys_stat (Depends-on): Add link-warning.
50251         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
50252         definition of GL_LINK_WARNING.
50253         * NEWS: Mention the change.
50254
50255 2008-10-18  Bruno Haible  <bruno@clisp.org>
50256
50257         * lib/fchdir.c: Don't include dirfd.h.
50258         * lib/fts.c: Likewise.
50259         * lib/getcwd.c: Likewise.
50260         * lib/glob.c: Likewise.
50261
50262         Move the dirfd() declaration to <dirent.h>.
50263         * lib/dirfd.h: Remove file.
50264         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
50265         (dirfd): New declaration.
50266         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
50267         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
50268         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
50269         HAVE_DECL_DIRFD.
50270         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
50271         HAVE_DECL_DIRFD.
50272         * modules/dirfd (Files): Remove lib/dirfd.h.
50273         (Depends-on): Add dirent, extensions.
50274         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
50275         (Include): Specify <dirent.h> instead of dirfd.h.
50276         * modules/dirent (Depends-on): Add link-warning.
50277         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
50278         definition of GL_LINK_WARNING.
50279         * NEWS: Mention the change.
50280
50281 2008-10-18  Bruno Haible  <bruno@clisp.org>
50282
50283         Move the euidaccess() declaration to <unistd.h>.
50284         * lib/euidaccess.h: Remove file.
50285         * lib/unistd.in.h (euidaccess): New declaration.
50286         * lib/euidaccess.c: Don't include euidaccess.h.
50287         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
50288         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
50289         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
50290         and HAVE_EUIDACCESS.
50291         * modules/euidaccess (Files): Remove lib/euidaccess.h.
50292         (Depends-on): Add unistd.
50293         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50294         (Include): Specify <unistd.h> instead of euidaccess.h.
50295         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
50296         HAVE_EUIDACCESS.
50297         * NEWS: Mention the change.
50298
50299 2008-10-18  Bruno Haible  <bruno@clisp.org>
50300
50301         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
50302
50303         Move the getdomainname() declaration to <unistd.h>.
50304         * lib/getdomainname.h: Remove file.
50305         * lib/unistd.in.h (getdomainname): New declaration.
50306         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
50307         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
50308         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
50309         HAVE_GETDOMAINNAME.
50310         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50311         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
50312         * modules/getdomainname (Files): Remove lib/getdomainname.h.
50313         (Depends-on): Add unistd, extensions.
50314         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50315         (Includes): Specify <unistd.h> instead of getdomainname.h.
50316         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
50317         HAVE_GETDOMAINNAME.
50318         * NEWS: Mention the change.
50319
50320 2008-10-18  Bruno Haible  <bruno@clisp.org>
50321
50322         * modules/dirent: New file.
50323         * m4/dirent_h.m4: New file.
50324         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
50325         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
50326         * modules/fchdir (Files): Remove lib/dirent.in.h.
50327         (Depends-on): Add dirent.
50328         (Makefile.am): Move rules to modules/dirent.
50329         * doc/posix-headers/dirent.texi: Mention the new module.
50330
50331 2008-10-18  Bruno Haible  <bruno@clisp.org>
50332
50333         Avoid -Wunused-parameter warnings in public gnulib header files.
50334         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
50335         macro.
50336         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
50337
50338 2008-10-18  Bruno Haible  <bruno@clisp.org>
50339
50340         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
50341         * doc/glibc-functions/error.texi: Mention the module 'error'.
50342         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
50343         * doc/glibc-functions/getdomainname.texi: Mention the module
50344         'getdomainname'.
50345         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
50346         * doc/glibc-functions/getpagesize.texi: Mention the module
50347         'getpagesize'.
50348         * doc/glibc-functions/getusershell.texi: Mention the module
50349         'getusershell'.
50350         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
50351         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
50352         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
50353         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
50354         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
50355         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
50356         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
50357         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
50358         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
50359         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
50360         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
50361         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
50362         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
50363         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
50364
50365 2008-10-17  Bruno Haible  <bruno@clisp.org>
50366
50367         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
50368         HP-UX and IRIX, use -0.0L.
50369         * tests/test-ceill.c (minus_zero): Likewise.
50370         * tests/test-floorl.c (minus_zero): Likewise.
50371         * tests/test-frexpl.c (minus_zero): Likewise.
50372         * tests/test-isnan.c (minus_zerol): Likewise.
50373         * tests/test-isnanl.h (minus_zero): Likewise.
50374         * tests/test-ldexpl.c (minus_zero): Likewise.
50375         * tests/test-roundl.c (minus_zero): Likewise.
50376         * tests/test-signbit.c (minus_zerol): Likewise.
50377         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
50378         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
50379         * tests/test-truncl.c (minus_zero): Likewise.
50380         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
50381         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
50382         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
50383         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
50384
50385 2008-10-17  Bruno Haible  <bruno@clisp.org>
50386
50387         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
50388         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
50389         that it gets activated only for gcc >= 3.0.
50390         * lib/dirent.in.h: Likewise.
50391         * lib/errno.in.h: Likewise.
50392         * lib/fcntl.in.h: Likewise.
50393         * lib/float.in.h: Likewise.
50394         * lib/iconv.in.h: Likewise.
50395         * lib/inttypes.in.h: Likewise.
50396         * lib/locale.in.h: Likewise.
50397         * lib/math.in.h: Likewise.
50398         * lib/netdb.in.h: Likewise.
50399         * lib/netinet_in.in.h: Likewise.
50400         * lib/search.in.h: Likewise.
50401         * lib/signal.in.h: Likewise.
50402         * lib/spawn.in.h: Likewise.
50403         * lib/stdarg.in.h: Likewise.
50404         * lib/stdint.in.h: Likewise.
50405         * lib/stdio.in.h: Likewise.
50406         * lib/stdlib.in.h: Likewise.
50407         * lib/string.in.h: Likewise.
50408         * lib/strings.in.h: Likewise.
50409         * lib/sys_file.in.h: Likewise.
50410         * lib/sys_ioctl.in.h: Likewise.
50411         * lib/sys_select.in.h: Likewise.
50412         * lib/sys_socket.in.h: Likewise.
50413         * lib/sys_stat.in.h: Likewise.
50414         * lib/sys_time.in.h: Likewise.
50415         * lib/sysexits.in.h: Likewise.
50416         * lib/time.in.h: Likewise.
50417         * lib/unistd.in.h: Likewise.
50418         * lib/wchar.in.h: Likewise.
50419         * lib/wctype.in.h: Likewise.
50420         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
50421
50422 2008-10-17  Jim Meyering  <meyering@redhat.com>
50423
50424         ignore-value: don't depend on inline module
50425         * modules/ignore-value (Depends-on): Remove 'inline'.
50426         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
50427         Suggestion from Bruno Haible.
50428
50429 2008-10-17  Bruno Haible  <bruno@clisp.org>
50430
50431         New implementation of condition variables for Win32.
50432         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
50433         (gl_linked_waitqueue_t): New type.
50434         (gl_cond_t): Use it.
50435         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
50436         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
50437         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
50438         (glthread_cond_init_func, glthread_cond_wait_func,
50439         glthread_cond_timedwait_func, glthread_cond_signal_func,
50440         glthread_cond_broadcast_func, glthread_cond_destroy_func):
50441         Reimplemented on the basis of gl_linked_waitqueue_t.
50442         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
50443         gl_waitqueue_t.
50444         (gl_rwlock_t): Update.
50445         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
50446
50447 2008-10-17  Simon Josefsson  <simon@josefsson.org>
50448
50449         * modules/recvfrom (Depends-on): Add dependency on getpeername.
50450         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
50451
50452 2008-10-17  Jim Meyering  <meyering@redhat.com>
50453
50454         ignore-value: new module
50455         * modules/ignore-value: New file.
50456         * lib/ignore-value.h: New file.
50457         * MODULES.html.sh (Compiler warning management): New section,
50458         just for this module.  More to come.
50459
50460 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
50461
50462         open-safer.c: avoid 'signed and unsigned in conditional...' warning
50463         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
50464         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
50465
50466 2008-10-16  Jim Meyering  <meyering@redhat.com>
50467
50468         openat-die.c: avoid 'no previous prototype' warning
50469         * lib/openat-die.c: Include "openat.h".
50470         Reported by Reuben Thomas <rrt@sc3d.org>.
50471
50472 2008-10-16  Simon Josefsson  <simon@josefsson.org>
50473
50474         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
50475         * lib/netdb.in.h: Fix typo.
50476         Reported by Bruno Haible  <bruno@clisp.org>
50477
50478         * lib/netdb.in.h: Include sys/socket.h for platforms without
50479         netdb.h, to get structures like hostent on MinGW.
50480         * modules/netdb (Depends-on): Add sys_socket.
50481
50482 2008-10-15  Simon Josefsson  <simon@josefsson.org>
50483
50484         * modules/netdb, modules/netdb-tests: New file.
50485         * m4/netdb_h.m4: New file.
50486         * lib/netdb.in.h: Add, currently just an empty file pending
50487         definitions.
50488         * tests/test-netdb.c: New file.
50489         * doc/posix-headers/netdb.texi: Mention that we replace it if
50490         needed.
50491         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50492         netdb.
50493
50494 2008-10-15  Simon Josefsson  <simon@josefsson.org>
50495
50496         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
50497         with code.
50498
50499 2008-10-13  Bruno Haible  <bruno@clisp.org>
50500
50501         * lib/glthread/cond.c (glthread_cond_wait_func,
50502         glthread_cond_timedwait_func): Add a comment.
50503
50504 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
50505
50506         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
50507         * tests/test-select.c: Likewise,
50508
50509 2008-10-13  Bruno Haible  <bruno@clisp.org>
50510
50511         * lib/glthread/cond.c (glthread_cond_wait_func,
50512         glthread_cond_timedwait_func): Fix variable name.
50513         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
50514
50515 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
50516
50517         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
50518         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
50519         struct sockaddr.sa_len.
50520         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
50521
50522 2008-10-13  Simon Josefsson  <simon@josefsson.org>
50523
50524         * build-aux/pmccabe2html: Add css and css_url parameters.
50525
50526 2008-10-12  Bruno Haible  <bruno@clisp.org>
50527
50528         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
50529         calling aclx_get.
50530         Reported by Rainer Tammer <tammer@tammer.net>.
50531
50532 2008-10-12  Bruno Haible  <bruno@clisp.org>
50533
50534         Use msvcrt aware primitives for creation/termination of Win32 threads.
50535         * lib/glthread/thread.c: Include <process.h>.
50536         (glthread_create_func): Use _beginthreadex instead of CreateThread.
50537         (wrapper_func): Update signature.
50538         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
50539
50540 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
50541             Bruno Haible  <bruno@clisp.org>
50542
50543         Provide a Win32 implementation of the 'cond' module.
50544         * lib/glthread/cond.h [USE_WIN32]: New implementation.
50545         * lib/glthread/cond.c (glthread_cond_init_func,
50546         glthread_cond_wait_func, glthread_cond_timedwait_func,
50547         glthread_cond_signal_func, glthread_cond_broadcast_func,
50548         glthread_cond_destroy_func) [USE_WIN32]: New functions.
50549         * modules/cond (Dependencies): Add gettimeofday.
50550
50551 2008-10-11  Bruno Haible  <bruno@clisp.org>
50552
50553         Make sleep work on older versions of mingw.
50554         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
50555         only whether it exists.
50556         * doc/posix-functions/sleep.texi: Mention the problem with older
50557         versions of mingw.
50558
50559 2008-10-11  Bruno Haible  <bruno@clisp.org>
50560
50561         New module 'shutdown'.
50562         * modules/shutdown: New file.
50563         * lib/sys_socket.in.h (shutdown): New declaration.
50564         * lib/winsock.c (shutdown): New function.
50565         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
50566         GNULIB_SHUTDOWN.
50567         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
50568         * doc/posix-functions/shutdown.texi: Document the new module.
50569
50570 2008-10-11  Jim Meyering  <meyering@redhat.com>
50571
50572         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
50573
50574 2008-10-11  Bruno Haible  <bruno@clisp.org>
50575
50576         New module 'fclose'.
50577         * modules/fclose: New file.
50578         * lib/stdio.in.h (fclose): New declaration.
50579         * lib/fclose.c: New file.
50580         * m4/fclose.m4: New file.
50581         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
50582         REPLACE_FCLOSE.
50583         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
50584         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
50585         REPLACE_FCLOSE.
50586         * modules/close (Depends-on): fclose.
50587         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
50588
50589 2008-10-11  Bruno Haible  <bruno@clisp.org>
50590
50591         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
50592         set errno and don't call _close.
50593
50594 2008-10-10  Bruno Haible  <bruno@clisp.org>
50595
50596         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
50597         ACL, not afterwards. Fixes test failure on Cygwin.
50598
50599 2008-10-09  Ben Pfaff  <blp@gnu.org>
50600
50601         * build-aux/announce-gen: Fix gnulib version related part of usage
50602         message.  Die with a useful error message if no tarballs are
50603         found.
50604
50605 2008-10-10  Jim Meyering  <meyering@redhat.com>
50606
50607         bootstrap: use git's --depth=N option only if it's supported
50608         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
50609         recognize the --depth option.  Reported by Pádraig Brady.
50610
50611 2008-10-09  Bruno Haible  <bruno@clisp.org>
50612
50613         New module 'ioctl'.
50614         * modules/ioctl: New file.
50615         * lib/sys_socket.in.h (ioctl): Remove declaration.
50616         * lib/winsock.c: Include <sys/ioctl.h>.
50617         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
50618         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
50619         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
50620         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
50621         * doc/posix-functions/ioctl.texi: Mention the new module.
50622
50623 2008-10-09  Bruno Haible  <bruno@clisp.org>
50624
50625         New module 'sys_ioctl'.
50626         * lib/sys_ioctl.in.h: New file.
50627         * m4/sys_ioctl_h.m4: New file.
50628         * modules/sys_ioctl: New file.
50629         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
50630
50631 2008-10-09  Bruno Haible  <bruno@clisp.org>
50632
50633         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
50634         * lib/winsock.c: Include <stdarg.h>.
50635         (rpl_ioctl): Change to second argument 'int' and then varargs.
50636
50637 2008-10-09  Bruno Haible  <bruno@clisp.org>
50638
50639         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
50640         when the sys_socket module is present and the system has <winsock2.h>.
50641
50642 2008-10-09  Bruno Haible  <bruno@clisp.org>
50643
50644         * doc/posix-functions/close.texi: Mention module 'close' instead of
50645         module 'sys_socket'.
50646
50647 2008-10-09  Bruno Haible  <bruno@clisp.org>
50648
50649         * doc/glibc-headers/sys_ioctl.texi: New file.
50650         * doc/gnulib.texi: Include it.
50651
50652 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50653             Bruno Haible  <bruno@clisp.org>
50654
50655         Combine the two replacements of 'close'.
50656         * lib/sys_socket.in.h (close): Define to a reminder to include
50657         <unistd.h>.
50658         (_gl_close_fd_maybe_socket): New declaration.
50659         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
50660         * lib/winsock.c (close): Remove undefinition.
50661         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
50662         needed for the gnulib module 'close'.
50663         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
50664         define to an error symbol or to a warning, if suitable.
50665         * lib/close.c: Include <sys/socket.h>.
50666         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
50667         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
50668         UNISTD_H_HAVE_WINSOCK2_H.
50669         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
50670         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50671         UNISTD_H_HAVE_WINSOCK2_H.
50672         * modules/sys_socket (Files): Add m4/unistd_h.m4.
50673         (configure.ac): Set a module indicator.
50674         (Makefile.am): Substitute GNULIB_CLOSE.
50675         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
50676         * modules/poll-tests (Depends-on): Add close.
50677         * modules/select-tests (Depends-on): Likewise.
50678
50679 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50680             Bruno Haible  <bruno@clisp.org>
50681
50682         New module 'close'.
50683         * modules/close: New file.
50684         * lib/unistd.in.h (close): Move declaration out of the
50685         FCHDIR_REPLACEMENT scope.
50686         (_gl_unregister_fd): New declaration.
50687         * lib/close.c: New file.
50688         * lib/fchdir.c (rpl_close): Remove function.
50689         * m4/close.m4: New file.
50690         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
50691         close.
50692         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
50693         REPLACE_CLOSE.
50694         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
50695         REPLACE_CLOSE.
50696         * modules/fchdir (Depends-on): Add close.
50697
50698 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50699             Bruno Haible  <bruno@clisp.org>
50700
50701         * lib/fcntl.in.h (open): Simplify conditionals.
50702         (_gl_register_fd): New declaration.
50703         * lib/fchdir.c (rpl_open): Remove function.
50704         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
50705         also.
50706         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
50707         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
50708         open.
50709
50710 2008-10-09  Jim Meyering  <meyering@redhat.com>
50711
50712         GNUmakefile: use the more name-space-friendly "_version"
50713         * top/GNUmakefile (_dummy): Update.
50714         (_version): Rename from "version".
50715
50716 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50717             Bruno Haible  <bruno@clisp.org>
50718
50719         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
50720         rpl_close.
50721         (_gl_register_fd): New function, extracted from rpl_open.
50722         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
50723         (rpl_open, rpl_opendir): Use _gl_register_fd.
50724
50725 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50726
50727         Fix organization of 'open' replacement.
50728         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
50729         (gl_FUNC_OPEN): Use it.
50730         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
50731
50732 2008-10-08  Bruno Haible  <bruno@clisp.org>
50733
50734         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
50735
50736 2008-10-08  Simon Josefsson  <simon@josefsson.org>
50737
50738         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
50739         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
50740         listen).
50741
50742 2008-10-08  Eric Blake  <ebb9@byu.net>
50743
50744         GNUmakefile: add 'make version' target
50745         * top/GNUmakefile (_curr-ver): Split version update rules...
50746         (version): ...into a target.
50747
50748 2008-10-07  Bruno Haible  <bruno@clisp.org>
50749
50750         Use a more portable replacement expression for -0.0L.
50751         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
50752         instead of -0.0L. Fix m4 quotation.
50753
50754         * tests/test-signbit.c: Include <float.h>.
50755         (minus_zero): New variable.
50756         (test_signbitl): Use minus_zero instead of -zero.
50757         * modules/signbit-tests (Depends-on): Add float.
50758
50759         * tests/test-ceill.c: Include <float.h>.
50760         (zero): Remove variable.
50761         (minus_zero): New variable.
50762         (main): Use minus_zero instead of -zero.
50763         * modules/ceill-tests (Depends-on): Add float.
50764
50765         * tests/test-floorl.c: Include <float.h>.
50766         (zero): Remove variable.
50767         (minus_zero): New variable.
50768         (main): Use minus_zero instead of -zero.
50769         * modules/floorl-tests (Depends-on): Add float.
50770
50771         * tests/test-roundl.c: Include <float.h>.
50772         (zero): Remove variable.
50773         (minus_zero): New variable.
50774         (main): Use minus_zero instead of -zero.
50775         * modules/roundl-tests (Depends-on): Add float.
50776
50777         * tests/test-truncl.c: Include <float.h>.
50778         (zero): Remove variable.
50779         (minus_zero): New variable.
50780         (main): Use minus_zero instead of -zero.
50781         * modules/truncl-tests (Depends-on): Add float.
50782
50783         * tests/test-frexpl.c (zero): Remove variable.
50784         (minus_zero): New variable.
50785         (main): Use minus_zero instead of -zero.
50786         * modules/frexpl-tests (Depends-on): Add float.
50787
50788         * tests/test-isnan.c (zerol): Remove variable.
50789         (minus_zerol): New variable.
50790         (test_long_double): Use minus_zerol instead of -zerol.
50791         * modules/isnan-tests (Depends-on): Add float.
50792
50793         * tests/test-isnanl.h (zero): Remove variable.
50794         (minus_zero): New variable.
50795         (main): Use minus_zero instead of -zero.
50796         * modules/isnanl-nolibm-tests (Depends-on): Add float.
50797         * modules/isnanl-tests (Depends-on): Add float.
50798
50799         * tests/test-ldexpl.c (zero): Remove variable.
50800         (minus_zero): New variable.
50801         (main): Use minus_zero instead of -zero.
50802         * modules/ldexpl-tests (Depends-on): Add float.
50803
50804         * tests/test-snprintf-posix.h (zerol): Remove variable.
50805         (minus_zerol): New variable.
50806         (test_function): Use minus_zerol instead of -zerol.
50807         * modules/snprintf-posix-tests (Depends-on): Add float.
50808         * modules/vsnprintf-posix-tests (Depends-on): Add float.
50809
50810         * tests/test-sprintf-posix.h (zerol): Remove variable.
50811         (minus_zerol): New variable.
50812         (test_function): Use minus_zerol instead of -zerol.
50813         * modules/sprintf-posix-tests (Depends-on): Add float.
50814         * modules/vsprintf-posix-tests (Depends-on): Add float.
50815
50816         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
50817         (minus_zerol): New variable.
50818         (test_function): Use minus_zerol instead of -zerol.
50819         * modules/vasnprintf-posix-tests (Depends-on): Add float.
50820
50821         * tests/test-vasprintf-posix.c (zerol): Remove variable.
50822         (minus_zerol): New variable.
50823         (test_function): Use minus_zerol instead of -zerol.
50824         * modules/vasprintf-posix-tests (Depends-on): Add float.
50825
50826 2008-10-07  Simon Josefsson  <simon@josefsson.org>
50827
50828         * MODULES.html.sh (Support for building documentation): Mention
50829         pmccabe2html.  Sort entries.
50830
50831         Add pmccabe2html module, from gnupdf.
50832         * build-aux/pmccabe.css: New file.
50833         * build-aux/pmccabe2html: New file.
50834         * m4/pmccabe2html.m4: New file.
50835         * modules/pmccabe2html: New file.
50836
50837 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
50838
50839         flock: new module
50840         * MODULES.html.sh: Add to list of modules.
50841         * lib/flock.c: flock implementation for Windows and Unix systems
50842         which have fcntl.
50843         * doc/glibc-functions/flock.texi: Update documentation.
50844         * lib/sys_file.in.h: <sys/file.h> header file.
50845         * m4/flock.m4: M4 macros.
50846         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
50847         * modules/flock: flock module.
50848         * modules/flock-tests: flock tests module.
50849         * modules/sys_file: sys/file.h module.
50850         * tests/test-flock.c: test suite for flock.
50851
50852 2008-10-06  Jim Meyering  <meyering@redhat.com>
50853
50854         bootstrap: check for LT_INIT more portably still ;-)
50855         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
50856         Spotted by Bruno Haible.
50857
50858 2008-10-06  Eric Blake  <ebb9@byu.net>
50859
50860         test-signbit: avoid tripping Irix cc bug on -0.0L
50861         * tests/test-signbit.c (minus_zerol): Delete, and replace with
50862         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
50863         entire testsuite consistent and avoids an Irix 6.2 bug.
50864
50865 2008-10-05  Bruno Haible  <bruno@clisp.org>
50866             Jim Meyering  <jim@meyering.net>
50867
50868         Add an option for ignoring EPIPE during close_stdout.
50869         * lib/closeout.h: Include <stdbool.h>.
50870         (close_stdout_set_ignore_EPIPE): New declaration.
50871         * lib/closeout.c: Include <stdbool.h>.
50872         (ignore_EPIPE): New variable.
50873         (close_stdout_set_ignore_EPIPE): New function.
50874         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
50875         * lib/close-stream.c (close_stream): Mention the possible EPIPE
50876         failure.
50877         * modules/closeout (Depends-on): Add stdbool.
50878
50879 2008-10-05  Bruno Haible  <bruno@clisp.org>
50880
50881         * modules/accept: New file.
50882         * modules/bind: New file.
50883         * modules/connect: New file.
50884         * modules/getpeername: New file.
50885         * modules/getsockname: New file.
50886         * modules/getsockopt: New file.
50887         * modules/listen: New file.
50888         * modules/recv: New file.
50889         * modules/recvfrom: New file.
50890         * modules/send: New file.
50891         * modules/sendto: New file.
50892         * modules/setsockopt: New file.
50893         * modules/socket: New file.
50894         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
50895         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
50896         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
50897         the particular module is requested. Add a link warning when the
50898         particular module is not requested.
50899         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
50900         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
50901         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
50902         the particular module is requested.
50903         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
50904         gl_SYS_SOCKET_H_DEFAULTS): New macros.
50905         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
50906         * modules/sys_socket (Depends-on): Add link-warning.
50907         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
50908         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
50909         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
50910         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
50911         GL_LINK_WARNING.
50912         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
50913         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
50914         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
50915         * doc/posix-functions/getpeername.texi: Mention the new module
50916         'getpeername'.
50917         * doc/posix-functions/getsockname.texi: Mention the new module
50918         'getsockname'.
50919         * doc/posix-functions/getsockopt.texi: Mention the new module
50920         'getsockopt'.
50921         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
50922         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
50923         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
50924         * doc/posix-functions/send.texi: Mention the new module 'send'.
50925         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
50926         * doc/posix-functions/setsockopt.texi: Mention the new module
50927         'setsockopt'.
50928         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
50929         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
50930         listen, connect, accept.
50931         * modules/select-tests (Depends-on): Likewise.
50932
50933 2008-10-05  Bruno Haible  <bruno@clisp.org>
50934
50935         * lib/winsock.c (strerror): Remove unused #undef.
50936         (rpl_close): Remove unused local variable.
50937
50938         * modules/sys_socket (Depends-on); Add errno.
50939
50940 2008-10-05  Bruno Haible  <bruno@clisp.org>
50941
50942         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
50943         (select): Add a link warning when the 'select' module is not used.
50944         * modules/sys_select (Depends-on): Add link-warning.
50945         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
50946         Suggested by Paolo Bonzini.
50947
50948 2008-10-05  Jim Meyering  <meyering@redhat.com>
50949
50950         bootstrap: check for LT_INIT more portably
50951         * build-aux/bootstrap: Avoid using grep -E, since it's not
50952         portable enough.  Suggestion from Bruno Haible.
50953
50954 2008-10-05  Bruno Haible  <bruno@clisp.org>
50955
50956         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
50957         as being fixed by gnulib.
50958
50959 2008-10-05  Bruno Haible  <bruno@clisp.org>
50960
50961         * modules/select-tests: New file, mostly copied from
50962         modules/sys_select-tests.
50963         * tests/test-select.c: New file, mostly copied from
50964         tests/test-sys_select.c.
50965         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
50966         * modules/sys_select-tests (Depends-on): Remove all dependencies.
50967         (Makefile.am): Remove test_sys_select_LDADD.
50968
50969         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
50970         to an undefined symbol, for an error message.
50971         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
50972         (gl_SYS_SELECT_H_DEFAULTS): New macro.
50973         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
50974         winsock-select.c here.
50975         * modules/sys_select (Files): Remove lib/winsock-select.c.
50976         (Depends-on): Remove alloca.
50977         (Makefile.am): Substitute GNULIB_SELECT.
50978         * modules/select: New file.
50979         * doc/posix-functions/select.texi: Update.
50980
50981 2008-10-05  Bruno Haible  <bruno@clisp.org>
50982
50983         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
50984         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
50985         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
50986         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
50987         getdtablesize.
50988         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
50989         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
50990
50991 2008-10-05  Bruno Haible  <bruno@clisp.org>
50992
50993         * modules/getdtablesize-tests: New file.
50994         * tests/test-getdtablesize.c: New file.
50995
50996         New module 'getdtablesize'.
50997         * lib/unistd.in.h (getdtablesize): New declaration.
50998         * lib/getdtablesize.c: New file.
50999         * m4/getdtablesize.m4: New file.
51000         * modules/getdtablesize: New file.
51001         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51002         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
51003         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
51004         HAVE_GETDTABLESIZE.
51005         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
51006
51007 2008-10-05  Bruno Haible  <bruno@clisp.org>
51008
51009         * modules/sched (Makefile.am): Fix typo.
51010         Reported by Simon Josefsson.
51011
51012 2008-10-05  Jim Meyering  <meyering@redhat.com>
51013
51014         bootstrap: check for LT_INIT, too
51015         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
51016         are deprecated.  Suggestion from Ralf Wildenhues.
51017
51018 2008-10-05  Bruno Haible  <bruno@clisp.org>
51019
51020         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
51021         overriding them by ours.
51022         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
51023
51024 2008-10-05  Jim Meyering  <meyering@redhat.com>
51025
51026         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
51027         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
51028         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
51029
51030 2008-10-04  Bruno Haible  <bruno@clisp.org>
51031
51032         * modules/dup2 (License): Change to LGPLv2+.
51033         * modules/sleep (License): Likewise.
51034         * modules/perror (License): Likewise.
51035         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
51036         Blake.
51037         * modules/signal (License): Likewise.
51038         * modules/sigprocmask (License): Likewise.
51039         * modules/raise (License): Change to LGPLv2+, with approval by Jim
51040         Meyering.
51041
51042 2008-10-04  Bruno Haible  <bruno@clisp.org>
51043
51044         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
51045         Reported by Rainer Tammer <tammer@tammer.net>.
51046
51047 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
51048             Bruno Haible  <bruno@clisp.org>
51049
51050         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
51051         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
51052         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
51053
51054 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
51055
51056         filevercmp: new module
51057         * lib/filevercmp.h: New function filevercmp comparing version strings.
51058         * lib/filevercmp.c: Implementation of filevercmp function.
51059         * modules/filevercmp: Module metadata.
51060         * tests/test-filevercmp.c: Unit test for new module.
51061         * modules/filevercmp-tests: Unit test metadata.
51062         * MODULES.html.sh: Add filevercmp module.
51063
51064 2008-10-03  Bruno Haible  <bruno@clisp.org>
51065
51066         * lib/c-ctype.h: Add comment.
51067         Reported by Jim Meyering.
51068
51069 2008-10-02  Bruno Haible  <bruno@clisp.org>
51070
51071         * modules/posix_spawn-internal (Depends-on): Add 'open'.
51072
51073 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
51074
51075         * build-aux/bootstrap: Allow renaming bootstrap, and change the
51076         name of bootstrap.conf accordingly.
51077
51078 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
51079
51080         * build-aux/bootstrap: Install git-merge-changelog configuration
51081         items into .gitconfig if needed.
51082
51083 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
51084
51085         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
51086         git repository, and initialize/update it accordingly.
51087
51088 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
51089
51090         * modules/fsync-tests: New file.
51091         * tests/test-fsync.c: New file.
51092
51093         New module 'fsync'.
51094         * lib/fsync.c: New file.
51095         * m4/fsync.m4: New file.
51096         * modules/fsync: New file.
51097         * lib/unistd.in.h (fsync): New declaration.
51098         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
51099         GNULIB_FSYNC and HAVE_FSYNC.
51100         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
51101         * MODULES.html.sh (posix_functions): Add fsync.
51102         * doc/posix-functions/fsync.texi: Mention the new module.
51103
51104 2008-10-02  Jim Meyering  <meyering@redhat.com>
51105
51106         fts.c: sync with similar code from coreutils' remove.c
51107         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
51108         Guard also with "#if defined __linux__", since for now at least,
51109         this code is Linux-kernel-specific.
51110
51111 2008-10-02  Jim Meyering  <meyering@redhat.com>
51112
51113         fts: bug fixes
51114         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
51115         Include <sys/vfs.h>, not <sys/statfs.h>.
51116
51117         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
51118         Include <sys/vfs.h>, not <sys/statfs.h>.
51119
51120 2008-10-01  Bruno Haible  <bruno@clisp.org>
51121
51122         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
51123         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
51124         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
51125         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
51126         * doc/posix-functions/posix_spawnp.texi: Likewise.
51127         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
51128         whether posix_spawn actually works.
51129         * m4/pipe.m4 (gl_PIPE): Likewise.
51130         * modules/execute (Files): Add m4/posix_spawn.m4.
51131         * modules/pipe (Files): Add m4/posix_spawn.m4.
51132         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
51133
51134 2008-10-01  Jim Meyering  <meyering@redhat.com>
51135
51136         remove trailing spaces
51137         * NEWS: Likewise.
51138         * lib/poll.c (poll): Likewise.
51139         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
51140         * lib/winsock.c (rpl_close): Likewise.
51141         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
51142         * modules/yield: Likewise.
51143         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
51144         * tests/test-sys_select.c (connect_to_socket): Likewise.
51145
51146         fts.c: adjust a new interface to be more generally useful
51147         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
51148         (fts_build): Adjust caller.
51149
51150 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51151
51152         * modules/cond-tests: New file.
51153         * tests/test-cond.c: New file.
51154
51155 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51156             Bruno Haible  <bruno@clisp.org>
51157
51158         * modules/cond (Dependencies): Add errno, time.
51159         * lib/glthread/cond.h: Include <time.h>.
51160         (gl_cond_define, gl_cond_define_initialized): Use the same definition
51161         across platforms.
51162
51163 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51164             Bruno Haible  <bruno@clisp.org>
51165
51166         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
51167
51168 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51169             Bruno Haible  <bruno@clisp.org>
51170
51171         * modules/tls-tests (Depends-on): Add thread, yield.
51172         (configure.ac): Remove all checks.
51173         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
51174         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
51175         gl_thread_self): Remove definitions. Include glthread/thread.h and
51176         glthread/yield.h instead.
51177         (test_tls): Pass an additional NULL argument to gl_thread_join.
51178
51179 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51180             Bruno Haible  <bruno@clisp.org>
51181
51182         * modules/lock-tests (Depends-on): Add thread, yield.
51183         (configure.ac): Remove all checks.
51184         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
51185         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
51186         gl_thread_self): Remove definitions. Include glthread/thread.h and
51187         glthread/yield.h instead.
51188         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
51189         additional NULL argument to gl_thread_join.
51190
51191 2008-09-30  Bruno Haible  <bruno@clisp.org>
51192
51193         Fix the Win32 implementation of the 'thread' module.
51194         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
51195         pointer type.
51196         (gl_thread_self): Invoke gl_thread_self_func.
51197         (gl_thread_self_func): New declaration.
51198         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
51199         (do_init_self_key, init_self_key): New functions.
51200         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
51201         Remove some fields.
51202         (running_threads, running_lock): Remove variables.
51203         (get_current_thread_handle): New function.
51204         (gl_thread_self_func, wrapper_func, glthread_create_func,
51205         glthread_join_func, gl_thread_exit_func): Largely rewritten and
51206         simplified.
51207
51208 2008-09-30  Bruno Haible  <bruno@clisp.org>
51209
51210         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
51211         files.
51212
51213 2008-09-30  Jim Meyering  <meyering@redhat.com>
51214
51215         fts.m4: correct the test for statfs.f_type
51216         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
51217         when checking for statfs.f_type.
51218
51219 2008-09-15  Simon Josefsson  <simon@josefsson.org>
51220
51221         tests: avoid some compiler warnings
51222         * tests/test-memchr.c (main): Pass NULL indirectly.
51223         * tests/test-getdate.c (main): Remove unused variable 'ret'.
51224
51225 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
51226
51227         getdate.y: disallow countable dayshifts like "4 yesterday ago"
51228         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
51229         exactly specified dayshifts.
51230         (dayshift): New rule.
51231         (rel): Add dayshift.
51232         (relative_time_table) [tomorrow, yesterday, today, now]:
51233         Use tDAY_SHIFT in place of tDAY_UNIT.
51234         * tests/test-getdate.c: Add tests for now-disallowed countable
51235         dayshifts, e.g., "4 yesterday ago".
51236
51237 2008-09-29  Bruno Haible  <bruno@clisp.org>
51238
51239         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
51240         * tests/test-posix_spawn1.in.sh: Renamed from
51241         tests/test-posix_spawn.in.sh.
51242         * tests/test-posix_spawn2.c: New file.
51243         * tests/test-posix_spawn2.in.sh: New file.
51244         * modules/posix_spawnp-tests (Files): Update.
51245         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
51246
51247 2008-09-29  Bruno Haible  <bruno@clisp.org>
51248
51249         Propagate effects of putenv/setenv/unsetenv to child processes.
51250         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
51251         * lib/pipe.c (create_pipe): Likewise.
51252
51253 2008-09-29  Bruno Haible  <bruno@clisp.org>
51254
51255         Enable use of shell scripts as executables in mingw.
51256         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
51257         run the program as a shell script.
51258         * lib/pipe.c (create_pipe): Likewise.
51259         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
51260         resulting array.
51261
51262 2008-09-29  Eric Blake  <ebb9@byu.net>
51263
51264         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
51265
51266 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
51267
51268         * doc/posix-functions/accept.texi: Update mingw problems.
51269         * doc/posix-functions/bind.texi: Update mingw problems.
51270         * doc/posix-functions/close.texi: Update mingw problems.
51271         * doc/posix-functions/connect.texi: Update mingw problems.
51272         * doc/posix-functions/getpeername.texi: Update mingw problems.
51273         * doc/posix-functions/getsockname.texi: Update mingw problems.
51274         * doc/posix-functions/getsockopt.texi: Update mingw problems.
51275         * doc/posix-functions/ioctl.texi: Update mingw problems.
51276         * doc/posix-functions/listen.texi: Update mingw problems.
51277         * doc/posix-functions/recv.texi: Update mingw problems.
51278         * doc/posix-functions/recvfrom.texi: Update mingw problems.
51279         * doc/posix-functions/select.texi: Update mingw problems.
51280         * doc/posix-functions/send.texi: Update mingw problems.
51281         * doc/posix-functions/sendto.texi: Update mingw problems.
51282         * doc/posix-functions/setsockopt.texi: Update mingw problems.
51283         * doc/posix-functions/socket.texi: Update mingw problems.
51284
51285 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
51286             Bruno Haible  <bruno@clisp.org>
51287
51288         * lib/sys_select.in.h: Include sys/time.h.
51289         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
51290         * modules/sys_select: Depend on sys_time.
51291         * tests/test-sys_select.c: Test that sys/select.h defines struct
51292         timeval fully.
51293
51294 2008-09-29  Bruno Haible  <bruno@clisp.org>
51295
51296         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
51297         * lib/sys_select.in.h: Likewise.
51298
51299 2008-09-29  Bruno Haible  <bruno@clisp.org>
51300
51301         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
51302
51303 2008-09-29  Bruno Haible  <bruno@clisp.org>
51304
51305         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
51306         Set LIBSOCKET instead of augmenting LIBS.
51307         * modules/sockets (Link): New section.
51308         * modules/sockets-tests (test_sockets_LDADD): New variable.
51309         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
51310         * modules/poll-tests (test_poll_LDADD): New variable.
51311         * NEWS: Document the change.
51312
51313 2008-09-29  Bruno Haible  <bruno@clisp.org>
51314
51315         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
51316         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
51317         ARPA_INET_H directly.
51318         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
51319
51320 2008-09-28  Bruno Haible  <bruno@clisp.org>
51321
51322         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
51323         from gl_HEADER_SYS_SOCKET.
51324         (gl_HEADER_SYS_SOCKET): Invoke it.
51325         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
51326
51327 2008-09-28  Bruno Haible  <bruno@clisp.org>
51328
51329         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
51330         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
51331         Needed on OSF/1 4.0.
51332
51333 2008-09-28  Bruno Haible  <bruno@clisp.org>
51334
51335         Override open more carefully.
51336         * lib/open.c (orig_open): New function.
51337         (rpl_open): Use orig_open instead of open.
51338         * lib/fcntl.in.h: Add special invocation convention.
51339         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
51340         (gl_FUNC_OPEN): Invoke it.
51341
51342         Override freopen more carefully.
51343         * lib/freopen.c (orig_freopen): New function.
51344         (rpl_freopen): Use orig_freopen instead of freopen.
51345         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
51346         (gl_FUNC_FREOPEN): Invoke it.
51347
51348         Override fopen more carefully.
51349         * lib/fopen.c (orig_fopen): New function.
51350         (rpl_fopen): Use orig_fopen instead of fopen.
51351         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
51352         (gl_FUNC_FOPEN): Invoke it.
51353         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
51354
51355 2008-09-28  Bruno Haible  <bruno@clisp.org>
51356
51357         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
51358         SIGPIPE.
51359
51360 2008-09-28  Bruno Haible  <bruno@clisp.org>
51361
51362         * tests/test-sigaction.c (handler, main): Disable the check whether
51363         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
51364         glibc systems with LinuxThreads.
51365
51366 2008-09-28  Bruno Haible  <bruno@clisp.org>
51367
51368         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
51369
51370         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
51371         with AIX xlc.
51372         * lib/fcntl.in.h (open): Likewise.
51373         Reported by Rainer Tammer <tammer@tammer.net>.
51374
51375 2008-09-28  Bruno Haible  <bruno@clisp.org>
51376
51377         * modules/posix_spawnp-tests: New file.
51378         * tests/test-posix_spawn.c: New file.
51379         * tests/test-posix_spawn.in.sh: New file.
51380
51381         New module 'posix_spawnp'.
51382         * modules/posix_spawnp: New file.
51383         * lib/spawnp.c: New file, from GNU libc with modifications.
51384         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
51385
51386         New module 'posix_spawn'.
51387         * modules/posix_spawn: New file.
51388         * lib/spawn.c: New file, from GNU libc with modifications.
51389         * doc/posix-functions/posix_spawn.texi: Mention the new module.
51390
51391         New module 'posix_spawnattr_destroy'.
51392         * modules/posix_spawnattr_destroy: New file.
51393         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
51394         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
51395         module.
51396
51397         New module 'posix_spawnattr_setsigmask'.
51398         * modules/posix_spawnattr_setsigmask: New file.
51399         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
51400         modifications.
51401         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
51402         new module.
51403
51404         New module 'posix_spawnattr_getsigmask'.
51405         * modules/posix_spawnattr_getsigmask: New file.
51406         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
51407         modifications.
51408         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
51409         new module.
51410
51411         New module 'posix_spawnattr_setsigdefault'.
51412         * modules/posix_spawnattr_setsigdefault: New file.
51413         * lib/spawnattr_setdefault.c: New file, from GNU libc with
51414         modifications.
51415         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
51416         new module.
51417
51418         New module 'posix_spawnattr_getsigdefault'.
51419         * modules/posix_spawnattr_getsigdefault: New file.
51420         * lib/spawnattr_getdefault.c: New file, from GNU libc with
51421         modifications.
51422         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
51423         new module.
51424
51425         New module 'posix_spawnattr_setschedpolicy'.
51426         * modules/posix_spawnattr_setschedpolicy: New file.
51427         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
51428         modifications.
51429         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
51430         new module.
51431
51432         New module 'posix_spawnattr_getschedpolicy'.
51433         * modules/posix_spawnattr_getschedpolicy: New file.
51434         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
51435         modifications.
51436         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
51437         new module.
51438
51439         New module 'posix_spawnattr_setschedparam'.
51440         * modules/posix_spawnattr_setschedparam: New file.
51441         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
51442         modifications.
51443         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
51444         new module.
51445
51446         New module 'posix_spawnattr_getschedparam'.
51447         * modules/posix_spawnattr_getschedparam: New file.
51448         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
51449         modifications.
51450         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
51451         new module.
51452
51453         New module 'posix_spawnattr_setpgroup'.
51454         * modules/posix_spawnattr_setpgroup: New file.
51455         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
51456         modifications.
51457         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
51458         module.
51459
51460         New module 'posix_spawnattr_getpgroup'.
51461         * modules/posix_spawnattr_getpgroup: New file.
51462         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
51463         modifications.
51464         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
51465         module.
51466
51467         New module 'posix_spawnattr_setflags'.
51468         * modules/posix_spawnattr_setflags: New file.
51469         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
51470         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
51471         module.
51472
51473         New module 'posix_spawnattr_getflags'.
51474         * modules/posix_spawnattr_getflags: New file.
51475         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
51476         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
51477         module.
51478
51479         New module 'posix_spawnattr_init'.
51480         * modules/posix_spawnattr_init: New file.
51481         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
51482         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
51483         module.
51484
51485         New module 'posix_spawn_file_actions_destroy'.
51486         * modules/posix_spawn_file_actions_destroy: New file.
51487         * lib/spawn_faction_destroy.c: New file, from GNU libc with
51488         modifications.
51489         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
51490         the new module.
51491
51492         New module 'posix_spawn_file_actions_addopen'.
51493         * modules/posix_spawn_file_actions_addopen: New file.
51494         * lib/spawn_faction_addopen.c: New file, from GNU libc with
51495         modifications.
51496         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
51497         the new module.
51498
51499         New module 'posix_spawn_file_actions_adddup2'.
51500         * modules/posix_spawn_file_actions_adddup2: New file.
51501         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
51502         modifications.
51503         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
51504         the new module.
51505
51506         New module 'posix_spawn_file_actions_addclose'.
51507         * modules/posix_spawn_file_actions_addclose: New file.
51508         * lib/spawn_faction_addclose.c: New file, from GNU libc with
51509         modifications.
51510         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
51511         the new module.
51512
51513         New module 'posix_spawn_file_actions_init'.
51514         * modules/posix_spawn_file_actions_init: New file.
51515         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
51516         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
51517         new module.
51518
51519         New module 'posix_spawn-internal'.
51520         * modules/posix_spawn-internal: New file.
51521         * lib/spawn_int.h: New file, from GNU libc with modifications.
51522         * lib/spawni.c: New file, from GNU libc with modifications.
51523         * m4/posix_spawn.m4: New file.
51524
51525         New module 'spawn'.
51526         * modules/spawn: New file.
51527         * lib/spawn.in.h: New file, from GNU libc with modifications.
51528         * m4/spawn_h.m4: New file.
51529         * doc/posix-headers/spawn.texi: Mention the new module.
51530
51531 2008-09-28  Bruno Haible  <bruno@clisp.org>
51532
51533         * modules/sched-tests: New file.
51534         * tests/test-sched.c: New file.
51535
51536         New module 'sched'.
51537         * modules/sched: New file.
51538         * lib/sched.in.h: New file.
51539         * m4/sched_h.m4: New file.
51540         * doc/posix-headers/sched.texi: Mention the new module.
51541
51542 2008-09-27  Eric Blake  <ebb9@byu.net>
51543
51544         Fix previous patch, and tweak references to $0.
51545         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
51546         (func_version, func_gnulib_dir): Don't call this program
51547         gnulib-tool.
51548         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
51549         with using $0 in function.
51550         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
51551         (func_fatal_error): Reuse the name the user invoked us with.
51552
51553 2008-09-27  Bruno Haible  <bruno@clisp.org>
51554
51555         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
51556         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
51557         (gl_ICONV_H): Not here.
51558         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
51559         instead of assigning ICONV_H directly.
51560
51561         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
51562         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
51563         WCHAR_H directly.
51564
51565 2008-09-27  Bruno Haible  <bruno@clisp.org>
51566
51567         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
51568         * modules/arpa_inet (Depends-on): Add link-warning.
51569         (Makefile.am): Insert the definition of GL_LINK-WARNING.
51570         * modules/unistd (Makefile.am): Likewise.
51571
51572 2008-09-26  Bruno Haible  <bruno@clisp.org>
51573
51574         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
51575         variables.
51576         (func_version): Essentially copied from gnulib-tool.
51577         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
51578         func_readlink): Copied from gnulib-tool.
51579
51580 2008-09-26  Bruno Haible  <bruno@clisp.org>
51581
51582         * gnulib-tool (func_version): Change directory to $gnulib_dir before
51583         invoking git-version-gen.
51584
51585 2008-09-26  Bruno Haible  <bruno@clisp.org>
51586
51587         * posix-modules: Update to directory names changed on 2008-01-19.
51588         Remove commas in output before splitting into words. No more need to
51589         avoid 'ftruncate' since 2007-02-19.
51590
51591 2008-09-26  Bruno Haible  <bruno@clisp.org>
51592
51593         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
51594
51595 2008-09-26  Bruno Haible  <bruno@clisp.org>
51596
51597         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
51598         * modules/fwriteerror (Depends-on): Add errno.
51599
51600 2008-09-26  Bruno Haible  <bruno@clisp.org>
51601
51602         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
51603         * tests/test-vc-list-files-cvs.sh: Likewise.
51604
51605 2008-09-26  Bruno Haible  <bruno@clisp.org>
51606
51607         * doc/posix-headers/sys_resource.texi: Reorder items.
51608
51609 2008-09-26  Jim Meyering  <meyering@redhat.com>
51610
51611         fts: tweak inode comparison function
51612         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
51613         inode numbers, as documented.
51614
51615         fts: sort dirent entries on inode number before traversing
51616         This avoids a quadratic, seek-related performance penalty when
51617         operating on a directory containing many entries (measurable at 10k;
51618         3.5 hours at 2 million entries with a cold cache) on certain types
51619         of file systems, including ext3 and ext4, but not tmpfs.
51620         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
51621         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
51622         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
51623         (fs_handles_readdir_ordered_dirents_efficiently): New function.
51624         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
51625         (fts_build): Set the stat.st_ino member from D_INO.
51626         If it is likely to be useful, sort dirent entries on inode number.
51627
51628         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
51629         and the struct statfs.f_type member.
51630         * modules/fts (Depends-on): Add d-ino.
51631
51632 2008-09-26  Bruno Haible  <bruno@clisp.org>
51633
51634         * modules/sigpipe-die (Depends-on): Add sigpipe.
51635
51636         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
51637         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
51638         and GNULIB_STDIO_H_SIGPIPE are set.
51639         * lib/stdio-write.c: New file.
51640         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
51641         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
51642         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
51643         REPLACE_STDIO_WRITE_FUNCS.
51644         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
51645         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
51646         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
51647         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
51648         * modules/stdio (Files): Add lib/stdio-write.c.
51649         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
51650         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
51651         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
51652         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
51653         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
51654         REPLACE_FPRINTF_POSIX.
51655         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
51656         REPLACE_PRINTF_POSIX.
51657         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
51658         REPLACE_VFPRINTF_POSIX.
51659         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
51660         REPLACE_VPRINTF_POSIX.
51661         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
51662         SIGPIPE issue.
51663         * doc/posix-functions/fputc.texi: Likewise.
51664         * doc/posix-functions/fputs.texi: Likewise.
51665         * doc/posix-functions/fwrite.texi: Likewise.
51666         * doc/posix-functions/printf.texi: Likewise.
51667         * doc/posix-functions/putc.texi: Likewise.
51668         * doc/posix-functions/putchar.texi: Likewise.
51669         * doc/posix-functions/puts.texi: Likewise.
51670         * doc/posix-functions/vfprintf.texi: Likewise.
51671         * doc/posix-functions/vprintf.texi: Likewise.
51672
51673         * modules/safe-write (Depends-on): Add write.
51674
51675         * modules/sigpipe-tests: New file.
51676         * tests/test-sigpipe.c: New file.
51677         * tests/test-sigpipe.sh: New file.
51678
51679         * modules/write: New file.
51680         * lib/unistd.in.h: Include <sys/types.h>.
51681         (write): New declaration.
51682         * lib/write.c: New file.
51683         * m4/write.m4: New file.
51684         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51685         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
51686         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
51687         GNULIB_WRITE, REPLACE_WRITE.
51688         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
51689         and the SIGPIPE issue.
51690
51691         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
51692         (raise): New declaration.
51693         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
51694         (ext_signal): New function.
51695         (rpl_raise): New function.
51696         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
51697         GNULIB_SIGNAL_H_SIGPIPE.
51698         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
51699         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
51700
51701         * modules/sigpipe: New file.
51702         * m4/sigpipe.m4: New file.
51703
51704 2008-09-25  Derek Price  <derek@ximbiot.com>
51705             Bruno Haible  <bruno@clisp.org>
51706
51707         * gnulib-tool (func_import): Report all license incompatibilities, not
51708         just the first one.
51709
51710 2008-09-25  Bruno Haible  <bruno@clisp.org>
51711
51712         * gnulib-tool (func_import): When computing the edits, consider not
51713         only the Makefile.ams that exist but also those that will be generated.
51714
51715 2008-09-25  Simon Josefsson  <simon@josefsson.org>
51716
51717         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
51718         fixes gnulib-tool --test warning about duplicate dependency.
51719
51720 2008-09-25  Bruno Haible  <bruno@clisp.org>
51721
51722         * gnulib-tool: Don't ask the user to perform edits in the generated
51723         Makefile.ams.
51724         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
51725         apply to the Makefile.am being generated.
51726         (func_emit_tests_Makefile_am): Execute edits that apply to the
51727         Makefile.am being generated.
51728         (func_import): Setup list of Makefile.am edits before emitting the
51729         Makefile.ams, not at the end.
51730         (func_create_testdir): Update.
51731         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51732
51733 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51734
51735         * gnulib-tool (func_import): Store the --tests-base option in the
51736         comment in gnulib-cache.m4.
51737
51738 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
51739
51740         * NEWS: Document increased portability that sys_select now provides.
51741
51742         * lib/sys_select.in.h: Install select wrapper.
51743         * lib/sys_socket.in.h: Use more descriptive name when there is no
51744         select wrapper.
51745         * lib/winsock-select.c: New.
51746         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
51747         Require gl_HEADER_SYS_SOCKET.
51748         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
51749         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
51750         * tests/test-sys_select.c: Add functional tests.
51751
51752 2008-09-24  Eric Blake  <ebb9@byu.net>
51753
51754         open, fopen: close fd leak in last patch
51755         * lib/open.c (rpl_open): Close fd before returning error.
51756         * lib/fopen.c (rpl_fopen): Close fd before returning error.
51757         * doc/posix-functions/open.texi (open): Document that Irix also
51758         has the bug.
51759         * doc/posix-functions/fopen.texi (fopen): Likewise.
51760         Reported by Paolo Bonzini.
51761
51762 2008-09-24  Bruno Haible  <bruno@clisp.org>
51763
51764         Ensure that a filename ending in a slash cannot be used to access a
51765         non-directory.
51766         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
51767         to check whether it's really a directory.
51768         * lib/fopen.c: Include fcntl.h, unistd.h.
51769         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
51770         and fdopen().
51771         * modules/fopen (Depends-on): Add unistd.
51772         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
51773         * tests/test-fopen.c (main): Likewise.
51774         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
51775         * doc/posix-functions/fopen.texi: Likewise.
51776         Reported by Eric Blake.
51777
51778 2008-09-23  Eric Blake  <ebb9@byu.net>
51779
51780         c-stack: avoid compiler optimizations when provoking overflow
51781         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
51782         recursion harder to optimize, to ensure a stack overflow occurs.
51783         * tests/test-c-stack.c (recurse): Likewise.
51784         Borrowed from libsigsegv.
51785
51786         c-stack: work around Irix sigaltstack bug
51787         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
51788         whether sigaltstack uses wrong end of stack_t (copied in part from
51789         libsigsegv).
51790         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
51791         Irix bug, without requiring an over-allocation.
51792         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
51793         bug.
51794
51795         fopen: document mingw bug on directories
51796         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
51797         not allowing a stream visiting a directory, even though reading
51798         from such a stream is not portable.
51799
51800 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
51801
51802         * lib/poll.c: Rewrite.
51803         * modules/poll: Depend on alloca.
51804
51805 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
51806
51807         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
51808         instead define prototypes for a full set of wrappers.  Ensure
51809         that Cygwin does not use the compatibility code, which is only
51810         for MinGW.
51811         * lib/winsock.c: New.
51812         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
51813         * modules/sys_socket: Add lib/winsock.c.
51814
51815         * modules/poll-tests: Add errno and perror.
51816         * tests/test-poll.c: Use ioctl, not ioctlsocket.
51817
51818 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
51819
51820         * tests/test-poll.c: Downgrade minimum needed Winsock version.
51821
51822 2008-09-23  Bruno Haible  <bruno@clisp.org>
51823
51824         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
51825         * doc/glibc-functions/*: Likewise.
51826
51827 2008-09-23  Simon Josefsson  <simon@josefsson.org>
51828
51829         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
51830         success.
51831
51832 2008-09-22  Eric Blake  <ebb9@byu.net>
51833             Bruno Haible  <bruno@clisp.org>
51834
51835         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
51836         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
51837         supply %A but mishandle pseudo-NaN.
51838         Reported by Simon Josefsson.
51839
51840 2008-09-21  Bruno Haible  <bruno@clisp.org>
51841
51842         * tests/test-lock.c (main): Tweak skip message.
51843         * tests/test-tls.c (main): Likewise.
51844
51845 2008-09-21  Bruno Haible  <bruno@clisp.org>
51846
51847         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
51848         whether 'struct sigaction' has sa_sigaction here...
51849         (gl_PREREQ_SIG_HANDLER_H): ... not here.
51850         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
51851
51852 2008-09-21  Bruno Haible  <bruno@clisp.org>
51853
51854         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
51855         section.
51856         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
51857         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
51858         the new section.
51859         (Support for obsolete systems lacking POSIX:2001): New section.
51860         (String handling <string.h>): Move strdup to the new section.
51861         Suggested by Simon Josefsson and Paolo Bonzini.
51862
51863 2008-09-21  Bruno Haible  <bruno@clisp.org>
51864
51865         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
51866         exponents in %e and %g results on 'long double'. Needed for mingw's
51867         improved *printf functions.
51868         * tests/test-vasprintf-posix.c (test_function): Likewise.
51869         * tests/test-snprintf-posix.h (test_function): Likewise.
51870         * tests/test-sprintf-posix.h (test_function): Likewise.
51871         Reported by Eric Blake.
51872
51873 2008-09-21  Bruno Haible  <bruno@clisp.org>
51874
51875         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
51876         * tests/test-sprintf-posix.h (test_function): Likewise.
51877
51878 2008-09-21  Bruno Haible  <bruno@clisp.org>
51879
51880         * modules/getpass (Depends-on): Add strdup-posix.
51881
51882         New module 'strdup-posix'.
51883         * modules/strdup-posix: New file.
51884         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
51885         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
51886         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51887         REPLACE_STRDUP.
51888         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
51889         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
51890         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51891         strdup-posix.
51892
51893         * modules/strdup (Depends-on): Remove malloc-posix.
51894
51895 2008-09-20  Bruno Haible  <bruno@clisp.org>
51896
51897         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
51898         Wildenhues.
51899
51900 2008-09-20  Bruno Haible  <bruno@clisp.org>
51901
51902         Ensure that wint_t gets defined on IRIX 5.3.
51903         * lib/wchar.in.h (wint_t): Define if not defined by the system.
51904         * lib/wctype.in.h (wint_t): Likewise.
51905         (__wctype_wint_t): Remove type.
51906         (isw*): Use wint_t instead of __wctype_wint_t.
51907         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
51908         * modules/wchar (Files): Add m4/wint_t.m4.
51909         (Makefile.am): Substitute HAVE_WINT_T.
51910         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
51911         * tests/test-wctype.c: Check that wint_t is defined.
51912         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
51913         * doc/posix-headers/wctype.texi: Likewise.
51914         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51915
51916 2008-09-18  Bruno Haible  <bruno@clisp.org>
51917
51918         * gnulib-tool (func_exit): Update comment.
51919
51920 2008-09-18  Simon Josefsson  <simon@josefsson.org>
51921
51922         * modules/getaddrinfo (Depends-on): Remove strdup, this module
51923         assumes strdup exists and does not depend on strdup to return
51924         ENOMEM on out of memory conditions.
51925
51926 2008-09-18  Bruno Haible  <bruno@clisp.org>
51927
51928         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
51929         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
51930         digits for the exponent.
51931
51932 2008-09-18  Jim Meyering  <meyering@redhat.com>
51933             Bruno Haible  <bruno@clisp.org>
51934
51935         * lib/vasnprintf.c (decimal_point_char): Define also if
51936         NEED_PRINTF_INFINITE_LONG_DOUBLE.
51937
51938 2008-09-16  Bruno Haible  <bruno@clisp.org>
51939         and Eric Blake  <ebb9@byu.net>
51940
51941         vasnprintf: support Irix 5.3
51942         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
51943         that mishandle long double infinity.
51944         Reported by Tom G. Christensen.
51945
51946 2008-09-16  Bruno Haible  <bruno@clisp.org>
51947
51948         * doc/glibc-functions/scandir.texi: Mention the function is missing on
51949         Solaris 9.
51950         * doc/glibc-functions/alphasort.texi: Likewise.
51951         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
51952
51953 2008-09-16  Jim Meyering  <meyering@redhat.com>
51954
51955         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
51956         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
51957         a umask modification leak out of a subshell.  Otherwise, the
51958         opensolaris /bin/sh would be accepted and thus cause unwarranted
51959         failures in the coreutils test suite.
51960
51961 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
51962
51963         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
51964         to succeed.
51965
51966 2008-09-16  Jim Meyering  <meyering@redhat.com>
51967
51968         avoid spurious test failure when library is built without ACL support
51969         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
51970         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
51971         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
51972         * tests/test-copy-acl.sh: Likewise.
51973
51974 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51975
51976         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
51977         based on character occurrence counts.
51978
51979 2008-09-15  Eric Blake  <ebb9@byu.net>
51980
51981         tests: avoid some compiler warnings
51982         * tests/test-memchr.c (main): Pass NULL indirectly.
51983         * tests/test-closein.c (main): Avoid unused variable.
51984
51985 2008-09-15  Bruno Haible  <bruno@clisp.org>
51986
51987         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
51988         are missing on OpenBSD 4.0 individually.
51989         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51990
51991 2008-09-15  Bruno Haible  <bruno@clisp.org>
51992
51993         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
51994         * doc/posix-functions/strerror.texi: Mention also Cygwin.
51995         * doc/posix-functions/perror.texi: Likewise.
51996         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
51997         is missing.
51998         Reported by Eric Blake.
51999
52000         * lib/errno.in.h: Use replacement values >= 2000.
52001         Reported by Eric Blake.
52002
52003 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52004
52005         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
52006         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
52007         limit.
52008         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
52009         compareseq was aborted.
52010
52011 2008-09-14  Bruno Haible  <bruno@clisp.org>
52012
52013         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
52014         yvec_edit_count.
52015         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
52016         (fstrcmp_bounded): Simplify result computation accordingly.
52017
52018 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52019
52020         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
52021         (fstrcmp): Define in terms of fstrcmp_bounded.
52022         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
52023         lower_bound argument.
52024         Return quickly if the result is certainly < lower_bound.
52025         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
52026
52027 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52028
52029         * lib/diffseq.h (EARLY_ABORT): New macro.
52030         (compareseq): Change return type to bool. Return true when EARLY_ABORT
52031         evaluates to true.
52032
52033 2008-09-14  Bruno Haible  <bruno@clisp.org>
52034
52035         * modules/perror-tests: New file.
52036         * tests/test-perror.sh: New file.
52037         * tests/test-perror.c: New file.
52038
52039         New module 'perror'.
52040         * lib/stdio.in.h (perror): New declaration.
52041         * lib/perror.c: New file.
52042         * m4/perror.m4: New file.
52043         * modules/perror: New file.
52044         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
52045         * doc/posix-functions/perror.texi: Mention the perror module.
52046         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
52047         REPLACE_PERROR.
52048         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
52049         REPLACE_PERROR.
52050
52051 2008-09-14  Bruno Haible  <bruno@clisp.org>
52052
52053         * modules/stdio (Makefile.am): Reorder to match the order in
52054         lib/stdio.in.h.
52055         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
52056
52057 2008-09-13  Bruno Haible  <bruno@clisp.org>
52058
52059         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
52060
52061 2008-09-13  Bruno Haible  <bruno@clisp.org>
52062
52063         Extend strerror to cover the added errno values.
52064         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
52065         (rpl_strerror): Provide error messages for the added errno values and
52066         for the WSA* values.
52067         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
52068         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
52069         strerror.
52070         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
52071         * modules/strerror (Depends-on): Add errno.
52072         * doc/posix-functions/strerror.texi: Document the change.
52073         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
52074         and EOVERFLOW.
52075
52076 2008-09-13  Bruno Haible  <bruno@clisp.org>
52077
52078         * modules/EOVERFLOW: Remove file.
52079         * m4/eoverflow.m4: Remove file.
52080         * modules/EOVERFLOW-tests: Remove file.
52081         * tests/test-EOVERFLOW.c: Remove file.
52082         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
52083         * modules/ftell (Depends-on): Likewise.
52084         * modules/getdelim (Depends-on): Likewise.
52085         * modules/getugroups (Depends-on): Likewise.
52086         * modules/poll (Depends-on): Likewise.
52087         * modules/snprintf (Depends-on): Likewise.
52088         * modules/sprintf-posix (Depends-on): Likewise.
52089         * modules/vasnprintf (Depends-on): Likewise.
52090         * modules/vasprintf (Depends-on): Likewise.
52091         * modules/vfprintf-posix (Depends-on): Likewise.
52092         * modules/vsnprintf (Depends-on): Likewise.
52093         * modules/vsprintf-posix (Depends-on): Likewise.
52094         * modules/xvasprintf (Depends-on): Likewise.
52095         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52096         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
52097         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
52098         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
52099         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52100         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
52101         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
52102         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
52103         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52104         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
52105         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
52106         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
52107         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52108         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
52109         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
52110         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
52111         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52112         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
52113         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
52114         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
52115         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
52116         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
52117         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
52118         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
52119         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
52120         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
52121         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
52122         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
52123         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
52124         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
52125         * MODULES.html.sh: Remove EOVERFLOW.
52126         * NEWS: Mention the change.
52127
52128 2008-09-13  Bruno Haible  <bruno@clisp.org>
52129
52130         * modules/errno-tests: New file.
52131         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
52132
52133         * lib/errno.in.h: New file.
52134         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
52135         * modules/errno: New file.
52136         * doc/posix-headers/errno.texi: Update documentation.
52137         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
52138
52139 2008-09-13  Bruno Haible  <bruno@clisp.org>
52140
52141         * tests/test-poll.c: Use #if for native Windows, rather than testing
52142         __MSVCRT__.
52143
52144 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52145             Bruno Haible  <bruno@clisp.org>
52146
52147         * lib/glob.c: Don't include <pwd.h> on native Windows.
52148         (WINDOWS32): New macro.
52149         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
52150
52151 2008-09-13  Bruno Haible  <bruno@clisp.org>
52152
52153         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
52154         (ETIMEDOUT): Remove macro.
52155         (glthread_cond_timedwait_multithreaded): New declaration.
52156         (glthread_cond_timedwait): Use it.
52157         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
52158         (glthread_cond_timedwait_multithreaded): New function.
52159
52160 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
52161
52162         * modules/poll-tests: Do not check for io.h.
52163         * tests/test-poll.c: Check for __MSVCRT__ instead.
52164
52165 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
52166
52167         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
52168         * modules/poll-tests: Add inet_pton, stdbool, sockets.
52169         * tests/test-poll.c: Use them.  Use _pipe on Windows.
52170
52171 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
52172
52173         * modules/poll-tests: New.
52174         * tests/test-poll.c: New.
52175
52176 2008-09-12  Eric Blake  <ebb9@byu.net>
52177
52178         frexp: test for NetBSD failure on -0.0
52179         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
52180         not all, bugs from NetBSD 3.0 have been fixed.
52181         * doc/posix-functions/frexp.texi (frexp): Document bug.
52182         Reported by Thomas Klausner.
52183
52184         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
52185         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
52186         literal -0.0.
52187         Reported by Jonathan C. Patschke <jp@centtech.com>.
52188
52189 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52190
52191         * lib/glthread/cond.h: Use dummy implementation also if
52192         USE_WIN32_THREADS.
52193
52194 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52195
52196         * modules/fnmatch-posix (License): Change to LGPLv2+.
52197         * modules/fnmatch-gnu (License): Likewise.
52198
52199 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52200
52201         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
52202
52203 2008-09-11  Jim Meyering  <meyering@redhat.com>
52204
52205         * users.txt: Add gtk-vnc.
52206
52207 2008-09-08  Simon Josefsson  <simon@josefsson.org>
52208
52209         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
52210         rotate amounts.
52211
52212         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
52213         required for 16-bit and 8-bit rotates.
52214         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
52215         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
52216         UINT8_MAX instead of hard-coded constants.
52217         Suggested by Paul Eggert.
52218
52219 2008-09-07  Bruno Haible  <bruno@clisp.org>
52220
52221         * tests/test-striconveh.c (main): Check behaviour when converting from
52222         UTF-7.
52223
52224         Make striconveh work better with stateful encodings.
52225         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
52226         that iconv does not increment the inptr when returning -1/EINVAL.
52227
52228 2008-09-07  Bruno Haible  <bruno@clisp.org>
52229
52230         * build-aux/config.rpath: Update according to libtool-2.2.6.
52231         * build-aux/config.libpath: Likewise.
52232
52233 2008-09-06  Bruno Haible  <bruno@clisp.org>
52234
52235         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
52236         * lib/freadptr.c (freadptr): Likewise.
52237         * lib/freadseek.c (freadptrinc): Likewise.
52238         Reported by Simon Josefsson.
52239
52240 2008-09-06  Bruno Haible  <bruno@clisp.org>
52241
52242         * modules/freadptr (License): Change to LGPLv2+.
52243         * modules/freadseek (License): Likewise.
52244         Suggested by Eric Blake.
52245
52246         * modules/memchr2 (License): Change to LGPLv2+.
52247         Approved by Eric Blake.
52248
52249 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52250             Bruno Haible  <bruno@clisp.org>
52251
52252         Make gnulib-tool work with native 'sed' on AIX.
52253         * gnulib-tool (sed_noop): New variable.
52254         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
52255         func_add_or_update, func_create_testdir): Use it to initialize sed
52256         script variables.
52257         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52258
52259 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
52260             Bruno Haible  <bruno@clisp.org>
52261
52262         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
52263         also works after #include directives.
52264
52265 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
52266
52267         getdate.y: reject an out-of-range timezone value
52268         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
52269         the range [-24...+24].  When specified with only one or two digits,
52270         * tests/test-getdate.c: Tests for the fix.
52271         * doc/getdate.texi: Document this change.
52272
52273 2008-09-03  Bruno Haible  <bruno@clisp.org>
52274
52275         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
52276
52277 2008-09-02  Simon Josefsson  <simon@josefsson.org>
52278
52279         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
52280         <bruce.korb@gmail.com> with ideas from Ben Pfaff
52281         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
52282         Blake <ebb9@byu.net>.
52283
52284         * tests/test-bitrotate.c: Add more test vectors.
52285
52286 2008-09-02  Eric Blake  <ebb9@byu.net>
52287
52288         vasnprintf-posix: handle large precision via %.*d
52289         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
52290         when handling it ourselves.
52291         * tests/test-vasnprintf-posix.c (test_function): Add test.
52292         * tests/test-snprintf-posix.h (test_function): Likewise.
52293         * tests/test-sprintf-posix.h (test_function): Likewise.
52294         * tests/test-vasprintf-posix.c (test_function): Likewise.
52295         Reported by Alain Guibert.
52296
52297 2008-09-01  Eric Blake  <ebb9@byu.net>
52298
52299         c-stack: make configure-time check more robust
52300         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
52301         successful sigaction call.
52302         Reported by Tom G. Christensen.
52303
52304 2008-09-01  Bruno Haible  <bruno@clisp.org>
52305
52306         New module 'findprog-lgpl'.
52307         * modules/findprog-lgpl: New file.
52308         * lib/findprog-lgpl.c: New file.
52309         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
52310         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
52311         to decide whether to use strdup or xstrdup, concatenated_filename or
52312         xconcatenated_filename.
52313
52314 2008-09-01  Bruno Haible  <bruno@clisp.org>
52315
52316         Split module 'concat-filename' into 'concat-filename' (LGPL) and
52317         'xconcat-filename' (GPL).
52318         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
52319         (License): Change to LGPLv2+.
52320         * modules/xconcat-filename: New file.
52321         * lib/concat-filename.h (concatenated_filename): Change specification.
52322         (xconcatenated_filename): New declaration.
52323         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
52324         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
52325         memory situations.
52326         * lib/xconcat-filename.c: New file.
52327         * NEWS: Mention the change.
52328         * lib/findprog.c: Include concat-filename.h, not filename.h.
52329         (find_in_path): Use xconcatenated_filename instead of
52330         concatenated_filename.
52331         * lib/javacomp.c: Include concat-filename.h, not filename.h.
52332         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
52333         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
52334         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
52335         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
52336         instead of concatenated_filename.
52337         * lib/javaexec.c: Include concat-filename.h, not filename.h.
52338         (execute_java_class): Use xconcatenated_filename instead of
52339         concatenated_filename.
52340         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
52341         * modules/javacomp (Depends-on): Likewise.
52342         * modules/javaexec (Depends-on): Likewise.
52343
52344 2008-09-01  Bruno Haible  <bruno@clisp.org>
52345
52346         Split module 'filename' into 'filename' and 'concat-filename'.
52347         * modules/filename: Keep only lib/filename.h.
52348         (License): Change to LGPLv2+.
52349         * modules/concat-filename: New file, extracted from modules/filename.
52350         * lib/filename.h (concatenated_filename): Remove declaration.
52351         * lib/concat-filename.h: New file, extracted from lib/filename.h.
52352         * lib/concat-filename.c: Include concat-filename.h.
52353         * NEWS: Mention the change.
52354
52355 2008-09-01  Simon Josefsson  <simon@josefsson.org>
52356
52357         * lib/bitrotate.h (rotl8, rotr8): Add.
52358
52359         * modules/bitrotate (configure.ac): Need
52360         AC_REQUIRE([AC_C_INLINE]).
52361         (Description): Mention stdint.h.  Reported by Bruno Haible
52362         <bruno@clisp.org>.
52363
52364         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
52365         Paolo Bonzini <bonzini@gnu.org>.
52366
52367 2008-08-31  Bruno Haible  <bruno@clisp.org>
52368
52369         Assume Solaris specific bi-arch conventions on Solaris systems.
52370         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
52371         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
52372         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
52373         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
52374         like acl_libdirstem.
52375         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
52376         acl_libdirstem.
52377         * NEWS: Mention the change.
52378         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
52379
52380 2008-08-31  Jim Meyering  <meyering@redhat.com>
52381
52382         * lib/strftime.h: Add comments describing the two added arguments.
52383
52384         remove duplicate #include directives
52385         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
52386         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
52387
52388 2008-08-31  Bruno Haible  <bruno@clisp.org>
52389
52390         New module 'sigpipe-die'.
52391         * modules/sigpipe-die: New file.
52392         * lib/sigpipe-die.h: New file.
52393         * lib/sigpipe-die.c: New file.
52394         * MODULES.html.sh (Signal handling): Add sigpipe-die.
52395
52396 2008-08-31  Bruno Haible  <bruno@clisp.org>
52397
52398         Don't override previously installed signal handlers.
52399         * lib/fatal-signal.c (saved_sigactions): New variable.
52400         (uninstall_handlers): Reset the signal to the saved handler, not
52401         to SIG_DFL (except when ignored).
52402         (install_handlers): Save the previous handlers.
52403
52404 2008-08-30  Bruno Haible  <bruno@clisp.org>
52405
52406         * gnulib-tool (func_reset_sigpipe): New function.
52407         (func_get_automake_snippet, func_modules_transitive_closure,
52408         func_import): Invoke it before a join command that reads from stdin,
52409         to avoid "echo: write error: Broken pipe" error messages on stderr.
52410         Reported by Sam Steingold <sds@gnu.org>.
52411
52412 2008-08-30  Bruno Haible  <bruno@clisp.org>
52413
52414         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
52415         Code copied from m4/open.m4.
52416         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
52417         access and the filename ends in a slash. Code copied from lib/open.c.
52418         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
52419         * tests/test-fopen.c (main): Check against bug with trailing slash.
52420
52421 2008-08-29  Bruno Haible  <bruno@clisp.org>
52422
52423         Avoid some "gcc -pedantic" warnings.
52424         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
52425         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
52426         * lib/dirent.in.h: Likewise.
52427         * lib/fcntl.in.h: Likewise.
52428         * lib/float.in.h: Likewise.
52429         * lib/iconv.in.h: Likewise.
52430         * lib/inttypes.in.h: Likewise.
52431         * lib/locale.in.h: Likewise.
52432         * lib/math.in.h: Likewise.
52433         * lib/netinet_in.in.h: Likewise.
52434         * lib/search.in.h: Likewise.
52435         * lib/signal.in.h: Likewise.
52436         * lib/stdarg.in.h: Likewise.
52437         * lib/stdint.in.h: Likewise.
52438         * lib/stdio.in.h: Likewise.
52439         * lib/stdlib.in.h: Likewise.
52440         * lib/string.in.h: Likewise.
52441         * lib/strings.in.h: Likewise.
52442         * lib/sys_select.in.h: Likewise.
52443         * lib/sys_socket.in.h: Likewise.
52444         * lib/sys_stat.in.h: Likewise.
52445         * lib/sys_time.in.h: Likewise.
52446         * lib/sysexits.in.h: Likewise.
52447         * lib/time.in.h: Likewise.
52448         * lib/unistd.in.h: Likewise.
52449         * lib/wchar.in.h: Likewise.
52450         * lib/wctype.in.h: Likewise.
52451         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
52452         * modules/fchdir (Makefile.am): Likewise.
52453         * modules/fcntl (Makefile.am): Likewise.
52454         * modules/float (Makefile.am): Likewise.
52455         * modules/iconv_open (Makefile.am): Likewise.
52456         * modules/inttypes (Makefile.am): Likewise.
52457         * modules/locale (Makefile.am): Likewise.
52458         * modules/math (Makefile.am): Likewise.
52459         * modules/netinet_in (Makefile.am): Likewise.
52460         * modules/search (Makefile.am): Likewise.
52461         * modules/signal (Makefile.am): Likewise.
52462         * modules/stdarg (Makefile.am): Likewise.
52463         * modules/stdint (Makefile.am): Likewise.
52464         * modules/stdio (Makefile.am): Likewise.
52465         * modules/stdlib (Makefile.am): Likewise.
52466         * modules/string (Makefile.am): Likewise.
52467         * modules/strings (Makefile.am): Likewise.
52468         * modules/sys_select (Makefile.am): Likewise.
52469         * modules/sys_socket (Makefile.am): Likewise.
52470         * modules/sys_stat (Makefile.am): Likewise.
52471         * modules/sys_time (Makefile.am): Likewise.
52472         * modules/sysexits (Makefile.am): Likewise.
52473         * modules/time (Makefile.am): Likewise.
52474         * modules/unistd (Makefile.am): Likewise.
52475         * modules/wchar (Makefile.am): Likewise.
52476         * modules/wctype (Makefile.am): Likewise.
52477         Reported by Reuben Thomas <rrt@sc3d.org>.
52478
52479 2008-08-29  Bruno Haible  <bruno@clisp.org>
52480
52481         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
52482         any more.
52483
52484 2008-08-29  Simon Josefsson  <simon@josefsson.org>
52485
52486         * MODULES.html.sh (Misc): Add bitrotate.
52487
52488         * modules/bitrotate: New file.
52489
52490         * lib/bitrotate.h: New file.
52491
52492         * modules/bitrotate-tests: New file.
52493
52494         * tests/test-bitrotate.c: New file.
52495
52496         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
52497         on the bitrotate module.
52498
52499         * lib/arctwo.c: Use new bitrotate module.
52500
52501 2008-08-29  Jim Meyering  <meyering@redhat.com>
52502
52503         bootstrap: merge changes from coreutils
52504         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
52505         of copied files.  Remove a kludge, now that this is fixed.
52506         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
52507         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
52508         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
52509
52510 2008-08-29  Bruno Haible  <bruno@clisp.org>
52511
52512         * MODULES.html.sh: Remove --cvs-urls option.
52513
52514 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
52515
52516         maint.mk: adjust to file name change
52517         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
52518
52519 2008-08-28  Jim Meyering  <meyering@redhat.com>
52520
52521         * modules/getndelim2 (License): Relicense to LGPLv2+.
52522         Approved by Richard Stallman for the version of 1995, and by
52523         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
52524
52525 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
52526
52527         * lib/getdelim.c (flockfile, funlockfile): Make all of them
52528         dummy if one is not available.  Do not touch them if
52529         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
52530         (getc_maybe_unlocked): New.
52531         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
52532
52533 2008-08-26  Eric Blake  <ebb9@byu.net>
52534
52535         doc/INSTALL: resync from autoconf
52536         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
52537         (INSTALL_PRELUDE): Delete; this is done more efficiently by
52538         moving...
52539         * install.texi [!autoconf]: ...here.  Resync from autoconf.
52540         * INSTALL: Regenerate.
52541         * INSTALL.ISO: New file.
52542         * INSTALL.UTF-8: Likewise.
52543
52544 2008-08-26  Jim Meyering  <meyering@redhat.com>
52545
52546         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
52547         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
52548         these definitions conditional, so that they may be overridden, too.
52549
52550 2008-08-26  Bruno Haible  <bruno@clisp.org>
52551
52552         Generate INSTALL file variants with prettier quotes.
52553         * doc/Makefile (INSTALL_PRELUDE): New macro.
52554         (INSTALL): Use it.
52555         (INSTALL.ISO, INSTALL.UTF-8): New rules.
52556
52557 2008-08-26  Bruno Haible  <bruno@clisp.org>
52558
52559         Run makeinfo in an English locale.
52560         * doc/Makefile (MAKEINFO): New variable.
52561
52562 2008-08-26  Bruno Haible  <bruno@clisp.org>
52563
52564         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
52565         Suggested by Eric Blake.
52566
52567 2008-08-25  Bruno Haible  <bruno@clisp.org>
52568
52569         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
52570
52571 2008-08-25  Eric Blake  <ebb9@byu.net>
52572
52573         c-stack: test that stack overflow can be caught
52574         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
52575         that platform allows handling stack overflow; at least OS/2 EMX
52576         has sigaltstack, but crashes before transferring control to
52577         handler on stack overflow.
52578         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
52579         check for HAVE_STACK_OVERFLOW_HANDLING.
52580         Reported by Elbert Pol.
52581
52582 2008-08-25  Bruno Haible  <bruno@clisp.org>
52583
52584         * doc/posix-functions/strftime.texi: Fix description of strftime
52585         module.
52586
52587 2008-08-24  Bruno Haible  <bruno@clisp.org>
52588
52589         * tests/uniwidth/test-uc_width2.c: New file.
52590         * tests/uniwidth/test-uc_width2.sh: New file.
52591         * modules/uniwidth/width-tests (Files): Add the new files.
52592         (TESTS): Add uniwidth/test-uc_width2.sh.
52593         (TESTS_ENVIRONMENT): New variable.
52594         (check_PROGRAMS): Add test-uc_width2.
52595         (test_uc_width2_SOURCES): New variable.
52596
52597         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
52598         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
52599         not 0x00AB.
52600         Reported by Alexander V. Lukyanov <lav@netis.ru>.
52601
52602 2008-08-22  Eric Blake  <ebb9@byu.net>
52603
52604         test-lock, test-tls: mention why a test is skipped
52605         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
52606         skipped.
52607         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
52608
52609         count-one-bits: relax license
52610         * modules/count-one-bits (License): Relicense to LGPLv2+.
52611         Suggested by Ludovic Courtès, approved by Ben Pfaff.
52612
52613 2008-08-22  Andreas Schwab  <schwab@suse.de>
52614
52615         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
52616         Remove spurious space in assignment.
52617
52618 2008-08-21  Simon Josefsson  <simon@josefsson.org>
52619
52620         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
52621         Paul Eggert <eggert@CS.UCLA.EDU>.
52622
52623 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
52624
52625         * modules/gettext: Add m4/threadlib.m4.
52626
52627 2008-08-19  Eric Blake  <ebb9@byu.net>
52628
52629         test-c-stack: fix compilation failure on FreeBSD 5.0
52630         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
52631         headers before <sys/resource.h>.
52632         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
52633         the bug.
52634         Reported by Nelson H. F. Beebe.
52635
52636         strverscmp: migrate from "strverscmp.h" to <string.h>
52637         * modules/string (Makefile.am): Add new hooks.
52638         * modules/strverscmp (Files): Remove strverscmp.h.
52639         (Depends-on): Add string.
52640         (configure.ac): Add indicator.
52641         (Include): Mention new header.
52642         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
52643         defaults.
52644         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
52645         results.
52646         * lib/strverscmp.h: Delete.
52647         * lib/string.in.h (strverscmp): Provide declaration, when needed.
52648         * tests/test-strverscmp.c (includes): Adjust client.
52649         * lib/check-version.c (includes): Likewise.
52650         * NEWS: Document the change.
52651
52652         strverscmp: add unit test
52653         * modules/strverscmp-tests: New file.
52654         * tests/test-strverscmp.c: Likewise.
52655
52656 2008-08-19  Simon Josefsson  <simon@josefsson.org>
52657
52658         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
52659         regarding Windows crypto stuff, from Mono.
52660
52661 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
52662
52663         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
52664         if present, for intel RND.  Return error on failures.
52665
52666 2008-08-18  Ben Pfaff  <blp@gnu.org>
52667
52668         gitlog-to-changelog: give better diagnostic for failed pipe-open
52669         * build-aux/gitlog-to-changelog: Improve error message: suggest
52670         that the version of Git may be too old.
52671
52672 2008-08-18  Simon Josefsson  <simon@josefsson.org>
52673
52674         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
52675         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
52676
52677 2008-08-18  Bruno Haible  <bruno@clisp.org>
52678
52679         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
52680         pthread_in_use().
52681
52682 2008-08-18  Bruno Haible  <bruno@clisp.org>
52683
52684         * lib/glthread/threadlib.c: Include <pthread.h>.
52685
52686 2008-08-18  Bruno Haible  <bruno@clisp.org>
52687
52688         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
52689         glthread_recursive_lock_* macros.
52690         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
52691         Fix syntax error.
52692
52693 2008-08-18  Bruno Haible  <bruno@clisp.org>
52694
52695         * lib/glthread/thread.c: Avoid forcing a context switch right after
52696         thread creation.
52697
52698 2008-08-17  Bruno Haible  <bruno@clisp.org>
52699
52700         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
52701         * lib/glthread/thread.h: Provide Win32 specific implementation.
52702         * modules/thread (Files): Add lib/glthread/thread.c.
52703         (Depends-on): Add lock.
52704         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
52705
52706 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52707
52708         New module 'yield'.
52709         * modules/yield: New file.
52710         * lib/glthread/yield.h: New file.
52711         * m4/yield.m4: New file.
52712         * MODULES.html.sh (Multithreading): Add yield.
52713
52714 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52715
52716         New module 'thread'.
52717         * modules/thread: New file.
52718         * lib/glthread/thread.h: New file.
52719         * m4/thread.m4: New file.
52720         * MODULES.html.sh (Multithreading): Add thread.
52721
52722 2008-08-17  Bruno Haible  <bruno@clisp.org>
52723
52724         * lib/glthread/lock.h: Include <stdlib.h> always.
52725         * lib/glthread/tls.h: Likewise.
52726         * lib/glthread/cond.h: Likewise.
52727
52728 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52729
52730         New module 'cond'.
52731         * modules/cond: New file.
52732         * lib/glthread/cond.h: New file.
52733         * lib/glthread/cond.c: New file.
52734         * m4/cond.m4: New file.
52735         * MODULES.html.sh (Multithreading): Add cond.
52736
52737 2008-08-16  Eric Blake  <ebb9@byu.net>
52738
52739         c-stack: fix regression on Irix 5.3 from 2008-06-21
52740         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
52741         sa_sigaction...
52742         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
52743         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
52744         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
52745         * modules/signal (Makefile.am): Use the value.
52746         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
52747         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
52748         * doc/posix-headers/signal.texi (signal.h): Document this
52749         portability issue.
52750         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
52751         Reported by Tom G. Christensen.
52752
52753 2008-08-17  Bruno Haible  <bruno@clisp.org>
52754
52755         New module 'threadlib'.
52756         * modules/threadlib: New file.
52757         * lib/glthread/threadlib.c: New file, extracted from
52758         lib/glthread/lock.c.
52759         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
52760         functions.
52761         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
52762         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
52763         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
52764         macros.
52765         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
52766         (gl_DISABLE_THREADS): Remove macro.
52767         * modules/lock (Files): Remove build-aux/config.rpath.
52768         (Depends-on): Remove havelib. Add threadlib.
52769         (configure.ac-early): Remove section.
52770         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
52771         * modules/tls (Depends-on): Remove lock. Add threadlib.
52772         (Link): New section, copied from threadlib.
52773         * MODULES.html.sh (Multithreading): Add threadlib.
52774
52775 2008-08-14  Bruno Haible  <bruno@clisp.org>
52776
52777         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
52778         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
52779         glthread_rwlock_unlock, glthread_rwlock_destroy,
52780         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
52781         glthread_recursive_lock_destroy): Define as macros always.
52782         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
52783         glthread_lock_lock.
52784         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
52785         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
52786         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
52787         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
52788         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
52789         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
52790         (glthread_recursive_lock_lock_func): Renamed from
52791         glthread_recursive_lock_lock.
52792         (glthread_recursive_lock_unlock_func): Renamed from
52793         glthread_recursive_lock_unlock.
52794         (glthread_recursive_lock_destroy_func): Renamed from
52795         glthread_recursive_lock_destroy.
52796
52797 2008-08-14  Bruno Haible  <bruno@clisp.org>
52798
52799         * lib/glthread/lock.h: Renamed from lib/lock.h.
52800         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
52801         * lib/glthread/tls.h: Renamed from lib/tls.h.
52802         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
52803         * lib/fstrcmp.c: Update includes.
52804         * lib/strsignal.c: Update includes.
52805         * modules/lock (Files, Makefile.am): Update.
52806         (Include): Change to "glthread/lock.h".
52807         * modules/tls (Files, Makefile.am): Update.
52808         (Include): Change to "glthread/tls.h".
52809         * tests/test-lock.c: Update includes.
52810         * tests/test-tls.c: Update includes.
52811         * NEWS: Mention the renamed header files.
52812
52813 2008-08-11  Jim Meyering  <meyering@redhat.com>
52814
52815         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
52816
52817 2008-08-11  Eric Blake  <ebb9@byu.net>
52818
52819         test-c-stack: avoid C99-ism
52820         * tests/test-c-stack.c (main): Fix whitespace, move declaration
52821         before statement.
52822         Reported by Alain Guibert.
52823
52824 2008-08-10  Jim Meyering  <meyering@redhat.com>
52825
52826         ensure that return value of uinttostr et al are not ignored
52827         * lib/inttostr.h (__GNUC_PREREQ): Define.
52828         (__attribute_warn_unused_result__): Define.
52829         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
52830
52831 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
52832
52833         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
52834         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
52835
52836 2008-08-07  Jim Meyering  <meyering@redhat.com>
52837
52838         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
52839
52840         * modules/mkstemp (License): Relicense under LGPLv2+.
52841         * modules/tempname (License): Likewise.
52842
52843 2008-08-06  Bruno Haible  <bruno@clisp.org>
52844
52845         * lib/poll.c (poll): Further micro-optimization.
52846
52847 2008-08-06  Jim Meyering  <meyering@redhat.com>
52848
52849         inet_pton.c: use locale-independent tolower
52850         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
52851         (inet_pton6): Use c_tolower rather than tolower.
52852         * modules/inet_pton (Depends-on): Add c-ctype.
52853
52854 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
52855
52856         * lib/poll.c (poll): Avoid division when timeout is 0, cache
52857         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
52858
52859 2008-08-06  Jim Meyering  <meyering@redhat.com>
52860
52861         * modules/inet_pton (License): Relicense under LGPLv2+.
52862
52863 2008-08-03  Bruno Haible  <bruno@clisp.org>
52864
52865         Additional non-aborting API for lock and tls.
52866         * lib/lock.h: Include <errno.h>.
52867         (glthread_lock_init): New macro/function.
52868         (gl_lock_init): Define as wrapper around glthread_lock_init.
52869         (glthread_lock_lock): New macro/function.
52870         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
52871         (glthread_lock_unlock): New macro/function.
52872         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
52873         (glthread_lock_destroy): New macro/function.
52874         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
52875         (glthread_rwlock_init): New macro/function.
52876         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
52877         (glthread_rwlock_rdlock): New macro/function.
52878         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
52879         (glthread_rwlock_wrlock): New macro/function.
52880         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
52881         (glthread_rwlock_unlock): New macro/function.
52882         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
52883         (glthread_rwlock_destroy): New macro/function.
52884         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
52885         (glthread_recursive_lock_init): New macro/function.
52886         (gl_recursive_lock_init): Define as wrapper around
52887         glthread_recursive_lock_init.
52888         (glthread_recursive_lock_lock): New macro/function.
52889         (gl_recursive_lock_lock): Define as wrapper around
52890         glthread_recursive_lock_lock.
52891         (glthread_recursive_lock_unlock): New macro/function.
52892         (gl_recursive_lock_unlock): Define as wrapper around
52893         glthread_recursive_lock_unlock.
52894         (glthread_recursive_lock_destroy): New macro/function.
52895         (gl_recursive_lock_destroy): Define as wrapper around
52896         glthread_recursive_lock_destroy.
52897         (glthread_once): New macro/function.
52898         (gl_once): Define as wrapper around glthread_once.
52899         Update function declarations.
52900         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
52901         glthread_rwlock_init. Return error code.
52902         (glthread_rwlock_rdlock_multithreaded): Renamed from
52903         glthread_rwlock_rdlock. Return error code.
52904         (glthread_rwlock_wrlock_multithreaded): Renamed from
52905         glthread_rwlock_wrlock. Return error code.
52906         (glthread_rwlock_unlock_multithreaded): Renamed from
52907         glthread_rwlock_unlock. Return error code.
52908         (glthread_rwlock_destroy_multithreaded): Renamed from
52909         glthread_rwlock_destroy. Return error code.
52910         (glthread_recursive_lock_init_multithreaded): Renamed from
52911         glthread_recursive_lock_init. Return error code.
52912         (glthread_recursive_lock_lock_multithreaded): Renamed from
52913         glthread_recursive_lock_lock. Return error code.
52914         (glthread_recursive_lock_unlock_multithreaded): Renamed from
52915         glthread_recursive_lock_unlock. Return error code.
52916         (glthread_recursive_lock_destroy_multithreaded): Renamed from
52917         glthread_recursive_lock_destroy. Return error code.
52918         (glthread_once_call): Make static.
52919         (glthread_once_multithreaded): Renamed from glthread_once.
52920         * lib/tls.h: Include <errno.h>.
52921         (glthread_tls_key_init): New macro/function.
52922         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
52923         (glthread_tls_set): New macro/function.
52924         (gl_tls_set): Define as wrapper around glthread_tls_set.
52925         (glthread_tls_key_destroy): New macro/function.
52926         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
52927         Update function declarations.
52928         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
52929         glthread_tls_get.
52930         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52931
52932 2008-08-04  Eric Blake  <ebb9@byu.net>
52933
52934         gnumakefile: use space, not TAB, outside of targets
52935         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
52936
52937 2008-08-02  Jim Meyering  <meyering@redhat.com>
52938
52939         getdate.y: avoid locale-dependent date parsing failure
52940         In Turkish locales, getdate would fail to recognize keywords
52941         containing a lowercase "i".  The solution is not to rely on
52942         locale-sensitive case-conversion.
52943         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
52944         (lookup_word): Use c_toupper in place of toupper.
52945         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
52946         Reported by Vefa Bicakci <bicave@superonline.com> in
52947         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
52948         * modules/getdate (Depends-on): Add c-ctype.
52949
52950 2008-08-02  Bruno Haible  <bruno@clisp.org>
52951
52952         * gnulib-tool (func_import): When updating or creating a .gitignore
52953         file, prepend each added line with a slash, and ignore leading slashes
52954         from the existing lines.
52955         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
52956
52957 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52958
52959         Portability fix for GNU make 3.79.1.
52960         * top/GNUmakefile: Avoid 'else COND', which older GNU make
52961         versions do not understand.
52962
52963 2008-08-01  Bruno Haible  <bruno@clisp.org>
52964
52965         Work around bug of HP-UX 10.20 cc with -0.0 literal.
52966         * tests/test-isnanf.h (zero): New variable.
52967         (main): Avoid literal -0.0f.
52968         * tests/test-isnand.h (zero): New variable.
52969         (main): Avoid literal -0.0.
52970         * tests/test-isnanl.h (zero): New variable.
52971         (main): Avoid literal -0.0L.
52972         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
52973         (test_float, test_double, test_long_double): Avoid literals -0.0f,
52974         -0.0, -0.0L.
52975         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
52976         (test_signbitd): Avoid literal -0.0.
52977         (test_signbitl): Avoid literal -0.0L.
52978         * tests/test-ceilf1.c (zero): New variable.
52979         (main): Avoid literal -0.0f.
52980         * tests/test-ceill.c (zero): New variable.
52981         (main): Avoid literal -0.0L.
52982         * tests/test-floorf1.c (zero): New variable.
52983         (main): Avoid literal -0.0f.
52984         * tests/test-floorl.c (zero): New variable.
52985         (main): Avoid literal -0.0L.
52986         * tests/test-roundf1.c (zero): New variable.
52987         (main): Avoid literal -0.0f.
52988         * tests/test-round1.c (zero): New variable.
52989         (main): Avoid literal -0.0.
52990         * tests/test-roundl.c (zero): New variable.
52991         (main): Avoid literal -0.0L.
52992         * tests/test-truncf1.c (zero): New variable.
52993         (main): Avoid literal -0.0f.
52994         * tests/test-trunc1.c (zero): New variable.
52995         (main): Avoid literal -0.0.
52996         * tests/test-truncl.c (zero): New variable.
52997         (main): Avoid literal -0.0L.
52998         * tests/test-frexp.c (zero): New variable.
52999         (main): Avoid literal -0.0.
53000         * tests/test-frexpl.c (zero): New variable.
53001         (main): Avoid literal -0.0L.
53002         * tests/test-ldexpl.c (zero): New variable.
53003         (main): Avoid literal -0.0L.
53004         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
53005         (zerod, zerol): New variables.
53006         (test_function): Avoid literals -0.0, -0.0L.
53007         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
53008         (zerod, zerol): New variables.
53009         (test_function): Avoid literals -0.0, -0.0L.
53010         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
53011         (zerod, zerol): New variables.
53012         (test_function): Avoid literals -0.0, -0.0L.
53013         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
53014         (zerod, zerol): New variables.
53015         (test_function): Avoid literals -0.0, -0.0L.
53016         * tests/test-strtod.c (zero): New variable.
53017         (main): Avoid literal -0.0.
53018         Reported by Jonathan C. Patschke <jp@centtech.com>.
53019
53020 2008-07-31  Jim Meyering  <meyering@redhat.com>
53021
53022         sha256.h: correct definition of SHA224_DIGEST_SIZE
53023         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
53024         Reported by Paulie Pena IV <paulie4@gmail.com>.
53025         Define as 224 / 8, rather than as a literal.
53026         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
53027         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
53028         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
53029
53030 2008-07-31  Bruno Haible  <bruno@clisp.org>
53031
53032         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
53033         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
53034         Reported by Jonathan Patschke <jp@centtech.com>.
53035
53036 2008-07-31  Bruno Haible  <bruno@clisp.org>
53037
53038         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
53039         Reported by Paolo Bonzini <bonzini@gnu.org>.
53040
53041 2008-07-30  Eric Blake  <ebb9@byu.net>
53042
53043         test-strtod: allow compilation without -lm
53044         * tests/test-strtod.c (main): Avoid link dependence on fabs.
53045         Reported by Dennis Clarke <blastwave@gmail.com>.
53046
53047 2008-07-28  Jim Meyering  <meyering@redhat.com>
53048
53049         bootstrap: work also when there are no .po files in po/
53050         * build-aux/bootstrap (update_po_files): Complete the change
53051         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
53052
53053 2008-07-27  Jim Meyering  <meyering@redhat.com>
53054
53055         * users.txt: Add zile.
53056
53057 2008-07-26  Ben Pfaff  <blp@gnu.org>
53058
53059         Add missing dependencies on new m4/exponent[fdl].m4 files.
53060         * modules/isnanf-nolibm: Add m4/exponentf.m4.
53061         * modules/isnand-nolibm: Add m4/exponentd.m4.
53062         * modules/isnanl-nolibm: Add m4/exponentl.m4.
53063         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
53064         m4/isnan[fdl].m4, because the macros actually used moved.
53065         Reported by Jim Meyering.
53066
53067 2008-07-14  Ben Pfaff  <blp@gnu.org>
53068
53069         Add isinf module.
53070         * lib/isinf.c: New file.
53071         * lib/math.in.h: Define isinf macro if we have decided to replace
53072         it.
53073         * m4/isinf.m4: New file.
53074         * m4/math_h.m4: Initialize and substitute variables for isinf
53075         module.
53076         * modules/isinf: New file.
53077         * modules/isinf-tests: New file.
53078         * modules/math: Add substitutions for new module.
53079         * tests/test-isinf.c: New file.
53080         * doc/posix-functions/isinf.texi: Mention new module.
53081         * MODULES.html.sh: Mention new module.
53082
53083 2008-07-14  Ben Pfaff  <blp@gnu.org>
53084
53085         Factor out some macros for use by additional modules.
53086         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
53087         exponentf.m4.
53088         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
53089         exponentd.m4.
53090         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
53091         file exponentl.m4.
53092         * m4/exponentf.m4: New file.
53093         * m4/exponentd.m4: New file.
53094         * m4/exponentl.m4: New file.
53095         * modules/isnanf: Use new file m4/exponentf.m4.
53096         * modules/isnand: Use new file m4/exponentd.m4.
53097         * modules/isnanl: Use new file m4/exponentl.m4.
53098
53099 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
53100
53101         mktime.c: normalize tp->tm_isdst value to -1/0/1.
53102         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
53103         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
53104         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
53105
53106         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
53107         readlink on platforms without PATH_MAX.
53108
53109 2008-07-21  Eric Blake  <ebb9@byu.net>
53110
53111         Warn, not fail, on stale version.
53112         * top/GNUmakefile (_curr-ver): Tone down previous patch.
53113
53114         Don't allow installation with stale devel version number.
53115         * top/GNUmakefile (_is-install-target): New macro.
53116         (_curr-ver): Forbid installation with stale version number.
53117
53118 2008-07-20  Bruno Haible  <bruno@clisp.org>
53119
53120         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
53121         TESTS_ENVIRONMENT.
53122         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
53123
53124 2008-07-20  Bruno Haible  <bruno@clisp.org>
53125
53126         * lib/c-stack.h (c_stack_action): Add documentation.
53127         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
53128
53129 2008-07-20  Bruno Haible  <bruno@clisp.org>
53130
53131         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
53132         * modules/readlink (License): Likewise.
53133
53134 2008-07-17  Eric Blake  <ebb9@byu.net>
53135
53136         * modules/c-stack (Link): Fix typo.
53137
53138         Make c-stack use libsigsegv, when available.
53139         * modules/c-stack (Depends-on): Add libsigsegv.
53140         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
53141         needed.
53142         * lib/c-stack.c (SIGSTKSZ): Define fallback.
53143         (segv_handler, overflow_handler, c_stack_action)
53144         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
53145         implementation when libsigsegv is available, but only when using
53146         the library is necessary.
53147         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
53148         comment, explaining why XSI check fails on Linux.
53149         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
53150         * tests/test-c-stack2.sh: Tweak skip message.
53151         * NEWS: Document new link-time requirements.
53152
53153 2008-07-16  Eric Blake  <ebb9@byu.net>
53154
53155         c-stack: Expose false positives when not using libsigsegv.
53156         * modules/c-stack-tests (Files): Expand test.
53157         * tests/test-c-stack.c (main): Add means to conditionally trigger
53158         non-overflow SIGSEGV.
53159         * tests/test-c-stack2.sh: New file.
53160
53161 2008-07-14  Bruno Haible  <bruno@clisp.org>
53162
53163         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
53164         Reported by Eric Blake.
53165
53166 2008-07-14  Sam Steingold  <sds@gnu.org>
53167             Bruno Haible  <bruno@clisp.org>
53168
53169         New module libsigsegv.
53170         * modules/libsigsegv: New file.
53171         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
53172         modifications.
53173         * MODULES.html.sh (Signal handling): New section.
53174
53175 2008-07-14  Bruno Haible  <bruno@clisp.org>
53176
53177         * modules/unictype/ctype-* (Description): Add the word "function".
53178         Improves the resulting doc in MODULES.html.
53179
53180 2008-07-12  Ben Pfaff  <blp@gnu.org>
53181
53182         Add longlong module.
53183         * modules/longlong: New file.
53184
53185 2008-07-12  Bruno Haible  <bruno@clisp.org>
53186
53187         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
53188         to empty.
53189
53190 2008-07-10  Ben Pfaff  <blp@gnu.org>
53191
53192         Add isnan module.
53193         * doc/posix-functions/isnan.texi: Mention new module.
53194         * lib/math.in.h: Define isnan macro if we have decided to replace
53195         it.
53196         * m4/isnan.m4: New file.
53197         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
53198         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
53199         also.
53200         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
53201         redundancy.
53202         * m4/math_h.m4: Initialize and substitute variables for isnan
53203         module.
53204         * modules/isnan: New file.
53205         * modules/isnan-tests: New file.
53206         * modules/math: Add substitutions for new module.
53207         * tests/test-isnan.c: New file.
53208         * MODULES.html.sh: Mention new module.
53209
53210 2008-07-10  Ben Pfaff  <blp@gnu.org>
53211
53212         Add isnanf module.
53213         * lib/isnanf.m4: New file.
53214         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
53215         (gl_HAVE_ISNANF_IN_LIBM): New macro.
53216         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
53217         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
53218         * modules/isnanf: New file.
53219         * modules/isnanf-tests: New file.
53220         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
53221         files.
53222         * tests/test-isnanf-nolibm.c: factored most of its contents into
53223         new file tests/test-isnanf.h.
53224         * tests/test-isnanf.h: New file.
53225         * tests/test-isnanf.c: New file.
53226         * MODULES.html.sh: Mention new module.
53227         * doc/glibc-functions/isnanf.texi: Mention new module.
53228
53229 2008-07-10  Ben Pfaff  <blp@gnu.org>
53230
53231         Add isnand module.
53232         * lib/isnand.h: New file.
53233         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
53234         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
53235         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
53236         functionality also.
53237         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
53238         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
53239         (gl_HAVE_ISNAND_IN_LIBM): New macro.
53240         * modules/isnand: New file.
53241         * modules/isnand-tests: New file.
53242         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
53243         files.
53244         * tests/test-isnand-nolibm.c: factored most of its contents into
53245         new file tests/test-isnand.h.
53246         * tests/test-isnand.h: New file.
53247         * tests/test-isnand.c: New file.
53248         * MODULES.html.sh: Mention new module.
53249
53250 2008-07-10  Ben Pfaff  <blp@gnu.org>
53251
53252         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
53253         * lib/isnand.h: Rename lib/isnand-nolibm.h.
53254         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
53255         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
53256         * modules/isnanf-nolibm: Update references to renamed files.
53257         * modules/isnand-nolibm: Likewise.
53258         * modules/isnanf-nolibm-tests: Likewise.
53259         * modules/isnand-nolibm-tests: Likewise.
53260         * lib/frexp.c: Likewise.
53261         * lib/isfinite.c: Likewise.
53262         * lib/signbitd.c: Likewise.
53263         * lib/signbitf.c: Likewise.
53264         * lib/vasnprintf.c: Likewise.
53265         * tests/test-ceilf1.c: Likewise.
53266         * tests/test-ceilf2.c: Likewise.
53267         * tests/test-floorf1.c: Likewise.
53268         * tests/test-floorf2.c: Likewise.
53269         * tests/test-frexp.c: Likewise.
53270         * tests/test-round1.c: Likewise.
53271         * tests/test-round2.c: Likewise.
53272         * tests/test-roundf1.c: Likewise.
53273         * tests/test-strtod.c: Likewise.
53274         * tests/test-trunc1.c: Likewise.
53275         * tests/test-trunc2.c: Likewise.
53276         * tests/test-truncf1.c: Likewise.
53277         * tests/test-truncf2.c: Likewise.
53278         * NEWS: Mention the renamed header files.
53279
53280 2008-07-11  Jim Meyering  <meyering@redhat.com>
53281
53282         vc-list-files: make the last-resort awk code more portable
53283         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
53284         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
53285         does not support it.
53286
53287 2008-07-10  Eric Blake  <ebb9@byu.net>
53288
53289         Work with tar's bootstrap.
53290         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
53291         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
53292         an m4 comment.
53293
53294 2008-07-09  Jim Meyering  <meyering@redhat.com>
53295
53296         posix-shell.m4: fix typo that made this test malfunction
53297         * m4/posix-shell.m4: Remove capitalization in variable name.
53298
53299 2008-07-08  Bruno Haible  <bruno@clisp.org>
53300
53301         * m4/onceonly.m4: Update comments.
53302         Reported by Ben Pfaff <blp@cs.stanford.edu>.
53303
53304 2008-07-04  Jim Meyering  <meyering@redhat.com>
53305
53306         * users.txt: Add vc-dwim.
53307         (bison, coreutils): Use the gitweb URL.
53308
53309 2008-07-03  Jim Meyering  <meyering@redhat.com>
53310
53311         * users.txt: Add libffcall.  From Sam Steingold.
53312
53313 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
53314
53315         getdate.y: do not ignore TZ with relative day, month or year offset
53316         * lib/getdate.y (get_date): Move the tz-handling block to follow the
53317         relative-date-handling, since otherwise, the latter would clobber the
53318         sole output (an updated Start value) of the tz-handling block.
53319         * tests/test-getdate.c: Tests for the fix
53320
53321 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53322
53323         Recognize 'foo_LIBRARIES += libgnu.a'.
53324         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
53325         makefile snippet has already specified an installation location,
53326         also using '+='.
53327
53328 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
53329
53330         getdate.y: factor out common actions
53331         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
53332         Use them in place of open-coded actions.
53333
53334 2008-07-01  Simon Josefsson  <simon@josefsson.org>
53335
53336         Add self-test for getdate module.
53337         * modules/getdate-tests: New file.
53338         * tests/test-getdate.c: New file.
53339
53340 2008-06-29  Bruno Haible  <bruno@clisp.org>
53341
53342         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
53343         .gitignore.
53344         Reported by Sylvain Beucler <beuc@beuc.net>.
53345
53346 2008-06-29  Bruno Haible  <bruno@clisp.org>
53347
53348         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
53349         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
53350
53351 2008-06-29  Bruno Haible  <bruno@clisp.org>
53352
53353         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
53354         EXTRA_DIST.
53355         Reported by Sylvain Beucler <beuc@beuc.net>.
53356
53357 2008-06-26  Jim Meyering  <meyering@redhat.com>
53358
53359         make several modules depend on the "open" module
53360         This provides slightly increased consistency when opening-for-write
53361         the name of a non-directory spelled with a trailing slash.
53362         * modules/chdir-safer: Likewise.
53363         * modules/chown: Likewise.
53364         * modules/clean-temp: Likewise.
53365         * modules/copy-file: Likewise.
53366         * modules/fchdir: Likewise.
53367         * modules/fcntl-safer: Likewise.
53368         * modules/pipe: Likewise.
53369         * modules/utime: Likewise.
53370         Prompted by Eric Blake and Bruno Haible.
53371
53372 2008-06-24  Andreas Schwab  <schwab@suse.de>
53373
53374         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
53375         literals can be used as initializers for global variables.
53376
53377 2008-06-23  Eric Blake  <ebb9@byu.net>
53378
53379         Make gnulib-cache.m4 easier to diff.
53380         * gnulib-tool (func_import): Allow newlines when reading cached
53381         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
53382
53383 2008-06-23  Bruno Haible  <bruno@clisp.org>
53384
53385         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
53386         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
53387         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
53388         m4/signalblocking.m4.
53389         (gl_PREREQ_SIGACTION): Don't invoke it.
53390         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
53391         gl_PREREQ_SIG_HANDLER_H.
53392         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
53393         Don't check for sigaction here.
53394
53395 2008-06-23  Bruno Haible  <bruno@clisp.org>
53396
53397         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
53398         (install_handlers): Don't set the SA_RESETHAND flag.
53399
53400 2008-06-23  Bruno Haible  <bruno@clisp.org>
53401
53402         * m4/sigaction.m4: Comment fixes.
53403         * lib/signal.in.h: Likewise.
53404
53405 2008-06-23  Eric Blake  <ebb9@byu.net>
53406
53407         Fix typo.
53408         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
53409
53410         Avoid SA_ namespace.
53411         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
53412         Reported by Ralf Wildenhues.
53413
53414         Avoid test failure due to SA_RESTORER.
53415         * tests/test-sigaction.c (SA_MASK): New macro.
53416         (main): Avoid failing due to extension flags being set.
53417         Reported by Jim Meyering.
53418
53419         Revert use of sig-handler.h in sigprocmask.c.
53420         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
53421         it requires the existence of struct sigaction.
53422         * lib/sigprocmask.c (handler_t): Restore typedef.
53423         (rpl_signal, old_handlers): Use local type.
53424
53425 2008-06-22  Bruno Haible  <bruno@clisp.org>
53426
53427         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
53428         conditionally.
53429         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53430
53431 2008-06-22  Bruno Haible  <bruno@clisp.org>
53432
53433         * doc/posix-functions/siginterrupt.texi: Move note.
53434
53435         * lib/signal.in.h (SA_RESTART): New macro.
53436         * lib/sigaction.c: Update comment.
53437
53438         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
53439
53440         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
53441         (gl_PREREQ_SIGPROCMASK): Invoke it.
53442         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
53443
53444         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
53445
53446         * lib/sigprocmask.c: Update a comment.
53447
53448 2008-06-21  Eric Blake  <ebb9@byu.net>
53449
53450         Use sigaction module rather than signal().
53451         * modules/c-stack (Depends-on): Add sigaction.
53452         * modules/fatal-signal (Depends-on): Likewise.
53453         * modules/nanosleep (Depends-on): Likewise.
53454         * modules/sigprocmask (Files): Add sig-handler.h.
53455         * modules/sigaction (Files): Likewise.
53456         * lib/sig-handler.h (get_handler): New file, suggested by Paul
53457         Eggert.
53458         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
53459         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
53460         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
53461         (init_fatal_signals): Likewise.
53462         * lib/nanosleep.c (rpl_nanosleep): Likewise.
53463         (siginterrupt): Delete fallback.
53464         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
53465         instead.
53466         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
53467         siginterrupt.
53468
53469         New module sigaction, for mingw.
53470         * modules/sigaction: New module...
53471         * modules/sigaction-tests: ...and its test.
53472         * m4/sigaction.m4: New file.
53473         * lib/sigaction.c: Likewise.
53474         * tests/test-sigaction.c: Likewise.
53475         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
53476         * modules/signal (Makefile.am): Likewise.
53477         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
53478         needed.
53479         * doc/posix-headers/signal.texi (signal.h): Mention provided
53480         types.
53481         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
53482         that sigaction is preferable.
53483         * doc/posix-functions/sigaction.texi (sigaction): Mention new
53484         module.
53485         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53486         sigaction.
53487
53488         Improve robustness of sigprocmask by overriding signal.
53489         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
53490         is in use.
53491         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
53492         (SIGKILL, SIGSTOP): Provide fallbacks.
53493         (rpl_signal): Implement.
53494         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
53495         signal can be called inside handlers.
53496
53497         Fix nanosleep module on mingw.
53498         * modules/nanosleep (Depends-on): Add sys_select.
53499         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
53500
53501         Fix licensing of sigprocmask.
53502         * modules/raise (License): Relicense as LGPL.
53503
53504 2008-06-21  Bruno Haible  <bruno@clisp.org>
53505
53506         * lib/propername.c (proper_name_utf8): Don't use the transliterated
53507         result if it contains question marks.
53508         Reported by Michael Geng <linux@michaelgeng.de>.
53509
53510 2008-06-19  Bruno Haible  <bruno@clisp.org>
53511
53512         Fix CVS-ism.
53513         * doc/gnulib.texi: Include updated-stamp.texi.
53514         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
53515         (updated-stamp.texi): New rule.
53516         (gnulib.info): Depend on it.
53517         * doc/.gitignore: Add updated-stamp.texi.
53518         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
53519
53520 2008-06-19  Bruno Haible  <bruno@clisp.org>
53521
53522         * doc/Makefile (gnulib.info): Update and simplify dependencies.
53523         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
53524
53525 2008-06-19  Eric Blake  <ebb9@byu.net>
53526
53527         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
53528         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
53529         Reported by Stepan Kasal.
53530
53531 2008-06-18  Bruno Haible  <bruno@clisp.org>
53532
53533         * lib/fatal-signal.c (init_fatal_signals): Add comment.
53534         Reported by Eric Blake.
53535
53536 2008-06-18  Eric Blake  <ebb9@byu.net>
53537
53538         Work around cygwin 1.5.25 strsignal bug.
53539         * tests/test-strsignal.c: Allow for const char *.
53540         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
53541
53542 2008-06-18  Simon Josefsson  <simon@josefsson.org>
53543
53544         * users.txt: Update URL to article and add author/date
53545         information.
53546
53547 2008-06-17  Bruno Haible  <bruno@clisp.org>
53548
53549         New macro gl_DISABLE_THREADS.
53550         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
53551         if the user did not pass --enable-threads or --disable-threads option.
53552         (gl_DISABLE_THREADS): New macro.
53553         Reported by Eric Blake <ebb9@byu.net>.
53554
53555 2008-06-17  Bruno Haible  <bruno@clisp.org>
53556
53557         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
53558         when the macro ignores it.
53559         Based on a patch by Eric Blake <ebb9@byu.net>.
53560
53561 2008-06-17  Bruno Haible  <bruno@clisp.org>
53562
53563         * modules/tls (License): Change to LGPLv2+.
53564         Reported by Eric Blake.
53565
53566 2008-06-17  Eric Blake  <ebb9@byu.net>
53567
53568         Simplify c-stack prerequisites.
53569         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
53570         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
53571         no longer requires <ucontext.h> to exist.  Optimize setrlimit
53572         check.
53573         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
53574         <sys/resource.h>.
53575
53576         Move c-stack test into testsuite.
53577         * modules/c-stack-tests: New file.
53578         * lib/c-stack.c [DEBUG]: Move test program...
53579         * tests/test-c-stack.c: ...into this new file.  Skip rather than
53580         fail test if sigaltstack is lacking.
53581         * tests/test-c-stack.sh: New driver file.
53582
53583 2008-06-16  Eric Blake  <ebb9@byu.net>
53584
53585         Use raise module consistently.
53586         * modules/fatal-signal (Depends-on): Add raise.
53587         * modules/sigprocmask (Depends-on): Likewise.
53588         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
53589         * lib/sigprocmask.c (sigprocmask): Likewise.
53590         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
53591         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
53592
53593         Fix compliance bug in sigpending.
53594         * lib/sigprocmask.c (sigpending): Return pending array via
53595         parameter, not return value.
53596
53597 2008-06-14  Eric Blake  <ebb9@byu.net>
53598
53599         Improve obstack-printf test code.
53600         * tests/test-obstack-printf.c (test_function): Fix comment, and
53601         simplify usage of obstack_* in macros.  Add a test for coverage.
53602         Reported by Bruno Haible.
53603
53604 2008-06-14  Bruno Haible  <bruno@clisp.org>
53605
53606         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
53607         array size as a constant, not as a const variable.
53608         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
53609         AC_USE_SYSTEM_EXTENSIONS.
53610         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
53611         Test whether the obstack_printf function actually exists.
53612         * modules/obstack-printf (Depends-on): Add extensions.
53613         (Include): Remove obstack.h.
53614         * modules/obstack-printf-posix (Depends-on): Add extensions.
53615         (Include): Remove obstack.h.
53616
53617 2008-06-13  Eric Blake  <ebb9@byu.net>
53618
53619         Add obstack-printf and obstack-printf-posix modules.
53620         * modules/obstack-printf: New file.
53621         * modules/obstack-printf-posix: Likewise.
53622         * MODULES.html.sh (Misc): Mention them.
53623         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
53624         Likewise.
53625         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
53626         Likewise.
53627         * modules/stdio (Makefile.am): Accomodate new modules.
53628         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
53629         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
53630         Declare.
53631         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
53632         functions.
53633         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
53634         (gl_REPLACE_OBSTACK_PRINTF): New macros
53635         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
53636         * tests/test-obstack-printf.c: New file.
53637         * modules/obstack-printf-tests: Likewise.
53638         * modules/obstack-printf-posix-tests: Likewise.
53639
53640 2008-06-11  Bruno Haible  <bruno@clisp.org>
53641
53642         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
53643         * lib/open.c: Include errno.h.
53644         (open): Fail when attempting to write to a file that has a trailing
53645         slash.
53646         * tests/test-open.c (main): Test against trailing slash bug.
53647         * doc/posix-functions/open.texi: Mention the trailing slash bug.
53648
53649 2008-06-10  Bruno Haible  <bruno@clisp.org>
53650
53651         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
53652         for $? to work inside the trap command, with various /bin/sh-s.
53653         * tests/test-vc-list-files-cvs.sh: Likewise.
53654
53655 2008-06-10  Bruno Haible  <bruno@clisp.org>
53656
53657         * lib/acl-internal.h: Don't include gettext.h here.
53658         * lib/set-mode-acl.c: Include gettext.h here.
53659         * lib/copy-acl.c: Likewise.
53660
53661 2008-06-10  Bruno Haible  <bruno@clisp.org>
53662
53663         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
53664         * lib/wait-process.c (wait_subprocess): Likewise.
53665         * lib/execute.h (execute): Add termsigp argument.
53666         * lib/execute.c (execute): Likewise.
53667         * lib/csharpcomp.c (compile_csharp_using_pnet,
53668         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
53669         * lib/csharpexec.c (execute_csharp_using_pnet,
53670         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
53671         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
53672         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
53673         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
53674         is_jikes_present): Update.
53675         * lib/javaexec.c (execute_java_class): Update.
53676         * lib/javaversion.c (execute_and_read_line): Update.
53677         * NEWS: Document the changes.
53678         Reported by Eric Blake.
53679
53680 2008-06-10  Eric Blake  <ebb9@byu.net>
53681
53682         Add missing include.
53683         * tests/test-strstr.c (includes): Add <signal.h>.
53684         * tests/test-strcasestr.c (includes): Likewise.
53685         * tests/test-memmem.c (includes): Likewise.
53686
53687 2008-06-10  Bruno Haible  <bruno@clisp.org>
53688
53689         * lib/wait-process.c (wait_subprocess): Add an assertion.
53690
53691 2008-06-10  Bruno Haible  <bruno@clisp.org>
53692
53693         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
53694
53695 2008-06-10  Bruno Haible  <bruno@clisp.org>
53696
53697         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
53698         using alarm().
53699         * tests/test-strcasestr.c (main): Likewise.
53700         * tests/test-strstr.c (main): Likewise.
53701
53702 2008-06-09  Bruno Haible  <bruno@clisp.org>
53703
53704         Work around the Solaris 10 ACE ACLs ABI change.
53705         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
53706         declare if ACL_NO_TRIVIAL is present.
53707         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
53708         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
53709         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
53710         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
53711         define if ACL_NO_TRIVIAL is present.
53712         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
53713         and use the current ABI.
53714         (file_has_acl): Use same #if condition as elsewhere.
53715         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
53716         in use, and use the current ABI.
53717         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
53718         Reported by Jim Meyering.
53719
53720 2008-06-09  Eric Blake  <ebb9@byu.net>
53721
53722         Work around environments that (stupidly) ignore SIGALRM.
53723         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
53724         before using alarm().
53725         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53726         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
53727         Reported by Ian Beckwith <ianb@erislabs.net>.
53728
53729         Produce autobuild blurb earlier in log.
53730         * modules/autobuild (configure.ac-early): Move AB_INIT here.
53731
53732 2008-06-09  Jim Meyering  <meyering@redhat.com>
53733         and OndÅ™ej Vašík  <ovasik@redhat.com>
53734
53735         utimens.c: correct kernel bug work-around
53736         OndÅ™ej Vašík found that the invalid return value of 280 indicates
53737         failure, not success, and the kernel bug we're trying to work
53738         around affects not just the utimensat call, but also the fallback
53739         futimens call.
53740         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
53741         not success.
53742         [HAVE_FUTIMENS]: Use the same work-around, here.
53743
53744 2008-06-09  Jim Meyering  <meyering@redhat.com>
53745
53746         add more guards around definition of ACE_-related code
53747         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
53748         ALLOW and ACE_OWNER are also defined.
53749
53750 2008-06-08  Bruno Haible  <bruno@clisp.org>
53751
53752         * lib/acl-internal.h: Add me as co-author.
53753         * lib/file-has-acl.c: Likewise.
53754         * lib/set-mode-acl.c: Likewise.
53755         * lib/copy-acl.c: Likewise.
53756
53757 2008-06-08  Bruno Haible  <bruno@clisp.org>
53758
53759         Add support for AIX ACLs.
53760         * lib/acl-internal.h (acl_nontrivial): New declaration.
53761         * lib/file-has-acl.c (acl_nontrivial): New function.
53762         (file_has_acl): Add implementation using AIX 4 ACL API.
53763         * lib/set-mode-acl.c (qset_acl): Likewise.
53764         * lib/copy-acl.c (qcopy_acl): Likewise.
53765
53766 2008-06-08  Bruno Haible  <bruno@clisp.org>
53767
53768         Add support for HP-UX ACLs.
53769         * lib/acl-internal.h (acl_nontrivial): New declaration.
53770         * lib/file-has-acl.c (acl_nontrivial): New function.
53771         (file_has_acl): Add implementation using HP-UX 11 ACL API.
53772         * lib/set-mode-acl.c (qset_acl): Likewise.
53773         * lib/copy-acl.c (qcopy_acl): Likewise.
53774
53775 2008-06-08  Bruno Haible  <bruno@clisp.org>
53776
53777         Add support for Cygwin ACLs.
53778         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
53779         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
53780         the chmod_or_fchmod call.
53781         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
53782
53783 2008-06-08  Bruno Haible  <bruno@clisp.org>
53784
53785         Fix bug with setuid modes in Solaris 10+ code.
53786         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
53787         succeeded, when the mode contains some special bits.
53788
53789 2008-06-08  Bruno Haible  <bruno@clisp.org>
53790
53791         Add support for Solaris 7..10 ACLs.
53792         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
53793         declarations.
53794         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
53795         functions.
53796         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
53797         * lib/set-mode-acl.c (qset_acl): Likewise.
53798         * lib/copy-acl.c (qcopy_acl): Likewise.
53799
53800 2008-06-08  Bruno Haible  <bruno@clisp.org>
53801
53802         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
53803         declaration.
53804         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
53805         (acl_access_nontrivial): Remove MacOS X case.
53806         (file_has_acl): Use acl_extended_nontrivial.
53807         * lib/copy-acl.c (qcopy_acl): Likewise.
53808
53809 2008-06-08  Bruno Haible  <bruno@clisp.org>
53810
53811         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
53812
53813 2008-06-08  Jim Meyering  <meyering@redhat.com>
53814
53815         * modules/acl (Maintainer): Add Bruno Haible.
53816
53817 2008-06-07  Bruno Haible  <bruno@clisp.org>
53818
53819         Improve support for Tru64 ACLs.
53820         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
53821         ACL on OSF/1.
53822
53823 2008-06-07  Bruno Haible  <bruno@clisp.org>
53824
53825         Add support for MacOS X ACLs.
53826         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
53827         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
53828         * lib/set-mode-acl.c (qset_acl): Likewise.
53829         * lib/copy-acl.c (qcopy_acl): Likewise.
53830
53831 2008-06-07  Bruno Haible  <bruno@clisp.org>
53832
53833         Fix memory leak introduced on 2008-05-22.
53834         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
53835         use.
53836
53837 2008-06-07  Bruno Haible  <bruno@clisp.org>
53838
53839         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
53840         to construct an empty ACL.
53841
53842 2008-06-07  Bruno Haible  <bruno@clisp.org>
53843
53844         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
53845         precisely.
53846         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
53847
53848 2008-06-07  Bruno Haible  <bruno@clisp.org>
53849
53850         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
53851         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
53852
53853 2008-06-07  Bruno Haible  <bruno@clisp.org>
53854
53855         * doc/posix-functions/_setjmp.texi: Explain the use of this function
53856         regardless of POSIX.
53857         * doc/posix-functions/_longjmp.texi: Likewise.
53858         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
53859         SystemV platform in this case.
53860
53861 2008-06-06  Eric Blake  <ebb9@byu.net>
53862
53863         Document abort() bugs.
53864         * doc/posix-functions/abort.texi (abort): Mention anomalies.
53865
53866         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
53867         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
53868         sigsetjmp.
53869         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
53870         siglongjmp, but only as a macro.
53871         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
53872         is obsolete.
53873         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
53874
53875         Tweak documentation to cover cygwin argz bugs.
53876         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
53877         argz bug fix; no code change needed since no cygwin releases
53878         occurred between the last fix and the bug being tested.
53879         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
53880         module and recently fixed cygwin bugs.
53881         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
53882         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
53883         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
53884         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
53885         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
53886         Likewise.
53887         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
53888         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
53889         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
53890         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
53891         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
53892         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
53893         Likewise.
53894
53895         Avoid gcc warning on cygwin.
53896         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
53897         !ACL_NO_TRIVIAL]: Avoid unused variable.
53898
53899 2008-06-05  Eric Blake  <ebb9@byu.net>
53900
53901         Be tolerant of UNKNOWN version in gnulib-tool test dir.
53902         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
53903         git-version-gen fails to come up with a version.
53904         Reported by Simon Josefsson.
53905
53906 2008-06-05  Jim Meyering  <meyering@redhat.com>
53907             Paul Eggert  <eggert@cs.ucla.edu>
53908
53909         utimens.c: work around a probable Linux kernel bug
53910         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
53911         appears to be a kernel bug that causes utimensat to return 280
53912         instead of 0, indicating success.
53913
53914 2008-06-04  Bruno Haible  <bruno@clisp.org>
53915
53916         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
53917         2008-06-01 commit.
53918
53919 2008-06-04  Bruno Haible  <bruno@clisp.org>
53920
53921         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
53922         * lib/file-has-acl.c (acl_access_nontrivial): New function.
53923         (file_has_acl): Use it. Save errno afterwards.
53924         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
53925
53926 2008-06-03  Bruno Haible  <bruno@clisp.org>
53927
53928         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
53929         draft code. Simplify #ifs.
53930         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
53931         Put Solaris code after POSIX-draft code. Fix comments regarding
53932         Solaris 10, HP-UX. Mention Cygwin.
53933         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
53934
53935 2008-06-03  Eric Blake  <ebb9@byu.net>
53936
53937         Provide fallback for older kernels.
53938         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
53939         Provide runtime fallback if kernel lacks support.
53940         Reported by Mike Frysinger.
53941
53942 2008-06-02  Bruno Haible  <bruno@clisp.org>
53943
53944         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
53945         it exists.
53946
53947 2008-06-02  Bruno Haible  <bruno@clisp.org>
53948
53949         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
53950         * lib/copy-acl.c (qcopy_acl): Update comment.
53951
53952 2008-06-02  Bruno Haible  <bruno@clisp.org>
53953
53954         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
53955         like ACL APIs.
53956
53957 2008-06-02  Bruno Haible  <bruno@clisp.org>
53958
53959         * tests/test-file-has-acl.sh: Use different code for Cygwin.
53960         * tests/test-set-mode-acl.sh: Likewise.
53961         * tests/test-copy-acl.sh: Likewise.
53962         * tests/test-copy-file.sh: Likewise.
53963
53964 2008-06-02  Bruno Haible  <bruno@clisp.org>
53965
53966         * tests/test-file-has-acl.sh: Remove unused code.
53967
53968 2008-06-01  Bruno Haible  <bruno@clisp.org>
53969
53970         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
53971         (copy_acl): Just a wrapper around qcopy_acl that emits the error
53972         messages.
53973         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
53974
53975 2008-06-01  Bruno Haible  <bruno@clisp.org>
53976
53977         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
53978         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
53979         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
53980         APIs.
53981         * modules/acl-tests (configure.ac): Remove tests now contained in
53982         m4/acl.m4.
53983
53984 2008-06-02  Jim Meyering  <meyering@redhat.com>
53985
53986         announce-gen: use a better key-server host name
53987         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
53988         it may be more consistently reliable.  Suggested by Werner Koch
53989         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
53990
53991 2008-06-01  Bruno Haible  <bruno@clisp.org>
53992
53993         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
53994         Reported by Voroskoi Andras <voroskoi@gmail.com>.
53995
53996 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
53997
53998         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
53999
54000 2008-06-01  Bruno Haible  <bruno@clisp.org>
54001
54002         New ACL tests.
54003         * tests/test-file-has-acl.sh: New file.
54004         * tests/test-file-has-acl.c: New file.
54005         * tests/test-set-mode-acl.sh: New file.
54006         * tests/test-set-mode-acl.c: New file.
54007         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
54008         * tests/test-copy-acl.c: New file.
54009         * modules/acl-tests: New file, based on modules/copy-file-tests.
54010         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
54011         (Depends-on): Add acl-tests.
54012         (configure.ac): Remove checks.
54013         (Makefile.am): Don't create test-sameacls program here any more.
54014
54015 2008-06-01  Bruno Haible  <bruno@clisp.org>
54016
54017         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
54018         * tests/test-sameacls.c: Include progname.h.
54019         (main): Invoke set_program_name. Portability fixes for MacOS X,
54020         Solaris, HP-UX.
54021
54022 2008-06-01  Bruno Haible  <bruno@clisp.org>
54023
54024         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
54025         function.
54026         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
54027
54028 2008-06-01  Bruno Haible  <bruno@clisp.org>
54029
54030         * modules/rpmatch (Depends-on): Add strdup.
54031
54032 2008-06-01  Bruno Haible  <bruno@clisp.org>
54033
54034         * lib/pipe.c: Include unistd-safer.h.
54035         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
54036         * modules/pipe (Depends-on): Add unistd-safer.
54037
54038 2008-05-30  Simon Josefsson  <simon@josefsson.org>
54039
54040         * modules/autobuild (configure.ac): Call AB_INIT.
54041
54042 2008-05-30  Simon Josefsson  <simon@josefsson.org>
54043
54044         * tests/test-getaddrinfo.c: Don't print debug messages by default.
54045         Suggested by Bruno Haible <bruno@clisp.org>.
54046
54047 2008-05-30  Simon Josefsson  <simon@josefsson.org>
54048
54049         * tests/test-base64.c: Cast size_t to unsigned long when invoking
54050         printf.  Use %lu instead of %d.  Reported by Bruno Haible
54051         <bruno@clisp.org>.
54052
54053 2008-05-29  Eric Blake  <ebb9@byu.net>
54054
54055         Prefer new POSIX 200x interfaces over futimesat.
54056         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
54057         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
54058         when available.
54059         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
54060
54061 2008-05-28  Bruno Haible  <bruno@clisp.org>
54062
54063         * modules/stpcpy (License): Change to LGPLv2+.
54064         Requested by David Lutterkort <dlutter@redhat.com>.
54065
54066 2008-05-27  Bruno Haible  <bruno@clisp.org>
54067
54068         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
54069         current mingw.
54070         Reported by Jose E. Marchesi <jemarch@gnu.org>.
54071
54072 2008-05-27  Bruno Haible  <bruno@clisp.org>
54073
54074         * modules/iconv_open (Link): New section, from module 'iconv'.
54075         * modules/striconv (Link): Likewise.
54076         * modules/striconveh (Link): Likewise.
54077         * modules/xstriconv (Link): Likewise.
54078         * modules/unicodeio (Link): Likewise.
54079         * modules/propername (Link): Likewise.
54080         Reported by Jim Meyering.
54081
54082 2008-05-26  Jim Meyering  <meyering@redhat.com>
54083
54084         sha256: do not artificially restrict buffer length to be < 2^32
54085         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
54086         uint32_t to size_t.
54087         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
54088         to match.
54089
54090         avoid unaligned access errors, e.g., on sparc
54091         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
54092         direct access through a possibly-unaligned uint64* pointer.
54093         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
54094         direct access through a possibly-unaligned uint32* pointer.
54095         Prompted by this patch from Tom "spot" Callaway:
54096         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
54097
54098         sha512.c: fix typo in comment
54099         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
54100
54101 2008-05-25  Bruno Haible  <bruno@clisp.org>
54102
54103         * lib/set-mode-acl.c: Renamed from lib/acl.c.
54104         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
54105         (Makefile.am): Update lib_SOURCES.
54106
54107 2008-05-25  Bruno Haible  <bruno@clisp.org>
54108
54109         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
54110
54111 2008-05-25  Jim Meyering  <meyering@redhat.com>
54112
54113         useless-if-before-free: freed expr may have white-space differences
54114         * build-aux/useless-if-before-free: Recognize cases in which the
54115         freed expression differs from the tested one in embedded white
54116         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
54117         $1 was used, so we can't make any regexp shy.  Improved tests now
54118         detect this.
54119
54120         useless-if-before-free: accept white space in the expression.
54121         * build-aux/useless-if-before-free: For now, any white space
54122         in the expression must be identical in the free argument.
54123
54124         useless-if-before-free: efficiency tweak
54125         * build-aux/useless-if-before-free: Make the expression-matching
54126         regexp "shy".
54127         Make the *outer* regexp shy, not the expr-matching one.
54128
54129         update code-in-comment to accept cast of free arg
54130         * build-aux/useless-if-before-free: Update regexp.
54131
54132 2008-05-25  Bruno Haible  <bruno@clisp.org>
54133
54134         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
54135         * modules/copy-file-tests (Files, Makefile.am): Update.
54136         * tests/test-copy-file.c (func_test_copy): Update.
54137
54138 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
54139
54140         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
54141
54142 2008-05-23  Bruno Haible  <bruno@clisp.org>
54143
54144         Improve support for ACLs on OSF/1.
54145         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
54146         Remove fallback for unknown flavors of ACLs.
54147
54148 2008-05-22  Bruno Haible  <bruno@clisp.org>
54149
54150         Add support for ACLs on OSF/1.
54151         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
54152         replacements.
54153         (acl_free_text): New macro fallback.
54154         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
54155         acl_free.
54156         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
54157         acl_free_text function. Require AC_C_INLINE.
54158
54159 2008-05-22  Bruno Haible  <bruno@clisp.org>
54160
54161         Make copy_acl work on MacOS X 10.5.
54162         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
54163         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
54164         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
54165         If MODE_INSIDE_ACL, don't assume that every system has the same text
54166         representation for ACLs as FreeBSD.
54167         * lib/copy-acl.c (copy_acl): Add support for platforms with
54168         !MODE_INSIDE_ACL.
54169         * lib/file-has-acl.c (file_has_acl): Likewise.
54170         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
54171         FreeBSD, MacOS X, or IRIX, respectively.
54172
54173 2008-05-22  Bruno Haible  <bruno@clisp.org>
54174
54175         * lib/acl.h: Don't include <sys/acl.h>.
54176         (GETACLCNT): Move fallback to lib/acl-internal.h.
54177         * lib/acl-internal.h: Include <sys/acl.h> here.
54178         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
54179
54180 2008-05-22  Bruno Haible  <bruno@clisp.org>
54181
54182         Split off copy_acl function to separate file.
54183         * lib/copy-acl.c: New file, extracted from lib/acl.c.
54184         * lib/acl.c (copy_acl): Moved function to separate file.
54185         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
54186         * modules/acl (Files): Add lib/copy-acl.c.
54187         (Makefiles.am): Augment lib_SOURCES.
54188
54189 2008-05-22  Bruno Haible  <bruno@clisp.org>
54190
54191         * modules/copy-file-tests: New file.
54192         * tests/test-copy-file.sh: New file.
54193         * tests/test-copy-file.c: New file.
54194         * tests/test-copy-file-sameacls.c: New file.
54195
54196 2008-05-22  Eric Blake  <ebb9@byu.net>
54197
54198         Avoid gcc warning.
54199         * tests/test-memcmp.c (main): Pass NULL indirectly.
54200
54201 2008-05-21  Bruno Haible  <bruno@clisp.org>
54202
54203         Add reference doc about ACLs.
54204         * doc/acl-resources.txt: New file.
54205         * doc/acl-cygwin.txt: New file.
54206
54207 2008-05-21  Bruno Haible  <bruno@clisp.org>
54208
54209         Avoid one more warning from gcc.
54210         * lib/vasnprintf.c (IF_LINT): Update comments.
54211         (VASNPRINTF): Use it also for the 'prefix' array initializer.
54212
54213 2008-05-21  Jim Meyering  <meyering@redhat.com>
54214
54215         avoid a warning from gcc
54216         * lib/vasnprintf.c (IF_LINT): Define.
54217         (scale10_round_decimal_long_double):
54218         Use it to avoid a "may be used uninitialized" warning.
54219         (scale10_round_decimal_double): Likewise.
54220
54221 2008-05-21  Simon Josefsson  <simon@josefsson.org>
54222
54223         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
54224         declared.
54225
54226 2008-05-20  Bruno Haible  <bruno@clisp.org>
54227
54228         * tests/test-memcmp.c (main): Test also the sign of the result. Test
54229         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
54230
54231 2008-05-20  Simon Josefsson  <simon@josefsson.org>
54232
54233         * modules/memcmp-tests: New file.
54234         * tests/test-memcmp.c: New file.
54235
54236 2008-05-19  Bruno Haible  <bruno@clisp.org>
54237
54238         * modules/propername (Notice, configure.ac): Put quoted "..." into
54239         --keyword option.
54240         * lib/propername.h: Update comments accordingly.
54241         Reported by Eric Blake.
54242
54243 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
54244
54245         * modules/getpass-gnu (Depends-on): Add fseeko.
54246
54247 2008-05-19  Simon Josefsson  <simon@josefsson.org>
54248
54249         * modules/base64-tests: New file.
54250
54251 2008-05-19  Bo Borgerson <gigabo@gmail.com>
54252
54253         * lib/base64.c (base64_decode_ctx): If a decode context structure
54254         was passed in use it to ignore newlines.  If a context structure
54255         was _not_ passed in, continue to treat newlines as garbage (this
54256         is the historical behavior).  Formerly base64_decode.
54257         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
54258         takes a decode context structure.
54259         * lib/base64.h (base64_decode): Macro for four-argument calls.
54260         (base64_decode_alloc): Likewise.
54261         * lib/base64.c (base64_decode_ctx): If a decode context structure
54262         was passed in use it to ignore newlines.  If a context structure
54263         was _not_ passed in, continue to treat newlines as garbage (this
54264         is the historical behavior).  Formerly base64_decode.
54265         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
54266         takes a decode context structure.
54267         * lib/base64.h (base64_decode): Macro for four-argument calls.
54268         (base64_decode_alloc): Likewise.
54269
54270 2008-05-19  Jim Meyering  <meyering@redhat.com>
54271
54272         avoid a warning from gcc
54273         * lib/trim.c (IF_LINT): Define.
54274         (trim2): Use it to avoid a "may be used uninitialized" warning.
54275
54276         Fix doc typo.
54277         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
54278
54279 2008-05-19  Bruno Haible  <bruno@clisp.org>
54280
54281         * doc/glibc-functions/getpass.texi: Document limits of other
54282         implementations.
54283
54284 2008-05-19  Simon Josefsson  <simon@josefsson.org>
54285             Bruno Haible <bruno@clisp.org>
54286
54287         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
54288
54289 2008-05-18  Bruno Haible  <bruno@clisp.org>
54290
54291         * modules/propername: New file, from GNU gettext.
54292         * lib/propername.h: New file, from GNU gettext.
54293         * lib/propername.c: New file, from GNU gettext.
54294         * MODULES.html.sh (Internationalization functions): Add propername.
54295
54296 2008-05-16  Jim Meyering  <meyering@redhat.com>
54297             Bruno Haible  <bruno@clisp.org>
54298
54299         Avoid some warnings from "gcc -Wshadow".
54300         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
54301
54302 2008-05-15  Eric Blake  <ebb9@byu.net>
54303
54304         Extend previous patch to cygwin 1.7.0.
54305         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
54306         fast implementation in cygwin >= 1.7.0.
54307         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
54308         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54309
54310 2008-05-15  Bruno Haible  <bruno@clisp.org>
54311
54312         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
54313         implementation in glibc >= 2.9.
54314         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
54315         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54316
54317 2008-05-15  Bruno Haible  <bruno@clisp.org>
54318
54319         * MODULES.html.sh (Internationalization functions): Remove linebreak.
54320         (Unicode string functions): Add unilbrk/*.
54321         Reported by Karl Berry.
54322
54323 2008-05-15  Eric Blake  <ebb9@byu.net>
54324
54325         Fix violation of <stdbool.h> replacement in regex.
54326         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
54327         * lib/regexec.c (re_search_internal): Likewise.
54328         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
54329
54330 2008-05-15  Jim Meyering  <meyering@redhat.com>
54331
54332         avoid distracting test output when git or cvs is not found
54333         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
54334         * tests/test-vc-list-files-git.sh: Likewise.
54335
54336 2008-05-15  Eric Blake  <ebb9@byu.net>
54337
54338         Glibc finally accepted the memmem speedup code, bugzilla #5514.
54339         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
54340         glibc version.
54341         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
54342         * doc/posix-functions/strstr.texi (strstr): Likewise.
54343         * lib/str-two-way.h (MAX): Sychronize with glibc.
54344
54345 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
54346
54347         * lib/regcomp.c (optimize_utf8): Add a note on why we test
54348         opr.ctx_type.
54349         (calc_first): Initialize constraint field.
54350         (duplicate_node_closure): Use it instead of special casing ANCHORS.
54351         Fix grammar.
54352         (duplicate_node): Merge constraint field for all node types.
54353         (calc_eclosure_iter): Look at constraint field for all node types.
54354         * lib/regex_internal.c (create_cd_newstate): Don't look at
54355         opr.ctx_type.
54356
54357 2008-05-14  Bruno Haible  <bruno@clisp.org>
54358
54359         Help GCC to do better code generation.
54360         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
54361         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
54362         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
54363         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
54364         Declare with attribute 'malloc' if supported.
54365
54366 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
54367
54368         use "echo STR|wc -c" rather than unportable "expr length STR"
54369         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
54370         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
54371
54372 2008-05-14  Jim Meyering  <meyering@redhat.com>
54373
54374         use dd ibs=$n count=1 ... rather than less-portable head -c$n
54375         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
54376         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
54377         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
54378         via Collin Lasse.
54379
54380 2008-05-14  Eric Blake  <ebb9@byu.net>
54381
54382         Avoid quadratic growth in gl_LIBSOURCES.
54383         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
54384         Suggested by Bruno Haible.
54385
54386         Test xmemdup0.
54387         * modules/xmemdup0-tests: New file.
54388         * tests/test-xmemdup0.c: Likewise.
54389
54390 2008-05-13  Eric Blake  <ebb9@byu.net>
54391
54392         Split xmemdup0 into its own module.
54393         * modules/xmemdup0: New file.
54394         * lib/xmemdup0.h: Likewise.
54395         * lib/xmemdup0.c: Likewise.
54396         * MODULES.html.sh (Memory management functions): Add xmemdup0.
54397         * lib/xalloc.h (xmemdup0): Remove.
54398         * lib/xmalloc.c (xmemdup0): Likewise.
54399
54400 2008-05-13  Eric Blake  <ebb9@byu.net>
54401             Bruno Haible  <bruno@clisp.org>
54402
54403         Reduce number of forks required during autoconf.
54404         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
54405         and gl_LIBSOURCES_DIR.
54406         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
54407         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
54408         m4_syscmd per file.
54409         <m4_foreach_w>: Move...
54410         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
54411
54412 2008-05-13  Eric Blake  <ebb9@byu.net>
54413
54414         * gnulib-tool: Fix various comment typos.
54415
54416 2008-05-12  Bruno Haible  <bruno@clisp.org>
54417
54418         Tailor the linebreaking algorithm.
54419         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
54420
54421 2008-05-12  Bruno Haible  <bruno@clisp.org>
54422
54423         Update to Unicode 5.0.0.
54424         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
54425         LBP_JV, LBP_JT. Redistribute values.
54426         (unilbrk_table): Change size.
54427         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
54428         Unicode TR#14 rev. 22.
54429         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
54430         LBP_JV, LBP_JT. Redistribute values.
54431         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
54432         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
54433         Update.
54434         * lib/unilbrk/lbrkprop1.h: Regenerated.
54435         * lib/unilbrk/lbrkprop2.h: Regenerated.
54436         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
54437         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
54438         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
54439         Likewise.
54440         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
54441         Likewise.
54442         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
54443         result.
54444         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
54445         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
54446         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
54447         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
54448         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
54449         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
54450
54451 2008-05-11  Bruno Haible  <bruno@clisp.org>
54452
54453         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
54454
54455 2008-05-11  Bruno Haible  <bruno@clisp.org>
54456
54457         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
54458         * modules/unilbrk/gen-lbrk: New file.
54459
54460 2008-05-11  Bruno Haible  <bruno@clisp.org>
54461
54462         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
54463         * m4/sha512.m4 (gl_SHA512): Likewise.
54464
54465 2008-05-11  Jim Meyering  <meyering@redhat.com>
54466
54467         New modules: crypto/sha256, crypto/sha512 (from coreutils)
54468         * modules/crypto/sha256: New file.
54469         * modules/crypto/sha512: Likewise.
54470         * lib/sha256.c: Likewise.
54471         * lib/sha256.h: Likewise.
54472         * lib/sha512.c: Likewise.
54473         * lib/sha512.h: Likewise.
54474         * lib/u64.h: Likewise.
54475         * m4/sha256.m4: Likewise.
54476         * m4/sha512.m4: Likewise.
54477         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
54478
54479 2008-05-10  Bruno Haible  <bruno@clisp.org>
54480
54481         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
54482         (Input/Output <stdio.h>): Add xprintf.
54483         (Signal handling <signal.h>): Add strsignal.
54484         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
54485         (Core language properties): Add func.
54486         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
54487         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
54488         strings.
54489         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
54490         (Input/output): New section.
54491         (File system functions): Add openat-die, stat-macros.
54492         (Networking functions): Add sockets.
54493         (Unicode string functions): Add unictype/*.
54494         (Support for building libraries and executables): Add gperf.
54495         (Support for building documentation): Add agpl-3.0.
54496         (Misc): Add nocrash.
54497
54498 2008-05-10  Bruno Haible  <bruno@clisp.org>
54499
54500         * modules/unictype/gen-ctype: New file.
54501
54502 2008-05-10  Jim Meyering  <meyering@redhat.com>
54503
54504         Make chdir-safer.c more efficient on a system with no symlinks.
54505         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
54506         also if ELOOP is zero.  Suggested by Bruno Haible.
54507
54508         Make chdir-safer.c slightly safer.
54509         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
54510         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
54511
54512         Avoid compile failure on systems without ELOOP (like mingw).
54513         * lib/chdir-safer.c (ELOOP): Define if not already defined.
54514         Reported by Bruno Haible.
54515
54516 2008-05-10  Bruno Haible  <bruno@clisp.org>
54517
54518         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
54519         (is_utf8_encoding): Use a case-insensitive comparison.
54520         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
54521         streq.
54522
54523 2008-05-10  Bruno Haible  <bruno@clisp.org>
54524
54525         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
54526         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
54527         * lib/unilbrk/ulc-common.h (iconv_string_length,
54528         iconv_string_keeping_offsets): Remove declarations.
54529         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
54530         Don't include <iconv.h>, streq.h, xsize.h.
54531         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
54532         conversion.
54533         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
54534         <iconv.h>, streq.h, xsize.h.
54535         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
54536         conversion.
54537         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
54538         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
54539         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
54540         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
54541
54542 2008-05-10  Bruno Haible  <bruno@clisp.org>
54543
54544         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
54545         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
54546
54547         * modules/unilbrk/u32-width-linebreaks-tests: New file.
54548         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
54549
54550         * modules/unilbrk/u16-width-linebreaks-tests: New file.
54551         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
54552
54553         * modules/unilbrk/u8-width-linebreaks-tests: New file.
54554         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
54555
54556         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
54557         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
54558
54559         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
54560         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
54561
54562         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
54563         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
54564
54565         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
54566         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
54567
54568 2008-05-10  Bruno Haible  <bruno@clisp.org>
54569
54570         Split up 'linebreak' module.
54571         * lib/unilbrk.h: New file, based on lib/linebreak.h.
54572         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
54573         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
54574         modifications.
54575         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
54576         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
54577         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
54578         lib/linebreak.c.
54579         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
54580         lib/linebreak.c.
54581         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
54582         lib/linebreak.c.
54583         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
54584         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
54585         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
54586         lib/linebreak.c.
54587         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
54588         lib/linebreak.c.
54589         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
54590         lib/linebreak.c.
54591         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
54592         lib/linebreak.c.
54593         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
54594         lib/linebreak.c.
54595         * modules/unilbrk/base: New file.
54596         * modules/unilbrk/tables: New file.
54597         * modules/unilbrk/u8-possible-linebreaks: New file.
54598         * modules/unilbrk/u16-possible-linebreaks: New file.
54599         * modules/unilbrk/u32-possible-linebreaks: New file.
54600         * modules/unilbrk/ulc-common: New file.
54601         * modules/unilbrk/ulc-possible-linebreaks: New file.
54602         * modules/unilbrk/u8-width-linebreaks: New file.
54603         * modules/unilbrk/u16-width-linebreaks: New file.
54604         * modules/unilbrk/u32-width-linebreaks: New file.
54605         * modules/unilbrk/ulc-width-linebreaks: New file.
54606         * lib/linebreak.h: Remove file.
54607         * lib/linebreak.c: Remove file.
54608         * m4/linebreak.m4: Remove file.
54609         * modules/linebreak: Remove file.
54610         * NEWS: Mention the changes.
54611
54612 2008-05-09  Eric Blake  <ebb9@byu.net>
54613
54614         Add xmemdup0.
54615         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
54616         implementation.
54617         * lib/xmalloc.c (xmemdup0): New C implementation.
54618
54619 2008-05-08  Bruno Haible  <bruno@clisp.org>
54620
54621         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
54622
54623 2008-05-07  Eric Blake  <ebb9@byu.net>
54624
54625         Support cross-compilation of <wctype.h>.
54626         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
54627         AC_CACHE_CHECK.
54628
54629 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
54630
54631         * build-aux/vc-list-files: Add support for bzr.
54632
54633 2008-05-03  Jim Meyering  <meyering@redhat.com>
54634
54635         avoid failed assertion with tight malloc
54636         * tests/test-getndelim2.c: Correct an off-by-one assertion.
54637
54638 2008-05-03  Simon Josefsson  <simon@josefsson.org>
54639
54640         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
54641         are needed from arpa/inet.h.
54642         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
54643         Reported by Bruno Haible.
54644
54645 2008-05-02  Jim Meyering  <meyering@redhat.com>
54646
54647         avoid compilation error on FreeBSD 6
54648         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
54649
54650 2008-05-01  Jim Meyering  <meyering@redhat.com>
54651
54652         useless-if-before-free: correct --help's exit status description
54653         * build-aux/useless-if-before-free (usage): Like grep, exit 0
54654         for one or more matches, etc.  Reported by Bruno Haible.
54655
54656         vc-list-files: make the stand-alone gnulib test work
54657         * modules/vc-list-files-tests (configure.ac):
54658         Define and AC_SUBST abs_aux_dir.
54659         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
54660         $(abs_top_srcdir) to each script and having each of them
54661         duplicate the work of setting PATH, set PATH here, using
54662         the new variable, abs_aux_dir instead.
54663         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
54664         * tests/test-vc-list-files-git.sh: Likewise.
54665         Reported by Bruno Haible.
54666
54667 2008-05-01  Bruno Haible  <bruno@clisp.org>
54668
54669         * lib/getndelim2.c (getndelim2): Fix newsize computation during
54670         reallocation. Rename 'done' to 'found_delimiter'.
54671
54672 2008-05-01  Jim Meyering  <meyering@redhat.com>
54673
54674         vc-list-files: accommodate /bin/sh like the one from Solaris 10
54675         * build-aux/vc-list-files: Use `...`, not $(...).
54676
54677 2008-04-30  Jim Meyering  <meyering@redhat.com>
54678
54679         add tests for vc-list-files
54680         * modules/vc-list-files-tests: New module.
54681         * tests/test-vc-list-files-cvs.sh: New file.
54682         * tests/test-vc-list-files-git.sh: New file.
54683
54684         avoid a warning from gcc
54685         * lib/getndelim2.c (IF_LINT): Define.
54686         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
54687
54688         vc-list-files: work properly with build-aux/cvsu, too
54689         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
54690         to all cvs-based clauses.
54691
54692         vc-list-files: work properly in the CVS+awk case, too
54693         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
54694
54695         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
54696         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
54697         take more than one file argument, so .  Add quotes, just in case $dir
54698         ever contains a shell meta-character.  Prompted by Soren Hansen in
54699         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
54700
54701 2008-04-29  Eric Blake  <ebb9@byu.net>
54702
54703         Optimize getndelim2 to use block operations when possible.
54704         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
54705         freadseek, and memchr2.
54706         * lib/getndelim2.c (getndelim2): Use them for block reads.
54707
54708 2008-04-29  Bruno Haible  <bruno@clisp.org>
54709
54710         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
54711         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
54712         * modules/inet_ntop (Depends-on): Add extensions.
54713         * modules/inet_pton (Depends-on): Likewise.
54714         Reported by Simon Josefsson.
54715
54716 2008-04-29  Jim Meyering  <meyering@redhat.com>
54717
54718         When the is more than one match in a block, match all of them.
54719         * build-aux/useless-if-before-free: Iterate through each block
54720         until there are no more matches.
54721
54722         Fix broken useless-if-before-free script.
54723         * build-aux/useless-if-before-free: Fix typo: missing "?" after
54724         the expression to match cast of argument to free-like function.
54725
54726 2008-04-29  Eric Blake  <ebb9@byu.net>
54727
54728         Use new header.
54729         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
54730
54731 2008-04-29  Jim Meyering  <meyering@redhat.com>
54732
54733         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
54734         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
54735         by gnulib to exist and to declare e.g., inet_ntop.
54736         Don't include "inet_ntop.h", now removed.
54737
54738         * m4/arpa_inet_h.m4: Remove trailing blanks.
54739
54740 2008-04-29  Eric Blake  <ebb9@byu.net>
54741
54742         Silence valgrind on safe reads beyond potential array bounds.
54743         * lib/rawmemchr.valgrind: New file.
54744         * lib/strchrnul.valgrind: Likewise.
54745         * modules/rawmemchr (Files): Distribute new file.
54746         * modules/strchrnul (Files): Likewise.
54747         Suggested by Bruno Haible.
54748
54749 2008-04-29  Bruno Haible  <bruno@clisp.org>
54750
54751         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
54752         (inet_ntop, inet_pton): Change portability warning's wording.
54753         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
54754         Invoke gl_CHECK_NEXT_HEADERS.
54755         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
54756         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
54757         set ARPA_INET_H.
54758         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
54759         * modules/arpa_inet (Description): No longer only for systems that
54760         lack it.
54761         (Depends-on): Add include_next.
54762         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
54763         HAVE_ARPA_INET_H.
54764
54765 2008-04-29  Jim Meyering  <meyering@redhat.com>
54766
54767         * modules/mkdir (License): Re-license as LGPLv2+.
54768
54769 2008-04-29  Bruno Haible  <bruno@clisp.org>
54770
54771         * modules/rawmemchr (Maintainer): Set to Eric.
54772         * modules/strchrnul (Maintainer): Likewise.
54773
54774 2008-04-29  Simon Josefsson  <simon@josefsson.org>
54775
54776         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
54777         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
54778
54779         * modules/arpa_inet (arpa/inet.h): Use them.
54780
54781 2008-04-28  Eric Blake  <ebb9@byu.net>
54782
54783         Test getndelim2.
54784         * modules/getndelim2-tests: New file.
54785         * tests/test-getndelim2.c: Likewise.
54786         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
54787         stream.
54788         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
54789
54790         * MODULES.html.sh: Document new module.
54791
54792 2008-04-20  Bruno Haible  <bruno@clisp.org>
54793
54794         * lib/c-stack.c (die): Use raise.
54795         * modules/c-stack (Depends-on): Add raise.
54796
54797 2008-04-28  Bruno Haible  <bruno@clisp.org>
54798
54799         Expect rpmatch to be declared.
54800         * lib/yesno.c (rpmatch): Remove declaration.
54801
54802         Declare rpmatch.
54803         * lib/stdlib.in.h (rpmatch): New declaration.
54804         * lib/rpmatch.c: Include <stdlib.h> first.
54805         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
54806         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
54807         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
54808         HAVE_RPMATCH.
54809         * modules/rpmatch (Depends-on): Add stdlib, extensions.
54810         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54811         (Include): Set to <stdlib.h>.
54812         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
54813         HAVE_RPMATCH.
54814         * NEWS: Document the change.
54815
54816 2008-04-28  Bruno Haible  <bruno@clisp.org>
54817
54818         Change rpmatch to use nl_langinfo when appropriate.
54819         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
54820         (N_): New macro.
54821         (localized_pattern): New function/macro.
54822         (try): Remove match, nomatch arguments. Copy the pattern into safe
54823         memory before caching it.
54824         (rpmatch): Use localized_pattern. Add translator comments.
54825         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
54826         Suggested by Eric Blake.
54827         * modules/rpmatch (Depends-on): Add stdbool.
54828
54829 2008-04-28  Eric Blake  <ebb9@byu.net>
54830
54831         Add rawmemchr module, matching glibc.
54832         * modules/string (Makefile.am): New indicator.
54833         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
54834         * lib/string.in.h (rawmemchr): Declare when appropriate.
54835         * modules/rawmemchr: New file.
54836         * m4/rawmemchr.m4: Likewise.
54837         * lib/rawmemchr.c: Likewise.
54838         * modules/rawmemchr-tests: Likewise.
54839         * tests/test-rawmemchr.c: Likewise.
54840         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
54841         module.
54842         * modules/strchrnul (Depends-on): Add rawmemchr.
54843         * lib/strchrnul.c (strchrnul): Optimize a corner case.
54844
54845         Whitespace cleanup.
54846         * tests/test-strchrnul.c: Reindent.
54847         * lib/strchrnul.c: Likewise.
54848
54849         Optimize and test strchrnul.
54850         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
54851         * modules/strchrnul-tests: New file.
54852         * tests/test-strchrnul.c: Likewise.
54853
54854         Remove intprops dependency.
54855         * modules/memchr (Depends-on): Remove intprops.
54856         * modules/memrchr (Depends-on): Likewise.
54857         * modules/memchr2 (Depends-on): Likewise.
54858         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
54859         * lib/memrchr.c (__memrchr): Likewise.
54860         * lib/memrchr2.c (memchr2): Likewise.
54861         Reported by Simon Josefsson.
54862
54863 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54864
54865         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
54866         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54867
54868 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54869
54870         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
54871
54872         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
54873
54874         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
54875
54876         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
54877         declarations.
54878         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
54879
54880         * m4/inet_pton.m4: Don't check for header files.
54881
54882         * m4/inet_ntop.m4: Don't check for header files.
54883
54884 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54885
54886         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
54887         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
54888         trigger for cygwin).
54889         Reported by Bruno Haible  <bruno@clisp.org>.
54890
54891 2008-04-28  Bruno Haible  <bruno@clisp.org>
54892
54893         * doc/posix-functions/strdup.texi: Mention mingw problem.
54894
54895 2008-04-27  Bruno Haible  <bruno@clisp.org>
54896
54897         * modules/stat-time-tests (Depends-on): Add sleep.
54898         * tests/test-stat-time.c (force_unlink): New function.
54899         (cleanup): Use it.
54900         (test_mtime): Remove the ctime related tests.
54901         (test_ctime): New function, containing the ctime related tests.
54902         (main): Call test_ctime, except on native Windows platforms.
54903
54904 2008-04-27  Bruno Haible  <bruno@clisp.org>
54905
54906         * lib/rpmatch.c (rpmatch): Add some comments.
54907         Reported by James Youngman <jay@gnu.org>.
54908
54909 2008-04-27  Bruno Haible  <bruno@clisp.org>
54910
54911         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
54912         quiet NaNs.
54913
54914 2008-04-27  Bruno Haible  <bruno@clisp.org>
54915
54916         Make test-yesno.sh work on mingw.
54917         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
54918         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
54919         (main): Set stdin to binary mode.
54920         * modules/yesno-tests (Depends-on): Add binary-io.
54921
54922 2008-04-27  Bruno Haible  <bruno@clisp.org>
54923
54924         Fix 'isfinite' on x86, x86_64, ia64 platforms.
54925         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
54926         argument that lie outside the IEEE 854 domain.
54927         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
54928         (gl_ISFINITE): Use it.
54929         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
54930
54931 2008-04-27  Bruno Haible  <bruno@clisp.org>
54932
54933         Allow local renaming in config.h.
54934         * lib/memrchr.c (memrchr): Don't undefine outside libc.
54935
54936 2008-04-27  Bruno Haible  <bruno@clisp.org>
54937
54938         * lib/memchr.c (__memchr): Change type of 'i'.
54939         * lib/memchr2.c (memchr2): Likewise.
54940
54941 2008-04-26  Eric Blake  <ebb9@byu.net>
54942         and Bruno Haible  <bruno@clisp.org>
54943
54944         Optimize and test memrchr.
54945         * modules/memrchr (Depends-on): Add intprops.
54946         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
54947         * modules/memrchr-tests: New file.
54948         * tests/test-memrchr.c: New file.
54949
54950 2008-04-26  Bruno Haible  <bruno@clisp.org>
54951
54952         Add tentative support for DragonFly BSD.
54953         * lib/stdio-impl.h: Add macros for DragonFly BSD.
54954         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
54955         fp.
54956         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
54957         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
54958         * lib/fpurge.c (fpurge): Likewise.
54959         * lib/freadable.c (freaadable): Likewise.
54960         * lib/freadahead.c (freadahead): Likewise.
54961         * lib/freading.c (freading): Likewise.
54962         * lib/freadptr.c (freadptr): Likewise.
54963         * lib/freadseek.c (freadptrinc): Likewise.
54964         * lib/fseeko.c (fseeko): Likewise.
54965         * lib/fseterr.c (fseterr): Likewise.
54966         * lib/fwritable.c (fwritable): Likewise.
54967         * lib/fwriting.c (fwriting): Likewise.
54968
54969 2008-04-26  Bruno Haible  <bruno@clisp.org>
54970
54971         * lib/stdio-impl.h: New file.
54972         * lib/fbufmode.c: Include stdio-impl.h.
54973         (fbufmode): Use fp_, remove redundant #defines.
54974         * lib/fflush.c: Include stdio-impl.h.
54975         (clear_ungetc_buffer): Remove redundant #defines.
54976         * lib/fpurge.c: Include stdio-impl.h.
54977         (fpurge): Remove redundant #defines.
54978         * lib/freadable.c: Include stdio-impl.h.
54979         (freadable): Remove redundant #defines.
54980         * lib/freadahead.c: Include stdio-impl.h.
54981         (freadahead): Remove redundant #defines.
54982         * lib/freading.c: Include stdio-impl.h.
54983         (freading): Remove redundant #defines.
54984         * lib/freadptr.c: Include stdio-impl.h.
54985         (freadptr): Remove redundant #defines.
54986         * lib/freadseek.c: Include stdio-impl.h.
54987         (freadptrinc): Remove redundant #defines.
54988         * lib/fseeko.c: Include stdio-impl.h.
54989         (rpl_fseeko): Remove redundant #defines.
54990         * lib/fseterr.c: Include stdio-impl.h.
54991         (fseterr): Remove redundant #defines.
54992         * lib/fwritable.c: Include stdio-impl.h.
54993         (fwritable: Remove redundant #defines.
54994         * lib/fwriting.c: Include stdio-impl.h.
54995         (fwriting): Remove redundant #defines.
54996         * modules/fbufmode (Files): Add lib/stdio-impl.h.
54997         * modules/fflush (Files): Likewise.
54998         * modules/fpurge (Files): Likewise.
54999         * modules/freadable (Files): Likewise.
55000         * modules/freadahead (Files): Likewise.
55001         * modules/freading (Files): Likewise.
55002         * modules/freadptr (Files): Likewise.
55003         * modules/freadseek (Files): Likewise.
55004         * modules/fseeko (Files): Likewise.
55005         * modules/fseterr (Files): Likewise.
55006         * modules/fwritable (Files): Likewise.
55007         * modules/fwriting (Files): Likewise.
55008
55009 2008-04-26  Bruno Haible  <bruno@clisp.org>
55010
55011         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
55012         restore_seek_optimization, update_fpos_cache): New functions, extracted
55013         from rpl_fflush.
55014         (rpl_fflush): Use them.
55015         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
55016         (gl_REPLACE_FFLUSH): Use it.
55017
55018 2008-04-26  Bruno Haible  <bruno@clisp.org>
55019
55020         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
55021         on Solaris.
55022         * tests/test-xstrtoimax.sh: Likewise.
55023         * tests/test-xstrtoumax.sh: Likewise.
55024         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55025
55026 2008-04-26  Bruno Haible  <bruno@clisp.org>
55027
55028         * modules/memchr-tests: New file.
55029         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
55030
55031 2008-04-26  Eric Blake  <ebb9@byu.net>
55032             Bruno Haible  <bruno@clisp.org>
55033
55034         * lib/memchr.c: Include intprops.h.
55035         (__memchr): Optimize parallel detection of matching bytes. Rename local
55036         variables. Add explanatory comments.
55037
55038 2008-04-26  Bruno Haible  <bruno@clisp.org>
55039
55040         Fix module 'memchr', broken since 2000-10-28.
55041         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
55042
55043 2008-04-26  Bruno Haible  <bruno@clisp.org>
55044
55045         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
55046         comments.
55047
55048 2008-04-25  Eric Blake  <ebb9@byu.net>
55049
55050         Use native fstatat on cygwin 1.7.0.
55051         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
55052         first.
55053
55054 2008-04-23  Eric Blake  <ebb9@byu.net>
55055
55056         Improve memchr2 performance.
55057         * lib/memchr2.c (memchr2): Further optimize parallel detection of
55058         NUL bytes.
55059         * modules/memchr2 (Depends-on): Use intprops.h.
55060
55061 2008-04-23  Simon Josefsson  <simon@josefsson.org>
55062
55063         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
55064         an inline function instead of a CPP macro.  Patch by Ben Pfaff
55065         <blp@cs.stanford.edu>.
55066
55067 2008-04-23  Simon Josefsson  <simon@josefsson.org>
55068
55069         * lib/arpa_inet.in.h: New file.
55070
55071         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
55072         (Makefile.am): Sed in substitute header file.
55073
55074         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
55075         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
55076
55077         * modules/inet_ntop (configure.ac): Use
55078         gl_ARPA_INET_MODULE_INDICATOR.
55079
55080         * modules/inet_pton (configure.ac): Use
55081         gl_ARPA_INET_MODULE_INDICATOR.
55082
55083 2008-04-22  Jim Meyering  <meyering@redhat.com>
55084
55085         * modules/verify (License): Re-license as LGPLv2+.
55086
55087 2008-04-22  Simon Josefsson  <simon@josefsson.org>
55088
55089         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
55090         parameter to void* as per POSIX standard (MinGW uses char*).
55091
55092 2008-04-21  Bruno Haible  <bruno@clisp.org>
55093
55094         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
55095         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
55096         Define to replacements if REPLACE_ISWCNTRL is 1.
55097         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
55098         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
55099         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
55100         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
55101         what it fixes.
55102         * doc/posix-functions/iswalpha.texi: Likewise.
55103         * doc/posix-functions/iswblank.texi: Likewise.
55104         * doc/posix-functions/iswcntrl.texi: Likewise.
55105         * doc/posix-functions/iswdigit.texi: Likewise.
55106         * doc/posix-functions/iswgraph.texi: Likewise.
55107         * doc/posix-functions/iswlower.texi: Likewise.
55108         * doc/posix-functions/iswprint.texi: Likewise.
55109         * doc/posix-functions/iswpunct.texi: Likewise.
55110         * doc/posix-functions/iswspace.texi: Likewise.
55111         * doc/posix-functions/iswupper.texi: Likewise.
55112         * doc/posix-functions/iswxdigit.texi: Likewise.
55113         Reported by Alain Guibert.
55114
55115 2008-04-21  Bruno Haible  <bruno@clisp.org>
55116
55117         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
55118         Patch by Alain Guibert.
55119
55120 2008-04-21  Bruno Haible  <bruno@clisp.org>
55121
55122         Fix test failures on mingw.
55123         * tests/test-xstrtol.c (print_no_progname): New function.
55124         (main): Install it in error_print_progname hook.
55125         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
55126         * tests/test-xstrtoimax.sh: Likewise.
55127         * tests/test-xstrtoumax.sh: Likewise.
55128
55129 2008-04-21  Bruno Haible  <bruno@clisp.org>
55130
55131         Fix test failure on mingw.
55132         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
55133
55134 2008-04-21  Bruno Haible  <bruno@clisp.org>
55135
55136         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
55137         Actually assign a value.
55138
55139 2008-04-20  Bruno Haible  <bruno@clisp.org>
55140
55141         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
55142         take 2.
55143         * lib/canonicalize.c (canonicalize_file_name): Elide if the
55144         'canonicalize-lgpl' module is also used.
55145         * lib/canonicalize-lgpl.c: Undo last change.
55146         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
55147
55148 2008-04-20  Bruno Haible  <bruno@clisp.org>
55149
55150         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
55151         config.h. Provide _mkdir based fallback for mingw.
55152         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
55153         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
55154         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
55155         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
55156         rather than defining mkdir in config.h.
55157         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
55158         (gl_SYS_STAT_H_DEFAULTS): New macro.
55159         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
55160         HAVE_IO_H any more.
55161         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
55162         HAVE_DECL_MKDIR and HAVE_IO_H.
55163
55164 2008-04-20  Bruno Haible  <bruno@clisp.org>
55165
55166         * lib/isapipe.c: Port to native Windows platforms.
55167
55168 2008-04-20  Bruno Haible  <bruno@clisp.org>
55169
55170         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
55171
55172 2008-04-21  Eric Blake  <ebb9@byu.net>
55173
55174         Work around preprocessors that don't handle UINTMAX_MAX.
55175         * lib/memchr2.c (memchr2): Avoid embedded #if.
55176         Reported by Alain Guibert, fix suggested by Bruno Haible.
55177
55178 2008-04-21  Simon Josefsson  <simon@josefsson.org>
55179
55180         * doc/posix-functions/strftime.texi (strftime): Explain better
55181         Windows incompatibility.  Suggested by Micah Cowan
55182         <micah@cowan.name>.
55183
55184 2008-04-20  Bruno Haible  <bruno@clisp.org>
55185
55186         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
55187         unistr/u8-mblen.
55188
55189 2008-04-20  Bruno Haible  <bruno@clisp.org>
55190
55191         Fix test failure on platforms with non-GNU iconv.
55192         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
55193         (U_TO_U8): Use it, rather than u16_to_u8.
55194         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
55195         units at the end of the input string.
55196         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
55197
55198 2008-04-20  Bruno Haible  <bruno@clisp.org>
55199
55200         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
55201         when the resulting length is 0.
55202         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
55203
55204 2008-04-20  Bruno Haible  <bruno@clisp.org>
55205
55206         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
55207         works.
55208         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
55209
55210 2008-04-20  Bruno Haible  <bruno@clisp.org>
55211
55212         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
55213         * modules/tsearch-tests (configure.ac): Test for initstate function.
55214
55215 2008-04-20  Bruno Haible  <bruno@clisp.org>
55216
55217         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
55218         for nlink_t if missing.
55219         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
55220
55221 2008-04-19  Bruno Haible  <bruno@clisp.org>
55222
55223         Work around snprintf bug on Linux libc5.
55224         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
55225         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
55226         gl_SNPRINTF_SIZE1.
55227         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55228         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
55229         that test failed.
55230         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
55231         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
55232         * modules/snprintf (Files): Add m4/printf.m4.
55233         * modules/vsnprintf (Files): Likewise.
55234         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
55235         * doc/posix-functions/vsnprintf.texi: Likewise.
55236
55237 2008-04-19  Bruno Haible  <bruno@clisp.org>
55238
55239         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
55240         from 0.0058 to less than 10^-7.
55241
55242 2008-04-19  Bruno Haible  <bruno@clisp.org>
55243
55244         Fix rounding when a precision is given.
55245         * lib/vasnprintf.c (is_borderline): New function.
55246         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
55247         9...9x.
55248         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
55249         %e, %g.
55250         * tests/test-vasprintf-posix.c (test_function): Likewise.
55251         * tests/test-snprintf-posix.h (test_function): Likewise.
55252         * tests/test-sprintf-posix.h (test_function): Likewise.
55253         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
55254         * tests/test-printf-posix.h (test_function): Likewise.
55255         * tests/test-printf-posix.output: Update.
55256         Reported by John Darrington <john@darrington.wattle.id.au> via
55257         Ben Pfaff <blp@cs.stanford.edu>.
55258
55259 2008-04-18  Simon Josefsson  <simon@josefsson.org>
55260
55261         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
55262         Suggested by Bruno Haible <bruno@clisp.org>.
55263
55264 2008-04-17  Bruno Haible  <bruno@clisp.org>
55265
55266         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
55267         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
55268         implementation.
55269         Patch by Bruce Merry <bmerry@gmail.com>.
55270
55271 2008-04-17  Simon Josefsson  <simon@josefsson.org>
55272
55273         * doc/posix-functions/strftime.texi (strftime): Mention that %e
55274         doesn't work under Windows.
55275
55276 2008-04-16  Bruno Haible  <bruno@clisp.org>
55277
55278         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
55279         New macros.
55280         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
55281         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
55282         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
55283         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
55284         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
55285         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
55286         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
55287         macros.
55288         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
55289         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
55290         Northern Sotho, Uighur.
55291
55292 2008-04-16  Bruno Haible  <bruno@clisp.org>
55293
55294         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
55295         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
55296         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
55297         Reported by Daniel Bergström <daniel@octocode.com>.
55298
55299 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
55300             Bruno Haible  <bruno@clisp.org>
55301
55302         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
55303         function.
55304         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
55305         New functions, mostly extracted from gl_locale_name_default.
55306         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
55307
55308 2008-04-16  Eric Blake  <ebb9@byu.net>
55309
55310         Adjust strtod detection to catch glibc 2.7 bug.
55311         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
55312         Reported by John Gatewood Ham.
55313
55314 2008-04-16  Bruno Haible  <bruno@clisp.org>
55315
55316         Add tentative support for Linux libc5.
55317         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
55318         * lib/fpurge.c (fpurge): Likewise.
55319         * lib/freadable.c (freadable): Likewise.
55320         * lib/freadahead.c (freadahead): Likewise.
55321         * lib/freading.c (freading): Likewise.
55322         * lib/freadptr.c (freadptr): Likewise.
55323         * lib/freadseek.c (freadptrinc): Likewise.
55324         * lib/fseeko.c (rpl_fseeko): Likewise.
55325         * lib/fseterr.c (fseterr): Likewise.
55326         * lib/fwritable.c (fwritable): Likewise.
55327         * lib/fwriting.c (fwriting): Likewise.
55328         Reported by Alain Guibert <alguibert+bts@free.fr>.
55329
55330 2008-04-15  Bruno Haible  <bruno@clisp.org>
55331
55332         * modules/mathl (configure.ac): Define module indicator.
55333
55334 2008-04-15  Bruno Haible  <bruno@clisp.org>
55335
55336         * lib/logl.c (logl): Remove unused variables.
55337
55338 2008-04-15  Bruno Haible  <bruno@clisp.org>
55339
55340         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
55341         fails.
55342
55343 2008-04-15  Bruno Haible  <bruno@clisp.org>
55344
55345         * lib/trim.c (trim2): Fix argument of isspace() macro.
55346
55347 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
55348
55349         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
55350         to 0.
55351         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
55352
55353 2008-04-14  Bruno Haible  <bruno@clisp.org>
55354
55355         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
55356         AC_LANG_PROGRAM argument.
55357         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
55358         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
55359         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
55360         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
55361         * m4/math_h.m4 (gl_MATH_H): Likewise.
55362         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
55363         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
55364         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
55365         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
55366         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
55367         * m4/regex.m4 (gl_REGEX): Likewise.
55368         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
55369         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
55370         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55371         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
55372         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
55373         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55374         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
55375         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
55376
55377 2008-04-14  Jim Meyering  <meyering@redhat.com>
55378
55379         test-strtod: fix typos: s/abs/fabs/
55380         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
55381
55382 2008-04-13  Bruno Haible  <bruno@clisp.org>
55383
55384         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
55385         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
55386         module is also used and while not building the reloc-wrapper.
55387
55388 2008-04-13  Bruno Haible  <bruno@clisp.org>
55389
55390         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
55391
55392 2008-04-13  Bruno Haible  <bruno@clisp.org>
55393
55394         Fix AIX compilation failure introduced on 2008-04-02.
55395         * tests/test-frexp.c (exp): Undefine before redefining.
55396         * tests/test-frexpl.c (exp): Likewise.
55397
55398 2008-04-13  Bruno Haible  <bruno@clisp.org>
55399
55400         Work around a HP-UX stdio bug.
55401         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
55402         * tests/test-ftello.c (main): Likewise.
55403         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
55404         * doc/posix-functions/ftello.texi: Likewise.
55405
55406 2008-04-13  Bruno Haible  <bruno@clisp.org>
55407
55408         Make test-signbit pass on HP-UX/hppa.
55409         * tests/test-signbit.c (minus_zerol): New variable.
55410         (test_signbitl): Use it.
55411
55412 2008-04-13  Bruno Haible  <bruno@clisp.org>
55413
55414         Make truncl work on OSF/1 4.0.
55415         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
55416         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
55417         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
55418         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
55419         HAVE_DECL_TRUNCL.
55420         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
55421         HAVE_DECL_TRUNCL.
55422         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
55423
55424 2008-04-13  Bruno Haible  <bruno@clisp.org>
55425
55426         * lib/unictype.h: Remove trailing comma from enumeration definitions.
55427
55428 2008-04-13  Bruno Haible  <bruno@clisp.org>
55429
55430         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
55431         expression, so as to avoid HP-UX 11 cc compiler bug.
55432
55433 2008-04-13  Bruno Haible  <bruno@clisp.org>
55434
55435         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
55436
55437 2008-04-13  Bruno Haible  <bruno@clisp.org>
55438
55439         * lib/git-merge-changelog.c: Remove empty declaration outside of
55440         functions.
55441
55442 2008-04-13  Bruno Haible  <bruno@clisp.org>
55443
55444         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
55445
55446 2008-04-13  Bruno Haible  <bruno@clisp.org>
55447
55448         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
55449         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
55450         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
55451         also if it exists but lacks definitions of the SHUT_* macros.
55452         * modules/sys_socket (Description): Update.
55453         Reported by Elbert Pol <e.pol@chello.nl>.
55454
55455 2008-04-13  Bruno Haible  <bruno@clisp.org>
55456
55457         * lib/localcharset.c (OS2): Don't redefine if already defined.
55458         Reported by Elbert Pol <e.pol@chello.nl>.
55459
55460 2008-04-13  Bruno Haible  <bruno@clisp.org>
55461
55462         * lib/binary-io.h [__EMX__]: Include <io.h>.
55463         Reported by Elbert Pol <e.pol@chello.nl>.
55464
55465 2008-04-12  Bruno Haible  <bruno@clisp.org>
55466
55467         * lib/fpucw.h: Enable the definitions also for x86_64.
55468         Needed for NetBSD/x86_64.
55469         Reported by Thomas Klausner <tk@giga.or.at>.
55470
55471 2008-04-12  Bruno Haible  <bruno@clisp.org>
55472
55473         * tests/test-strtod.c: Include isnand.h.
55474         (main): Use isnand instead of isnan.
55475         Reported by Jim Meyering.
55476
55477 2008-04-12  Bruno Haible  <bruno@clisp.org>
55478
55479         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
55480         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
55481
55482 2008-04-12  Jim Meyering  <meyering@redhat.com>
55483
55484         * m4/math_h.m4 (gl_MATH_H): Fix typos.
55485
55486 2008-04-12  Bruno Haible  <bruno@clisp.org>
55487
55488         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
55489         Reported by Elbert Pol <e.pol@chello.nl>.
55490
55491 2008-04-12  Eric Blake  <ebb9@byu.net>
55492
55493         Work around Solaris 10 math.h bug.
55494         * m4/math_h.m4 (gl_MATH_H): Check for bug.
55495         (gl_MATH_H_DEFAULTS): Set up default.
55496         * modules/math (Makefile.am): Replace new indicators.
55497         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
55498         * tests/test-math.c (main): Test this.
55499         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
55500         * doc/posix-headers/math.texi (math.h): Mention bug.
55501         Reported by Nelson H. F. Beebe and Jim Meyering.
55502
55503 2008-04-11  Bruno Haible  <bruno@clisp.org>
55504
55505         Adapt to future versions of Apple GCC.
55506         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
55507         Reported by Peter O'Gorman <peter@pogma.com>.
55508
55509 2008-04-11  Bruno Haible  <bruno@clisp.org>
55510
55511         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
55512
55513 2008-04-11  Bruno Haible  <bruno@clisp.org>
55514
55515         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
55516
55517         * modules/getaddrinfo-tests (Makefile.am): Define
55518         test_getaddrinfo_LDADD.
55519
55520 2008-04-11  Bruno Haible  <bruno@clisp.org>
55521
55522         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
55523         (init): Fix syntax error.
55524         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
55525         is declared.
55526
55527 2008-04-11  Bruno Haible  <bruno@clisp.org>
55528
55529         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
55530         * modules/glob (Depends-on): Add stdbool.
55531
55532 2008-04-11  Bruno Haible  <bruno@clisp.org>
55533
55534         * lib/trim.c: Include <string.h>.
55535
55536 2008-04-11  Eric Blake  <ebb9@byu.net>
55537
55538         Avoid compile failure on OS/2.
55539         * lib/regex_internal.h (internal_function): Disable optimization
55540         on OS/2 (__EMX__), where it caused compiler error.
55541         Reported by Elbert Pol.
55542
55543 2008-04-11  Bruno Haible  <bruno@clisp.org>
55544
55545         Flush the standard error stream before aborting. Needed on mingw.
55546         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
55547         * tests/test-array_list.c (ASSERT): Likewise.
55548         * tests/test-array_oset.c (ASSERT): Likewise.
55549         * tests/test-avltree_list.c (ASSERT): Likewise.
55550         * tests/test-avltree_oset.c (ASSERT): Likewise.
55551         * tests/test-avltreehash_list.c (ASSERT): Likewise.
55552         * tests/test-binary-io.c (ASSERT): Likewise.
55553         * tests/test-byteswap.c (ASSERT): Likewise.
55554         * tests/test-c-ctype.c (ASSERT): Likewise.
55555         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
55556         * tests/test-c-strcasestr.c (ASSERT): Likewise.
55557         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
55558         * tests/test-c-strstr.c (ASSERT): Likewise.
55559         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
55560         * tests/test-canonicalize.c (ASSERT): Likewise.
55561         * tests/test-carray_list.c (ASSERT): Likewise.
55562         * tests/test-ceilf1.c (ASSERT): Likewise.
55563         * tests/test-ceilf2.c (ASSERT): Likewise.
55564         * tests/test-ceill.c (ASSERT): Likewise.
55565         * tests/test-count-one-bits.c (ASSERT): Likewise.
55566         * tests/test-fbufmode.c (ASSERT): Likewise.
55567         * tests/test-fflush2.c (ASSERT): Likewise.
55568         * tests/test-floorf1.c (ASSERT): Likewise.
55569         * tests/test-floorf2.c (ASSERT): Likewise.
55570         * tests/test-floorl.c (ASSERT): Likewise.
55571         * tests/test-fopen.c (ASSERT): Likewise.
55572         * tests/test-fpending.c (ASSERT): Likewise.
55573         * tests/test-fprintf-posix.c (ASSERT): Likewise.
55574         * tests/test-fpurge.c (ASSERT): Likewise.
55575         * tests/test-freadable.c (ASSERT): Likewise.
55576         * tests/test-freadahead.c (ASSERT): Likewise.
55577         * tests/test-freading.c (ASSERT): Likewise.
55578         * tests/test-freadptr.c (ASSERT): Likewise.
55579         * tests/test-freadptr2.c (ASSERT): Likewise.
55580         * tests/test-freadseek.c (ASSERT): Likewise.
55581         * tests/test-freopen.c (ASSERT): Likewise.
55582         * tests/test-frexp.c (ASSERT): Likewise.
55583         * tests/test-frexpl.c (ASSERT): Likewise.
55584         * tests/test-fseek.c (ASSERT): Likewise.
55585         * tests/test-fseeko.c (ASSERT): Likewise.
55586         * tests/test-fstrcmp.c (ASSERT): Likewise.
55587         * tests/test-ftell.c (ASSERT): Likewise.
55588         * tests/test-ftello.c (ASSERT): Likewise.
55589         * tests/test-func.c (ASSERT): Likewise.
55590         * tests/test-fwritable.c (ASSERT): Likewise.
55591         * tests/test-fwriting.c (ASSERT): Likewise.
55592         * tests/test-getdelim.c (ASSERT): Likewise.
55593         * tests/test-getline.c (ASSERT): Likewise.
55594         * tests/test-i-ring.c (ASSERT): Likewise.
55595         * tests/test-iconv-utf.c (ASSERT): Likewise.
55596         * tests/test-iconv.c (ASSERT): Likewise.
55597         * tests/test-isfinite.c (ASSERT): Likewise.
55598         * tests/test-isnand.c (ASSERT): Likewise.
55599         * tests/test-isnanf.c (ASSERT): Likewise.
55600         * tests/test-isnanl.h (ASSERT): Likewise.
55601         * tests/test-ldexpl.c (ASSERT): Likewise.
55602         * tests/test-linked_list.c (ASSERT): Likewise.
55603         * tests/test-linkedhash_list.c (ASSERT): Likewise.
55604         * tests/test-localename.c (ASSERT): Likewise.
55605         * tests/test-lseek.c (ASSERT): Likewise.
55606         * tests/test-mbscasecmp.c (ASSERT): Likewise.
55607         * tests/test-mbscasestr1.c (ASSERT): Likewise.
55608         * tests/test-mbscasestr2.c (ASSERT): Likewise.
55609         * tests/test-mbscasestr3.c (ASSERT): Likewise.
55610         * tests/test-mbscasestr4.c (ASSERT): Likewise.
55611         * tests/test-mbschr.c (ASSERT): Likewise.
55612         * tests/test-mbscspn.c (ASSERT): Likewise.
55613         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
55614         * tests/test-mbspbrk.c (ASSERT): Likewise.
55615         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
55616         * tests/test-mbsrchr.c (ASSERT): Likewise.
55617         * tests/test-mbsspn.c (ASSERT): Likewise.
55618         * tests/test-mbsstr1.c (ASSERT): Likewise.
55619         * tests/test-mbsstr2.c (ASSERT): Likewise.
55620         * tests/test-mbsstr3.c (ASSERT): Likewise.
55621         * tests/test-memchr2.c (ASSERT): Likewise.
55622         * tests/test-memmem.c (ASSERT): Likewise.
55623         * tests/test-open.c (ASSERT): Likewise.
55624         * tests/test-printf-frexp.c (ASSERT): Likewise.
55625         * tests/test-printf-frexpl.c (ASSERT): Likewise.
55626         * tests/test-printf-posix.c (ASSERT): Likewise.
55627         * tests/test-quotearg.c (ASSERT): Likewise.
55628         * tests/test-rbtree_list.c (ASSERT): Likewise.
55629         * tests/test-rbtree_oset.c (ASSERT): Likewise.
55630         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
55631         * tests/test-round1.c (ASSERT): Likewise.
55632         * tests/test-roundf1.c (ASSERT): Likewise.
55633         * tests/test-roundl.c (ASSERT): Likewise.
55634         * tests/test-signbit.c (ASSERT): Likewise.
55635         * tests/test-sleep.c (ASSERT): Likewise.
55636         * tests/test-snprintf-posix.c (ASSERT): Likewise.
55637         * tests/test-snprintf.c (ASSERT): Likewise.
55638         * tests/test-sprintf-posix.c (ASSERT): Likewise.
55639         * tests/test-stat-time.c (ASSERT): Likewise.
55640         * tests/test-strcasestr.c (ASSERT): Likewise.
55641         * tests/test-strerror.c (ASSERT): Likewise.
55642         * tests/test-striconv.c (ASSERT): Likewise.
55643         * tests/test-striconveh.c (ASSERT): Likewise.
55644         * tests/test-striconveha.c (ASSERT): Likewise.
55645         * tests/test-strsignal.c (ASSERT): Likewise.
55646         * tests/test-strstr.c (ASSERT): Likewise.
55647         * tests/test-strtod.c (ASSERT): Likewise.
55648         * tests/test-trunc1.c (ASSERT): Likewise.
55649         * tests/test-trunc2.c (ASSERT): Likewise.
55650         * tests/test-truncf1.c (ASSERT): Likewise.
55651         * tests/test-truncf2.c (ASSERT): Likewise.
55652         * tests/test-truncl.c (ASSERT): Likewise.
55653         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
55654         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
55655         * tests/test-vasnprintf.c (ASSERT): Likewise.
55656         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
55657         * tests/test-vasprintf.c (ASSERT): Likewise.
55658         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
55659         * tests/test-vprintf-posix.c (ASSERT): Likewise.
55660         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
55661         * tests/test-vsnprintf.c (ASSERT): Likewise.
55662         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
55663         * tests/test-wcwidth.c (ASSERT): Likewise.
55664         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
55665         * tests/test-xprintf-posix.c (ASSERT): Likewise.
55666         * tests/test-xvasprintf.c (ASSERT): Likewise.
55667         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
55668         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
55669         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
55670         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
55671         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
55672         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
55673         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
55674         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
55675         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
55676         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
55677         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
55678         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
55679         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
55680         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
55681         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
55682         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
55683         * tests/unictype/test-block_list.c (ASSERT): Likewise.
55684         * tests/unictype/test-block_of.c (ASSERT): Likewise.
55685         * tests/unictype/test-block_test.c (ASSERT): Likewise.
55686         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
55687         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
55688         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
55689         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
55690         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
55691         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
55692         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
55693         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
55694         * tests/unictype/test-combining.c (ASSERT): Likewise.
55695         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
55696         * tests/unictype/test-digit.c (ASSERT): Likewise.
55697         * tests/unictype/test-mirror.c (ASSERT): Likewise.
55698         * tests/unictype/test-numeric.c (ASSERT): Likewise.
55699         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
55700         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
55701         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
55702         * tests/unictype/test-scripts.c (ASSERT): Likewise.
55703         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
55704         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
55705         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
55706         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
55707         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
55708         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
55709         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
55710         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
55711         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
55712         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
55713         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
55714         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
55715         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
55716         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
55717         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
55718         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
55719         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
55720         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
55721         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
55722         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
55723         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
55724         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
55725         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
55726         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
55727         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
55728         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
55729         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
55730         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
55731         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
55732         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
55733         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
55734         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
55735         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
55736         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
55737         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
55738         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
55739         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
55740         Reported by Eric Blake.
55741
55742 2008-04-11  Bruno Haible  <bruno@clisp.org>
55743
55744         * lib/wchar.in.h: Tweak comment.
55745
55746 2008-04-11  Bruno Haible  <bruno@clisp.org>
55747
55748         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
55749         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
55750         gl_COMMON.
55751         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
55752
55753 2008-04-11  Bruno Haible  <bruno@clisp.org>
55754
55755         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
55756
55757 2008-04-11  Simon Josefsson  <simon@josefsson.org>
55758
55759         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
55760         of attempting to use non-existing /dev/*random.  Based on patch
55761         from Adam Strzelecki <ono@java.pl> in
55762         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
55763
55764 2008-04-08  Bruno Haible  <bruno@clisp.org>
55765
55766         Add tentative support for emx+gcc.
55767         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
55768         * lib/fpurge.c (fpurge): Likewise.
55769         * lib/freadable.c (freadable): Likewise.
55770         * lib/freadahead.c (freadahead): Likewise.
55771         * lib/freading.c (freading): Likewise.
55772         * lib/freadptr.c (freadptr): Likewise.
55773         * lib/freadseek.c (freadptrinc): Likewise.
55774         * lib/fseeko.c (rpl_fseeko): Likewise.
55775         * lib/fseterr.c (fseterr): Likewise.
55776         * lib/fwritable.c (fwritable): Likewise.
55777         * lib/fwriting.c (fwriting): Likewise.
55778         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
55779
55780 2008-04-09  Eric Blake  <ebb9@byu.net>
55781
55782         Avoid some autoconf warnings.
55783         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
55784         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
55785         * m4/afs.m4 (gl_AFS): Likewise.
55786         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
55787         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
55788         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
55789         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
55790         (gl_INTEGER_TYPE_SUFFIX): Likewise.
55791         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
55792         (AC_CHECK_DECLS_ONCE): Likewise.
55793         Rename file...
55794         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
55795         gnulib-tool requires autoconf 2.59 or better.
55796         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
55797
55798 2008-04-08  Eric Blake  <ebb9@byu.net>
55799
55800         Use 'git describe --match' if present (added in git 1.5.5).
55801         * build-aux/git-version-gen: Limit result to tags that match 'v*'
55802         if possible.
55803
55804 2008-04-08  Bruno Haible  <bruno@clisp.org>
55805
55806         Add tentative support for OpenServer.
55807         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
55808         _ptr, _cnt.
55809         * lib/fpurge.c (fpurge): Likewise.
55810         * lib/freadable.c (freadable): Likewise.
55811         * lib/freadahead.c (freadahead): Likewise.
55812         * lib/freading.c (freading): Likewise.
55813         * lib/freadptr.c (freadptr): Likewise.
55814         * lib/freadseek.c (freadptrinc): Likewise.
55815         * lib/fseeko.c (rpl_fseeko): Likewise.
55816         * lib/fseterr.c (fseterr): Likewise.
55817         * lib/fwritable.c (fwritable): Likewise.
55818         * lib/fwriting.c (fwriting): Likewise.
55819         Reported by Roger Cornelius <rac@tenzing.org> and
55820         Brian K. White <brian@aljex.com>.
55821
55822 2008-04-06  Jim Meyering  <meyering@redhat.com>
55823
55824         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
55825
55826 2008-04-06  Bruno Haible  <bruno@clisp.org>
55827
55828         Avoid possible error with non-ASCII bytes in UTF-8 locales.
55829         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
55830         * tests/test-printf-posix.sh: Likewise.
55831         * tests/test-vfprintf-posix.sh: Likewise.
55832         * tests/test-vprintf-posix.sh: Likewise.
55833         * tests/test-xprintf-posix.sh: Likewise.
55834
55835 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55836
55837         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
55838         hide error from 'ls', needed on OS/2.
55839         Report by Elbert Pol <elbert.pol@gmail.com>.
55840
55841 2008-04-04  Eric Blake  <ebb9@byu.net>
55842
55843         Make test-fseeko.c failures meaningful.
55844         * tests/test-fseeko.c: Print line number on failure.
55845         * tests/test-fseek.c: Likewise.
55846         Reported by Nelson H. F. Beebe.
55847
55848         Improve strtod bug detection check.
55849         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
55850         required for Solaris 10.
55851         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
55852
55853 2008-04-04  Bruno Haible  <bruno@clisp.org>
55854
55855         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
55856         by m4/setenv.m4.
55857
55858 2008-04-03  Eric Blake  <ebb9@byu.net>
55859
55860         Ensure sane .version contents.
55861         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
55862         version string.
55863         * build-aux/git-version-gen: Improve documentation.
55864
55865         Make GNU make output nicer.
55866         * top/GNUmakefile [!_have-Makefile]: Add dependency on
55867         MAKECMDGOALS to enforce message for all command line targets.  Set
55868         srcdir for use in maint.mk.
55869
55870         Another maintainer tweak.
55871         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
55872         a target that regenerates version.
55873
55874 2008-04-03  Jim Meyering  <meyering@redhat.com>
55875
55876         vc-list-files: don't cause coreutils "make po-check" failure
55877         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
55878
55879 2008-04-03  Eric Blake  <ebb9@byu.net>
55880
55881         Allow VPATH usage of vc-list-files.
55882         * build-aux/vc-list-files (scriptversion): Add timestamp.
55883         (options): Add --help, --version, -C.
55884         (CVS): Support installed cvsu.
55885
55886 2008-04-02  Bruno Haible  <bruno@clisp.org>
55887
55888         Avoid some "statement with no effect" warnings from gcc.
55889         * tests/test-wctype.c (main): Explicitly ignore unused values.
55890         Reported by Jim Meyering.
55891
55892 2008-04-02  Jim Meyering  <meyering@redhat.com>
55893
55894         Avoid some warnings from "gcc -Wshadow".
55895         * tests/test-frexp.c (exp): Define to a different identifier.
55896         * tests/test-frexpl.c (exp): Likewise.
55897
55898 2008-04-03  Jim Meyering  <meyering@redhat.com>
55899
55900         bootstrap: remove dangling *.[ch] symlinks from lib
55901         * build-aux/bootstrap [dangling symlink removal]: Move find's
55902         -depth option to precede all others, to avoid a warning.
55903         Remove *.[ch] files too, and from "$source_base" (usually lib/).
55904
55905 2008-04-02  Bruno Haible  <bruno@clisp.org>
55906
55907         Avoid some warnings from "gcc -Wshadow".
55908         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
55909         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
55910         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
55911         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
55912         Reported by Jim Meyering.
55913
55914 2008-04-01  Bruno Haible  <bruno@clisp.org>
55915
55916         Fix test to work on IRIX 6.5 with cc.
55917         * tests/test-math.c (numeric_equal): New function.
55918         (main): Use it.
55919
55920 2008-04-01  Bruno Haible  <bruno@clisp.org>
55921
55922         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
55923
55924 2008-04-01  Bruno Haible  <bruno@clisp.org>
55925
55926         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
55927         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55928         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
55929         (Depends-on): Remove math.
55930
55931         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
55932         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55933         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
55934         (Depends-on): Remove math.
55935
55936         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
55937         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55938         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
55939         (Depends-on): Remove math.
55940         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
55941         (Depends-on): Remove math.
55942
55943         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
55944         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55945         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
55946         (Depends-on): Remove math.
55947         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
55948         (Depends-on): Remove math.
55949
55950         * tests/test-round1.c: Include nan.h.
55951         (main): Use NaNd instead of NAN.
55952         * modules/round-tests (Files): Add tests/nan.h.
55953
55954         * tests/test-trunc1.c: Include nan.h.
55955         (main): Use NaNd instead of NAN.
55956         * modules/trunc-tests (Files): Add tests/nan.h.
55957
55958         * tests/test-roundf1.c: Include nan.h.
55959         (main): Use NaNf instead of NAN.
55960         * modules/roundf-tests (Files): Add tests/nan.h.
55961
55962         * tests/test-truncf1.c: Include nan.h.
55963         (main): Use NaNf instead of NAN.
55964         * modules/truncf-tests (Files): Add tests/nan.h.
55965
55966         * tests/test-ceilf1.c: Include nan.h.
55967         (main): Use NaNf instead of NAN.
55968         * modules/ceilf-tests (Files): Add tests/nan.h.
55969
55970         * tests/test-floorf1.c: Include nan.h.
55971         (main): Use NaNf instead of NAN.
55972         * modules/floorf-tests (Files): Add tests/nan.h.
55973
55974         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
55975         (main): Use NaNf instead of NAN.
55976         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
55977
55978         * tests/test-isnand.c: Include nan.h instead of <math.h>.
55979         (main): Use NaNd instead of NAN.
55980         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
55981
55982         * tests/test-frexp.c: Include nan.h.
55983         (main): Use NaNd instead of NAN.
55984         * modules/frexp-tests (Files): Add tests/nan.h.
55985
55986         * lib/isnan.c: Don't include <math.h>.
55987         (FUNC): Don't use NAN macro.
55988         * modules/isnand-nolibm (Depends-on): Remove math.
55989         * modules/isnanf-nolibm (Depends-on): Remove math.
55990         * modules/isnanl (Depends-on): Remove math.
55991         * modules/isnanl-nolibm (Depends-on): Remove math.
55992
55993         * tests/nan.h: New file.
55994
55995 2008-04-01  Eric Blake  <ebb9@byu.net>
55996
55997         Fix typos.
55998         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
55999         values to be the right type.
56000
56001         For now, cater to gnulib strtod inaccuracies.
56002         * tests/test-strtod.c (main): Allow 1-ulp error on expected
56003         fractional results.  While not as nice from a QoI perspective, it
56004         is a quicker patch than correctly implementing decimal to binary
56005         rounding.
56006
56007 2008-03-31  Eric Blake  <ebb9@byu.net>
56008
56009         Guarantee a definition of NAN.
56010         * lib/math.in.h (NAN): Define if missing.
56011         * tests/test-math.c (main): Test it.
56012         * doc/posix-headers/math.texi (math.h): Document this.
56013         * lib/isnan.c (rpl_isnand): Use it.
56014         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
56015         * tests/test-floorf1.c (NaN): Likewise.
56016         * tests/test-frexp.c (NaN): Likewise.
56017         * tests/test-isnand.c (NaN): Likewise.
56018         * tests/test-isnanf.c (NaN): Likewise.
56019         * tests/test-round1.c (NaN): Likewise.
56020         * tests/test-roundf1.c (NaN): Likewise.
56021         * tests/test-snprintf-posix.h (NaN): Likewise.
56022         * tests/test-sprintf-posix.h (NaN): Likewise.
56023         * tests/test-trunc1.c (NaN): Likewise.
56024         * tests/test-truncf1.c (NaN): Likewise.
56025         * tests/test-vasnprintf-posix.c (NaN): Likewise.
56026         * tests/test-vasprintf-posix.c (NaN): Likewise.
56027         * modules/isnand-nolibm (Depends-on): Add math.
56028         * modules/isnanf-nolibm (Depends-on): Likewise.
56029         * modules/isnanl (Depends-on): Likewise.
56030         * modules/isnanl-nolibm (Depends-on): Likewise.
56031         * modules/snprintf-posix-tests (Depends-on): Likewise.
56032         * modules/sprintf-posix-tests (Depends-on): Likewise.
56033         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
56034         * modules/vsprintf-posix-tests (Depends-on): Likewise.
56035         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
56036         * modules/vasprintf-posix-tests (Depends-on): Likewise.
56037
56038 2008-03-31  Bruno Haible  <bruno@clisp.org>
56039
56040         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
56041         * doc/posix-functions/strtod.texi: Likewise.
56042
56043 2008-03-31  Bruno Haible  <bruno@clisp.org>
56044
56045         * tests/test-strtod.c (main): Don't use C99 syntax.
56046
56047 2008-03-31  Bruno Haible  <bruno@clisp.org>
56048
56049         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
56050         Reported by Eric Blake.
56051
56052 2008-03-31  Jim Meyering  <meyering@redhat.com>
56053
56054         Don't compare actual signbit return values.
56055         * tests/test-strtod.c (main): Rather, compare only their
56056         zero/non-zero nature.
56057
56058 2008-03-31  Eric Blake  <ebb9@byu.net>
56059
56060         More strtod documentation.
56061         * doc/posix-functions/strtod.texi (strtod): Interpret more test
56062         failures as distinct bugs.
56063
56064 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
56065
56066         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
56067         Problem reported by Erik Benada in
56068         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
56069
56070 2008-03-30  Bruno Haible  <bruno@clisp.org>
56071
56072         * tests/test-strtod.c: Add comments about which assertion fails on which
56073         platform.
56074         * doc/posix-functions/strtod.texi: Add info about many more platforms.
56075
56076 2008-03-30  Eric Blake  <ebb9@byu.net>
56077
56078         Test signbit behavior on zeros.
56079         * tests/test-signbit.c (test_signbitf): Add tests for zero.
56080         (test_signbitd, test_signbitl): Likewise.
56081
56082         More strtod touchups.
56083         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
56084         sign of negative underflow, for now.  Use .5, not .1.
56085         * doc/posix-functions/strtod.texi (strtod): Mention these
56086         limitations.
56087         Reported by Jim Meyering.
56088
56089 2008-03-30  Bruno Haible  <bruno@clisp.org>
56090
56091         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
56092         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
56093
56094 2008-03-30  Bruno Haible  <bruno@clisp.org>
56095
56096         Avoid failure when attempting to return empty iconv results on some
56097         platforms.
56098         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
56099         allocation, don't report ENOMEM when the resulting string is empty.
56100
56101 2008-03-30  Bruno Haible  <bruno@clisp.org>
56102
56103         Fix buffer overrun.
56104         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
56105         Don't consider the width for tmp_length. Check count against tmp_length
56106         before doing the padding. Ensure enough allocation during padding.
56107
56108 2008-03-30  Eric Blake  <ebb9@byu.net>
56109
56110         strtod touchups.
56111         * lib/strtod.c (strtod): Avoid compiler warnings.
56112         Reported by Jim Meyering.
56113
56114 2008-03-30  Bruno Haible  <bruno@clisp.org>
56115
56116         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
56117         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
56118         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
56119         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
56120         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
56121         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
56122         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
56123         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
56124
56125         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
56126         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
56127         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
56128         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
56129         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
56130         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
56131         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
56132         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
56133
56134         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
56135         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
56136         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
56137         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
56138         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
56139         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
56140         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
56141         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
56142
56143         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
56144         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
56145
56146         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
56147         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
56148
56149         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
56150         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
56151
56152         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
56153         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
56154         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
56155
56156         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
56157         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
56158         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
56159
56160         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
56161         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
56162         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
56163
56164         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
56165         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
56166         * modules/vasprintf (Depends-on): Add EOVERFLOW.
56167
56168         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
56169         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
56170         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
56171         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
56172         (Depends-on): Add EOVERFLOW.
56173         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
56174         (Depends-on): Add EOVERFLOW.
56175         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
56176         (Depends-on): Add EOVERFLOW.
56177         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
56178         (Depends-on): Add EOVERFLOW.
56179         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
56180         (Depends-on): Add EOVERFLOW.
56181         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
56182         (Depends-on): Add EOVERFLOW.
56183         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
56184         (Depends-on): Add EOVERFLOW.
56185         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
56186         (Depends-on): Add EOVERFLOW.
56187
56188         * lib/sprintf.c (EOVERFLOW): Remove fallback.
56189         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
56190         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
56191
56192         * lib/snprintf.c (EOVERFLOW): Remove fallback.
56193         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
56194         * modules/snprintf (Depends-on): Add EOVERFLOW.
56195
56196         * lib/poll.c (EOVERFLOW): Remove fallback.
56197         * modules/poll (Depends-on): Add EOVERFLOW.
56198
56199         * lib/getugroups.c (EOVERFLOW): Remove fallback.
56200         * modules/getugroups (Depends-on): Add EOVERFLOW.
56201
56202         * lib/getdelim.c (EOVERFLOW): Remove fallback.
56203         * modules/getdelim (Depends-on): Add EOVERFLOW.
56204
56205         * lib/ftell.c (EOVERFLOW): Remove fallback.
56206         * modules/ftell (Depends-on): Add EOVERFLOW.
56207
56208         * lib/fprintf.c (EOVERFLOW): Remove fallback.
56209         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
56210         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
56211
56212         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
56213
56214         * modules/EOVERFLOW-tests: New file.
56215         * tests/test-EOVERFLOW.c: New file.
56216
56217         * modules/EOVERFLOW: New file.
56218         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
56219
56220 2008-03-30  Bruno Haible  <bruno@clisp.org>
56221
56222         Fix bug introduced on 2007-06-10.
56223         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
56224         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
56225
56226 2008-03-30  Bruno Haible  <bruno@clisp.org>
56227
56228         Improve freadseek's efficiency after ungetc.
56229         * lib/freadseek.c: Include freadahead.h.
56230         (freadptrinc): New function, extracted from freadseek.
56231         (freadseek): Use it in a loop. Use freadahead to determine the number
56232         of loop iterations.
56233         * modules/freadseek (Depends-on): Add freadahead.
56234         (configure.ac): Require AC_C_INLINE.
56235
56236 2008-03-30  Bruno Haible  <bruno@clisp.org>
56237
56238         * lib/freadseek.c (freadseek): Don't ignore the return value of
56239         freadptr.
56240
56241 2008-03-29  Eric Blake  <ebb9@byu.net>
56242
56243         Add hex float support.
56244         * modules/strtod (Depends-on): Add c-ctype.
56245         (Link): Mention POW_LIB.
56246         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
56247         whitespace between 'e' and exponent.
56248         * tests/test-strtod.c (main): Enable hex float tests.
56249         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
56250         now provides.
56251
56252         Document various strtod bugs, with some fixes.
56253         * doc/posix-functions/strtod.texi (strtod): Document bugs with
56254         "-0x", "inf", "nan", and hex constants.
56255         * doc/posix-functions/atof.texi (atof): Likewise.
56256         * modules/stdlib (Makefile.am): Support strtod.
56257         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
56258         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
56259         detect additional strtod bugs.
56260         * lib/stdlib.in.h (rpl_strtod): Add declarations.
56261         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
56262         bool where appropriate.  Parse 'inf' and 'nan'.
56263         * tests/test-strtod.c: New file.
56264         * modules/strtod (Depends-on): Add stdbool, stdlib.
56265         (configure.ac): Turn on module indicator.
56266         * modules/strtod-tests: New module.
56267
56268 2008-03-29  Eric Blake  <ebb9@byu.net>
56269
56270         Fix ftell on mingw.
56271         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
56272         * modules/ftell-tests (Depends-on): Add binary-io.
56273         * modules/ftello-tests (Depends-on): Likewise.
56274         * tests/test-ftell.c (main): Enhance test to cover behavior after
56275         ungetc.  Enforce binary mode.
56276         * tests/test-ftello.c (main): Likewise.
56277
56278         Pass test-freadseek on cygwin.
56279         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
56280         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
56281         ungetc buffer.
56282
56283         * tests/test-fflush2.c (main): Fix typo.
56284
56285 2008-03-29  Bruno Haible  <bruno@clisp.org>
56286
56287         * tests/test-fflush2.c (main): Temporarily disable the contents of
56288         this test.
56289         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
56290         Reported by Eric Blake.
56291
56292 2008-03-28  Simon Josefsson  <simon@josefsson.org>
56293
56294         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
56295         (GC_SHA224_DIGEST_SIZE): Add.
56296
56297         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
56298         (gc_hash_digest_length): Likewise.
56299         (gc_hash_buffer): Likewise.
56300
56301 2008-03-25  Bruno Haible  <bruno@clisp.org>
56302
56303         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
56304         detail which gettext release to use.
56305         Reported by Simon Josefsson.
56306
56307 2008-03-26  Jim Meyering  <meyering@redhat.com>
56308
56309         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
56310         * modules/gnumakefile (clean-GNUmakefile): Also, use
56311         test ... && ... || : syntax rather than if-then ... fi.
56312
56313         gnumakefile: Don't double-quote-expand $(VPATH) value.
56314         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
56315
56316 2008-03-24  Eric Blake  <ebb9@byu.net>
56317
56318         Alter GNUmakefile to install into top directory.
56319         * modules/maintainer-makefile: Split, and add dependency...
56320         * modules/gnumakefile: to this new module.
56321         * build-aux/GNUmakefile: Move...
56322         * top/GNUmakefile: ...here.
56323         * build-aux/maint.mk: Move...
56324         * top/maint.mk: ...here.
56325         * MODULES.html.sh (Support for maintaining...): Document new
56326         module.
56327
56328 2008-03-23  Bruno Haible  <bruno@clisp.org>
56329
56330         * gnulib-tool: New options --vc-files, --no-vc-files.
56331         (func_usage): Document them.
56332         (vc_files): New variable.
56333         (func_import): Consider vc_files.
56334         (func_create_testdir): Set vc_files to empty.
56335         Suggested by Jim Meyering and Karl Berry.
56336
56337 2008-03-23  Bruno Haible  <bruno@clisp.org>
56338
56339         Fix regex compilation error on HP-UX 11.
56340         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
56341         * modules/regex (Files): Add m4/mbstate_t.m4.
56342         Reported by Ton Voon <ton.voon@altinity.com>.
56343
56344 2008-03-23  Bruno Haible  <bruno@clisp.org>
56345
56346         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
56347
56348 2008-03-23  Eric Blake  <ebb9@byu.net>
56349             Bruno Haible  <bruno@clisp.org>
56350
56351         Install files from top/ in the destination directory.
56352         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
56353         augmentation also for the files from top/.
56354         (func_import, func_create_testdir): Rewrite file names:
56355         top/filename -> filename.
56356
56357 2008-03-23  Bruno Haible  <bruno@clisp.org>
56358
56359         Tweak "gnulib --version" output.
56360         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
56361
56362 2008-03-23  Bruno Haible  <bruno@clisp.org>
56363
56364         Tweak "gnulib --version" output.
56365         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
56366         rather than contents of ChangeLog, when possible.
56367
56368 2008-03-21  Eric Blake  <ebb9@byu.net>
56369
56370         More --version tweaks.
56371         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
56372         date of last ChangeLog entry.
56373
56374 2008-03-21  Jim Meyering  <meyering@redhat.com>
56375
56376         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
56377
56378 2008-03-20  Eric Blake  <ebb9@byu.net>
56379
56380         VPATH fix.
56381         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
56382
56383 2008-03-20  Simon Josefsson  <simon@josefsson.org>
56384
56385         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
56386         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
56387
56388 2008-03-20  Eric Blake  <ebb9@byu.net>
56389
56390         Sync GNUmakefile with coreutils.
56391         * build-aux/GNUmakefile (have-Makefile): Rename...
56392         (_have-Makefile): ...to this, for namespace consideration.
56393         (GNUmakefile.cfg): Include, if present.
56394         (_autoreconf): Define a default.
56395         (_is-dist-target): New rule for rebuilds to pick up intra-release
56396         version.
56397         (maint-cfg.mk): Rename...
56398         (cfg.mk): ...to this.
56399
56400 2008-03-18  Jim Meyering  <meyering@redhat.com>
56401
56402         New script and module: mktempd
56403         * MODULES.html.sh (maint+release support): Add mktempd.
56404         * build-aux/mktempd: New file.
56405         * modules/mktempd: New file.
56406
56407 2008-03-15  Jim Meyering  <meyering@redhat.com>
56408
56409         Undo last change.
56410         * lib/sha1.c, lib/md5.c: 63 != ~63.
56411         Reported by Andreas Schwab.
56412
56413         sha1.c, md5.c: Hoist a redundant expression.
56414         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
56415         "ctx->buflen" only once, before calling *_process_block.
56416         * lib/md5.c (md5_process_bytes): Likewise.
56417
56418 2008-03-14  Eric Blake  <ebb9@byu.net>
56419
56420         Bump copyright year in files generated by gnulib-tool.
56421         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
56422         gnulib-tool, rather than hard-coding it.
56423
56424         Fix 'gnulib-tool --version' output to work with git.
56425         * gnulib-tool (func_gnulib_dir): New function, extracted from...
56426         (startup): ...here.
56427         (func_version): Use it to invoke git-version-gen, rather than
56428         relying on CVS keyword expansion.  Modernize wording.
56429         (cvsdatestamp, last_checkin_date, version): Kill unused
56430         variables.
56431
56432 2008-03-12  Jim Meyering  <meyering@redhat.com>
56433
56434         Recognize optional cast of the argument to free.
56435         * build-aux/useless-if-before-free: Update regexps.
56436
56437         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
56438
56439 2008-03-11  Bruno Haible  <bruno@clisp.org>
56440
56441         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
56442         by a single package.
56443         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
56444         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
56445         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
56446         Reported by Sam Steingold <sds@gnu.org>.
56447
56448 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
56449
56450         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
56451         repositories.
56452
56453 2008-03-11  Bruno Haible  <bruno@clisp.org>
56454
56455         Avoid conflicts between local macro definitions.
56456         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
56457         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
56458
56459 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
56460             Bruno Haible  <bruno@clisp.org>
56461
56462         Make va_copy work with some version of xlc on AIX 5.1.
56463         * lib/stdarg.in.h: New file.
56464         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
56465         On AIX, use a <stdarg.h> file substitute.
56466         * modules/stdarg (Files): Add lib/stdarg.in.h.
56467         (Depends-on): Add include_next.
56468         (Makefile.am): Build a stdarg.h substitute if requested.
56469         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
56470
56471 2008-03-10  Bruno Haible  <bruno@clisp.org>
56472
56473         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
56474         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
56475         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
56476
56477 2008-03-10  Bruno Haible  <bruno@clisp.org>
56478
56479         * modules/stdlib (Depends-on): Add include_next, remove
56480         absolute-header.
56481
56482 2008-03-09  Bruno Haible  <bruno@clisp.org>
56483
56484         * lib/freadahead.h (freadahead): Document more precisely.
56485         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
56486         the sum of both buffer sizes.
56487         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
56488         * NEWS: Document the change.
56489
56490 2008-03-09  Bruno Haible  <bruno@clisp.org>
56491
56492         Extend freadptr to return also the buffer size.
56493         * lib/freadptr.h (freadptr): Add sizep argument.
56494         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
56495         (freadptr): Add sizep argument. Determine buffer size like freadahead
56496         does.
56497         * tests/test-freadptr.c: Don't include freadahead.h.
56498         (main): Adapt for new calling convention of freadptr.
56499         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
56500         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
56501         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
56502         tests/test-freadptr2.sh.
56503         (Depends): Remove freadahead.
56504         (TESTS): Add test-freadptr2.sh.
56505         (check_PROGRAMS): Add test-freadptr2.
56506
56507 2008-03-09  Bruno Haible  <bruno@clisp.org>
56508
56509         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
56510         Report and solution by Simon Josefsson.
56511
56512 2008-03-06  Bruno Haible  <bruno@clisp.org>
56513
56514         Make fflush after ungetc work on BSD platforms.
56515         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
56516         * tests/test-fflush2.c: New file.
56517         * tests/test-fflush2.sh: New file.
56518         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
56519         tests/test-fflush2.c.
56520         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
56521         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
56522
56523 2008-03-06  Eric Blake  <ebb9@byu.net>
56524
56525         Likewise for ftello.
56526         * modules/ftello (Dependencies): Add extensions.
56527         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
56528
56529 2008-03-06  Bruno Haible  <bruno@clisp.org>
56530
56531         * modules/fseeko (Dependencies): Add extensions.
56532         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
56533         Needed on glibc systems.
56534
56535 2008-03-06  Bruno Haible  <bruno@clisp.org>
56536
56537         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
56538         email address.
56539         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
56540
56541 2008-03-06  Bruno Haible  <bruno@clisp.org>
56542
56543         * users.txt: Add libgnupdf.
56544
56545 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
56546
56547         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
56548         (Header File Substitutes, Function Substitutes,
56549         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
56550         (Build robot for gnulib): Fix typo.
56551
56552 2008-03-06  Bruno Haible  <bruno@clisp.org>
56553
56554         * doc/gnulib-tool.texi (VCS Issues): Small updates.
56555         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
56556
56557 2008-03-06  Bruno Haible  <bruno@clisp.org>
56558
56559         * doc/func.texi: New file, extracted from doc/gnulib.texi.
56560         * doc/gnulib.texi: Include it.
56561
56562 2008-03-06  Simon Josefsson  <simon@josefsson.org>
56563
56564         * modules/func (License): Change license to unlimited; there was
56565         no LGPL parts in the module anyway.
56566
56567 2008-03-06  Simon Josefsson  <simon@josefsson.org>
56568
56569         * modules/__func__: Renamed to modules/func.
56570         * modules/__func__-tests: Renamed to modules/func-tests.
56571         * tests/test-__func__.c: Renamed to tests/test-func.c.
56572         * m4/__func__.m4: Renamed to m4/func.m4.
56573         * doc/gnulib.texi (__func__): Section renamed to func.
56574         Suggested by Eric Blake <ebb9@byu.net>.
56575
56576 2008-03-06  Simon Josefsson  <simon@josefsson.org>
56577
56578         * doc/gnulib.texi (__func__): Use C99 terminology when talking
56579         about __func__.  Make example self-contained.  Suggested by Eric
56580         Blake <ebb9@byu.net>.
56581
56582         * tests/test-__func__.c (main): Avoid extraneous () around __func.
56583         Suggested by Eric Blake <ebb9@byu.net>.
56584
56585 2008-03-06  Simon Josefsson  <simon@josefsson.org>
56586
56587         * modules/__func__: New file.
56588         * modules/__func__-tests: New file.
56589         * tests/test-__func__.c: New file.
56590         * m4/__func__.m4: New file.
56591         * doc/gnulib.texi (__func__): Document __func__ module.
56592
56593 2008-03-05  Simon Josefsson  <simon@josefsson.org>
56594
56595         * modules/byteswap (License): Re-license as LGPLv2+.
56596
56597 2008-03-05  Simon Josefsson  <simon@josefsson.org>
56598
56599         * doc/Makefile: Add pdf target.
56600
56601 2008-03-05  Simon Josefsson  <simon@josefsson.org>
56602
56603         * modules/inline (License): Use 'unlimited', since there are only
56604         *.m4 files in this module.
56605
56606 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
56607             Bruno Haible  <bruno@clisp.org>
56608
56609         Add support for HP C 7.1 on OpenVMS 8.3.
56610         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
56611
56612 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
56613
56614         Update VMS specifics.
56615         * lib/getopt.c [VMS]: Remove include of unixlib.h.
56616
56617 2008-03-02  Jim Meyering  <meyering@redhat.com>
56618
56619         Remove the last dependency on the "free" module.
56620         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
56621         Reported by Bob Proulx.
56622
56623         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
56624
56625         Remove useless "if" tests before free.  Deprecate "free" module.
56626         * doc/posix-functions/free.texi: Mention that this
56627         module is no longer useful.
56628         * modules/free (Notice): Say this module is obsolete.
56629         * modules/readutmp (Depends-on): Remove free.
56630         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
56631         * lib/putenv.c (putenv): Likewise.
56632         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
56633         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
56634         * tests/test-c-strcasestr.c (main): Likewise.
56635         * tests/test-c-strstr.c (main): Likewise.
56636         * tests/test-mbscasestr1.c (main): Likewise.
56637         * tests/test-mbscasestr2.c (main): Likewise.
56638         * tests/test-mbsstr1.c (main): Likewise.
56639         * tests/test-mbsstr2.c (main): Likewise.
56640         * tests/test-memmem.c (main): Likewise.
56641         * tests/test-strcasestr.c (main): Likewise.
56642         * tests/test-striconv.c (main): Likewise.
56643         * tests/test-striconveh.c (main): Likewise.
56644         * tests/test-striconveha.c (main): Likewise.
56645         * tests/test-strstr.c (main): Likewise.
56646
56647         * build-aux/git-version-gen: Adjust a comment and the Usage string.
56648
56649         bootstrap: sync from coreutils again
56650         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
56651
56652 2008-03-01  Jim Meyering  <meyering@redhat.com>
56653
56654         bootstrap: sync from coreutils
56655         * build-aux/bootstrap (update_po_files): Copy a .po file into place
56656         also when the target doesn't exist.
56657
56658 2008-03-01  Eric Blake  <ebb9@byu.net>
56659
56660         Fix bugs in last patch.
56661         * lib/memchr2.c (memchr2): Fix typo.
56662         * tests/test-memchr2.c: Test previous bug, and don't use GNU
56663         extension.
56664         Reported by Bruce Korb.
56665
56666         New module 'memchr2'.
56667         * modules/memchr2: New file.
56668         * modules/memchr2-tests: Likewise.
56669         * lib/memchr2.h: Likewise.
56670         * lib/memchr2.c: Likewise, based on memchr.c.
56671         * tests/test-memchr2.c: New test.
56672         * MODULES.html.sh (String handling): Add memchr2.
56673
56674 2008-02-29  Bruno Haible  <bruno@clisp.org>
56675
56676         * modules/freadseek-tests: New file.
56677         * tests/test-freadseek.sh: New file.
56678         * tests/test-freadseek.c: New file.
56679
56680         New module 'freadseek'.
56681         * modules/freadseek: New file.
56682         * lib/freadseek.h: New file.
56683         * lib/freadseek.c: New file.
56684         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
56685
56686 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
56687
56688         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
56689         wydawca.
56690
56691         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
56692         program_invocation_name and program_invocation_short_name are
56693         present.
56694
56695 2008-02-28  Bruno Haible  <bruno@clisp.org>
56696
56697         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
56698         * tests/test-freadptr.sh: Also test non-seekable stdin.
56699
56700 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
56701
56702         * build-aux/bootstrap (source_base, m4_base)
56703         (doc_base, tests_base): New variables.
56704         (gnulib_tool_options): Do not hardcode base directories, use
56705         the above variables instead.
56706
56707 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
56708
56709         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
56710
56711 2008-02-28  Bruno Haible  <bruno@clisp.org>
56712
56713         * modules/freadptr-tests: New file.
56714         * tests/test-freadptr.sh: New file.
56715         * tests/test-freadptr.c: New file.
56716
56717         New module 'freadptr'.
56718         * modules/freadptr: New file.
56719         * lib/freadptr.h: New file.
56720         * lib/freadptr.c: New file.
56721         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
56722
56723 2008-02-26  Karl Berry  <karl@freefriends.org>
56724
56725         Sync from Libtool:
56726         * libltdl/argz.c (argz_add, argz_count): New functions.
56727         * libltdl/argz.in.h: Declare them.
56728         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
56729
56730 2008-02-22  Bruno Haible  <bruno@clisp.org>
56731
56732         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
56733         is a pointer type.  Needed for HP-UX 10.
56734         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
56735         * doc/posix-functions/gmtime_r.texi: Likewise.
56736         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
56737
56738 2008-02-24  Bruno Haible  <bruno@clisp.org>
56739
56740         * modules/environ-tests: New file.
56741         * tests/test-environ.c: New file.
56742
56743         New module 'environ'.
56744         * modules/environ: New file.
56745         * lib/unistd.in.h (environ): New declaration.
56746         * m4/environ.m4: New file.
56747         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
56748         after use.
56749         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
56750         HAVE_DECL_ENVIRON.
56751         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
56752         HAVE_DECL_ENVIRON.
56753         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
56754         wrong claim that 'environ' is missing on some systems.
56755         * modules/execute (Depends-on): Add environ.
56756         * lib/execute.c (environ): Remove fallback declaration.
56757         * modules/pipe (Depends-on): Add environ.
56758         * lib/pipe.c (environ): Remove fallback declaration.
56759         * modules/setenv (Depends-on): Add environ.
56760         * lib/setenv.c (environ): Remove fallback declaration.
56761         * modules/unsetenv (Depends-on): Add environ.
56762         * lib/unsetenv.c (environ): Remove fallback declaration.
56763         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
56764         m4/environ.m4.
56765         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
56766         (gl_PREREQ_UNSETENV): Likewise.
56767
56768 2008-02-24  Bruno Haible  <bruno@clisp.org>
56769
56770         * doc/posix-functions/environ.texi: Document the MacOS X problem.
56771
56772 2008-02-20  Bob Proulx  <bob@proulx.com>
56773
56774         Enable use of older two part flavor 'git describe'.
56775         * build-aux/git-version-gen: If using the older two part flavor of
56776         git version then recreate the third part now present in the
56777         newer three part flavor of git describe.
56778
56779 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
56780
56781         * lib/fts.c (fts_build): Typo correction to comment.
56782
56783 2008-02-17  Bruno Haible  <bruno@clisp.org>
56784
56785         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
56786         generating no-op conflicts.
56787
56788 2008-02-17  Bruno Haible  <bruno@clisp.org>
56789
56790         Speed up by 10%.
56791         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
56792         result_entries, rather than an index-based loop.
56793
56794 2008-02-17  Bruno Haible  <bruno@clisp.org>
56795
56796         Speed up by 25%.
56797         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
56798         'hashcode_cached'.
56799         (entry_create): New function.
56800         (entry_hashcode): Use the cached hashcode if possible.
56801         (read_changelog_file, try_split_merged_entry): Use entry_create.
56802
56803 2008-02-17  Bruno Haible  <bruno@clisp.org>
56804
56805         Speed up from O(n^2) to O(n) for long ChangeLog files.
56806         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
56807         (read_changelog_file): Change implementation of entries_reversed list
56808         to rbtreehash.
56809         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
56810
56811 2008-02-17  Bruno Haible  <bruno@clisp.org>
56812
56813         New option --split-merged-entry.
56814         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
56815         (find_paragraph_end, try_split_merged_entry): New functions.
56816         (long_options): Add option --split-merged-entry.
56817         (usage): Document option --split-merged-entry.
56818         (main): Implement option --split-merged-entry.
56819         Reported by Eric Blake.
56820
56821 2008-02-17  Bruno Haible  <bruno@clisp.org>
56822
56823         * lib/git-merge-changelog.c: Include c-strstr.h.
56824         (main): Support the "git pull --rebase" situation.
56825         * modules/git-merge-changelog (Depends-on): Add c-strstr.
56826         Reported by Eric Blake.
56827
56828 2008-02-16  Eric Blake  <ebb9@byu.net>
56829
56830         Avoid doubling \ in common case of "c-maybe" quoting style.
56831         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
56832         eliding outer quotes.
56833         * lib/quotearg.h: Document this.
56834         * tests/test-quotearg.c (result_strings, inputs, results_g)
56835         (flag_results, locale_results): Test it by adding a new string to
56836         each test group.
56837         (compare_strings): Test new string.
56838
56839 2008-02-13  Eric Blake  <ebb9@byu.net>
56840
56841         Avoid trigraph quoting in default output.
56842         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
56843         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
56844         unless explicitly requested.
56845         * tests/test-quotearg.c (flag_results, main): Add additional tests.
56846
56847 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
56848
56849         Don't rely on signed integer overflowing to negative value.
56850         * lib/getugroups.c (getugroups): Include <limits.h>.
56851         Instead, compare against INT_MAX, and increment only if the test passes.
56852
56853 2008-02-13  Jim Meyering  <meyering@redhat.com>
56854         and Eric Blake  <ebb9@byu.net>
56855
56856         Avoid shadowing warning and compile errors on Linux.
56857         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
56858         forwarding macros on Linux.
56859         (dcgettext): Define a stub, for Linux.
56860         (results_g, main): Avoid warnings.
56861
56862 2008-02-12  Eric Blake  <ebb9@byu.net>
56863
56864         Silence warning in last patch.
56865         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
56866
56867         Quotearg part 4: add tests, fix c-maybe colon quoting.
56868         * lib/quotearg.h: Improve documentation.
56869         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
56870         escapes when adding outer quotes.  When quoting trigraphs, use
56871         valid C notation.  When quoting NUL, omit extra characters if next
56872         character is not digit.  Alter prototype.
56873         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
56874         callers.
56875         * modules/quotearg-tests: New module.
56876         * tests/test-quotearg.c: New test.
56877
56878 2008-02-07  Eric Blake  <ebb9@byu.net>
56879
56880         Quotearg part 3: add flag to control outer quote elision.
56881         * lib/quotearg.h (c_maybe_quoting_style): New style.
56882         (enum quoting_flags): Better documentation of flags.
56883         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
56884         c-maybe style.
56885         (quotearg_buffer_restyled): Handle new flag to elide outer
56886         quotes.
56887
56888         Quotearg part 2: add flag that can control NUL elision.
56889         * lib/quotearg.h (set_quoting_flags): New prototype.
56890         * lib/quotearg.c (struct quoting_options): Add flag field.
56891         (set_quoting_flags): New function.
56892         (quotearg_buffer_restyled): Add flags parameter.
56893         (quotearg_alloc_mem): Set the flag if length cannot be returned.
56894         (quotearg_n_options): Set the flag, since length cannot be
56895         returned.
56896         (quoting_options_from_style): Default flags correctly.
56897
56898         Quotearg part 1: more wrappers, restore quotearg_char state.
56899         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
56900         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
56901         (quotearg_colon_mem): New wrappers.
56902         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
56903         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
56904         functions.
56905         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
56906         (quotearg_colon_mem): New functions.
56907
56908 2008-02-11  Bruno Haible  <bruno@clisp.org>
56909
56910         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
56911         library in the current directory: it does not work with parallel make.
56912         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56913
56914 2008-02-11  Bruno Haible  <bruno@clisp.org>
56915
56916         * .gitattributes: New file.
56917
56918 2008-02-11  Jim Meyering  <meyering@redhat.com>
56919
56920         useless-if-before-free: Fix reversed exit values.
56921         * build-aux/useless-if-before-free: Use correct values
56922         for EXIT_MATCH and EXIT_NO_MATCH.
56923
56924         * build-aux/useless-if-before-free: Close stdout carefully.
56925
56926 2008-02-10  Bruno Haible  <bruno@clisp.org>
56927
56928         New module 'git-merge-changelog'.
56929         * modules/git-merge-changelog: New file.
56930         * lib/git-merge-changelog.c: New file.
56931
56932 2008-02-10  Jim Meyering  <meyering@redhat.com>
56933
56934         useless-if-before-free: New option: --list (-l).
56935
56936         useless-if-before-free: Don't exit immediately upon open failure.
56937         * build-aux/useless-if-before-free: Exit 2 for errors.
56938         Upon failure to open a file, don't exit immediately.
56939         Rather, just warn and continue with any remaining files.
56940
56941 2008-02-10  Bruno Haible  <bruno@clisp.org>
56942
56943         New abstract list operation 'node_set_value'.
56944         * lib/gl_list.h (gl_list_node_set_value): New function.
56945         (struct gl_list_implementation): New field node_set_value.
56946         * lib/gl_list.c (gl_list_node_set_value): New function.
56947         * lib/gl_array_list.c (gl_array_node_set_value): New function.
56948         (gl_array_list_implementation): Update.
56949         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
56950         (gl_carray_list_implementation): Update.
56951         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
56952         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
56953         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
56954         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
56955         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
56956         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
56957         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
56958         Update.
56959         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
56960         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
56961         (gl_sublist_list_implementation): Update.
56962
56963 2008-02-10  Bruno Haible  <bruno@clisp.org>
56964
56965         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
56966         Needed when ELEMENT is #defined to 'some_type *'.
56967
56968 2008-02-10  Jim Meyering  <meyering@redhat.com>
56969
56970         New script and module: useless-if-before-free
56971         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
56972         * build-aux/useless-if-before-free: New file.
56973         * modules/useless-if-before-free: New file.
56974
56975         * build-aux/gitlog-to-changelog: Use committer date, not author date.
56976
56977         xstrtol_error: Fix typo.
56978         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
56979         s/exit_failure/exit_status/.
56980
56981 2008-02-09  Jim Meyering  <meyering@redhat.com>
56982
56983         New script and module: gitlog-to-changelog
56984         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
56985         * modules/gitlog-to-changelog: New file.
56986         * build-aux/gitlog-to-changelog: New file.
56987
56988 2008-02-08  Jim Meyering  <meyering@redhat.com>
56989
56990         Avoid two "parameter unused" warnings.
56991         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
56992         Mark "st" as used.
56993
56994         Use "git COMMAND", not "git-COMMAND".
56995         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
56996         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
56997         * build-aux/git-version-gen: Use "git status", not "git-status".
56998
56999 2008-02-07  Bruno Haible  <bruno@clisp.org>
57000
57001         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
57002         Avoids a crash on Windows Vista.
57003         Reported by Adam Strzelecki <ono@java.pl> via
57004         Simon Josefsson <simon@josefsson.org>.
57005
57006 2008-02-06  Bruno Haible  <bruno@clisp.org>
57007
57008         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
57009         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
57010         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
57011         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
57012         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
57013         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57014         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
57015         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
57016         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57017         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57018         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57019         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57020         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57021         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57022         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57023         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
57024         left-adjust flag.
57025         * tests/test-snprintf-posix.h (test_function): Likewise.
57026         * tests/test-sprintf-posix.h (test_function): Likewise.
57027         * tests/test-vasprintf-posix.c (test_function): Likewise.
57028         * doc/posix-functions/fprintf.texi: Update.
57029         * doc/posix-functions/printf.texi: Update.
57030         * doc/posix-functions/snprintf.texi: Update.
57031         * doc/posix-functions/sprintf.texi: Update.
57032         * doc/posix-functions/vfprintf.texi: Update.
57033         * doc/posix-functions/vprintf.texi: Update.
57034         * doc/posix-functions/vsnprintf.texi: Update.
57035         * doc/posix-functions/vsprintf.texi: Update.
57036         Reported by Peter Fales <psfales@alcatel-lucent.com>.
57037
57038 2008-02-06  Bruno Haible  <bruno@clisp.org>
57039
57040         Fix bug introduced on 2008-01-26.
57041         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
57042
57043 2008-02-06  Bruno Haible  <bruno@clisp.org>
57044
57045         Fix bug introduced on 2007-06-10.
57046         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
57047         !NEED_PRINTF_FLAG_ZERO.
57048
57049 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
57050
57051         getloadavg: use libperfstat on AIX5
57052         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
57053
57054 2008-02-03  Bruno Haible  <bruno@clisp.org>
57055
57056         * lib/diffseq.h: Add comments about required #includes.
57057         Reported by Michael Biggs <gnulib@doubleplum.net>.
57058
57059 2008-02-01  Bruno Haible  <bruno@clisp.org>
57060
57061         * users.txt: Add gnuit.
57062
57063 2008-01-31  Bruno Haible  <bruno@clisp.org>
57064
57065         * lib/md4.c (set_uint32): Mark as inline.
57066         * lib/md5.c (set_uint32): Likewise.
57067         * lib/sha1.c (set_uint32): Likewise.
57068         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
57069         * m4/md5.m4 (gl_MD5): Likewise.
57070         * m4/sha1.m4 (gl_SHA1): Likewise.
57071
57072 2008-01-31  Jim Meyering  <meyering@redhat.com>
57073
57074         Use "sizeof VAR", rather than a literal "4".
57075         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
57076         * lib/md4.c (md4_read_ctx): Likewise.
57077         * lib/sha1.c (sha1_read_ctx): Likewise.
57078
57079 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57080
57081         * tests/test-sha1.c: New file, based on test-md5.c.
57082
57083         * modules/crypto/sha1-tests: New file.
57084
57085 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57086
57087         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
57088
57089 2008-01-31  Jim Meyering  <meyering@redhat.com>
57090
57091         Prefer "sizeof v" over the equivalent "4".
57092         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
57093         * lib/md5.c (set_uint32): Likewise.
57094         * lib/sha1.c (set_uint32): Likewise.
57095
57096 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57097
57098         * lib/sha1.c (set_uint32): Mark function as static.
57099
57100 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57101
57102         md2: clarify comments to say that alignment is not required.
57103         * lib/md2.h: Remove warning about alignment in comment.
57104         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
57105         never been required.
57106
57107 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57108
57109         md4: adapt alignment constraint fix from sha1.
57110         * lib/md4.c (set_uint32): New function, from sha1.c
57111         (md4_read_ctx): Use it.
57112         (md4_finish_ctx): Doc fix.
57113         * lib/md4.h: Doc fix.
57114
57115 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57116
57117         md5: adapt alignment constraint fix from sha1.
57118         * lib/md5.c (set_uint32): New function, from sha1.c
57119         (md5_read_ctx): Use it.
57120         (md5_finish_ctx): Doc fix.
57121         * lib/md5.h: Doc fix.
57122
57123 2008-01-30  Peter Palfrader  <weasel@debian.org>
57124
57125         sha1: remove the result buffer alignment constraint
57126         * lib/sha1.c (set_uint32): New function.
57127         (sha1_read_ctx): Rewrite to remove the result buffer alignment
57128         constraint.
57129         (sha1_finish_ctx): Remove comment warning about alignment constraint.
57130         * lib/sha1.h: Likewise.
57131
57132 2008-01-30  Andreas Schwab  <schwab@suse.de>
57133             Bruno Haible  <bruno@clisp.org>
57134
57135         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
57136         correct definition of LDBL_MIN_EXP.
57137
57138 2008-01-30  Karl Berry  <karl@gnu.org>
57139
57140         * config/srclist-update: try to preserve x bit on updates.
57141         * config/srclistvars.sh: update for karl.
57142
57143 2008-01-29  Jim Meyering  <meyering@redhat.com>
57144
57145         vasnprintf.c: Avoid warning about unused label
57146         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
57147         "overflow" label definition and associated code with the
57148         same cpp condition that guards the sole use of that label.
57149
57150 2008-01-26  Bruno Haible  <bruno@clisp.org>
57151
57152         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
57153         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
57154         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
57155         * lib/isnanl-nolibm.h (isnanl): Likewise.
57156         Reported by Paul Eggert <eggert@cs.ucla.edu>.
57157
57158 2008-01-26  Bruno Haible  <bruno@clisp.org>
57159
57160         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
57161         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
57162
57163 2008-01-26  Bruno Haible  <bruno@clisp.org>
57164
57165         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
57166         GCC >= 4.0 built-in.
57167         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
57168
57169 2008-01-26  Bruno Haible  <bruno@clisp.org>
57170
57171         Rename isnan, applicable to 'double' only, to isnand.
57172         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
57173         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
57174         (configure.ac): Update.
57175         (Include): Replace "isnan.h" with "isnand.h".
57176         * m4/isnand.m4: Renamed from m4/isnan.m4.
57177         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
57178         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
57179         instead of isnan.c.
57180         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
57181         instead of HAVE_ISNAN_IN_LIBC.
57182         (isnand): Renamed from isnan.
57183         * lib/isnand.c: New file.
57184         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
57185         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
57186         (Makefile.am): Update.
57187         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
57188         Include isnand.h instead of isnan.h.
57189         (main): Test isnand instead of isnan.
57190         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
57191         isnan-nolibm.
57192         * modules/frexp (Depends-on): Likewise.
57193         * modules/frexp-tests (Depends-on): Likewise.
57194         * modules/frexp-nolibm (Depends-on): Likewise.
57195         * modules/frexp-nolibm-tests (Depends-on): Likewise.
57196         * modules/isfinite (Depends-on): Likewise.
57197         * modules/round-tests (Depends-on): Likewise.
57198         * modules/signbit (Depends-on): Likewise.
57199         * modules/signbit-tests (Depends-on): Likewise.
57200         * modules/snprintf-posix (Depends-on): Likewise.
57201         * modules/sprintf-posix (Depends-on): Likewise.
57202         * modules/trunc-tests (Depends-on): Likewise.
57203         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
57204         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
57205         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
57206         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
57207         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
57208         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
57209         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
57210         * modules/vasnprintf-posix (Depends-on): Likewise.
57211         * modules/vasprintf-posix (Depends-on): Likewise.
57212         * modules/vfprintf-posix (Depends-on): Likewise.
57213         * modules/vsnprintf-posix (Depends-on): Likewise.
57214         * modules/vsprintf-posix (Depends-on): Likewise.
57215         * lib/frexp.c: Include isnand.h instead of isnan.h.
57216         (ISNAN): Set to isnand instead of isnan.
57217         * lib/isfinite.c: Include isnand.h instead of isnan.h.
57218         (gl_isfinited): Use isnand instead of isnan.
57219         * lib/signbitd.c: Include isnand.h instead of isnan.h.
57220         (gl_signbitd): Use isnand instead of isnan.
57221         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
57222         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
57223         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
57224         (main): Use isnand instead of isnan.
57225         * tests/test-round1.c: Include isnand.h.
57226         (main): Use isnand instead of isnan.
57227         * tests/test-round2.c: Include isnand.h instead of isnan.h.
57228         (ISNAN): Set to isnand instead of isnan.
57229         * tests/test-trunc1.c: Include isnand.h.
57230         (main): Use isnand instead of isnan.
57231         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
57232         (equal): Use isnand instead of isnan.
57233         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
57234         isnand-nolibm.
57235         * NEWS: Mention the change.
57236
57237 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
57238             Bruno Haible  <bruno@clisp.org>
57239
57240         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
57241         the GCC builtins for signbits are present and set
57242         REPLACE_SIGNBIT_USING_GCC if so.
57243         * lib/math.in.h (signbit): Define using GCC builtins if
57244         REPLACE_SIGNBIT_USING_GCC is set.
57245         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
57246         REPLACE_SIGNBIT_USING_GCC.
57247         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
57248
57249 2008-01-25  Jim Meyering  <meyering@redhat.com>
57250
57251         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
57252         * lib/poll.c: Include <config.h>, not "config.h".
57253         * tests/test-getaddrinfo.c: Likewise.
57254
57255 2008-01-25  Simon Josefsson  <simon@josefsson.org>
57256
57257         * modules/sockets-tests: New file.
57258
57259 2008-01-24  Simon Josefsson  <simon@josefsson.org>
57260
57261         * modules/sockets: New module, can be used to call WSA_Startup and
57262         WSA_Cleanup when needed.
57263
57264         * lib/sockets.h, lib/sockets.c: New files.
57265
57266         * m4/sockets.m4: New file.
57267
57268         * tests/test-sockets.c: New file.
57269
57270 2008-01-19  Bruno Haible  <bruno@clisp.org>
57271
57272         * doc/posix-headers: Renamed from doc/headers.
57273         * doc/posix-functions: Renamed from doc/functions.
57274         * doc/gnulib.texi: Update.
57275
57276 2008-01-19  Bruno Haible  <bruno@clisp.org>
57277
57278         * doc/glibc-functions/strcasestr.texi: Include contents of
57279         doc/functions/strcasestr.texi, fixing the list of platforms.
57280         * doc/functions/strcasestr.texi: Remove file.
57281
57282 2008-01-19  Bruno Haible  <bruno@clisp.org>
57283
57284         * doc/glibc-functions/memmem.texi: Include contents of
57285         doc/functions/memmem.texi.
57286         * doc/functions/memmem.texi: Remove file.
57287
57288 2008-01-18  Bruno Haible  <bruno@clisp.org>
57289
57290         * doc/glibc-functions/*.texi: New files.
57291         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
57292         to use the new files.
57293
57294 2008-01-17  Bruno Haible  <bruno@clisp.org>
57295
57296         * tests/test-gethostname.c (main): Fix printf statement.
57297
57298 2008-01-17  Simon Josefsson  <simon@josefsson.org>
57299
57300         * modules/gethostname-tests: New file.
57301
57302         * tests/test-gethostname.c: New file.
57303
57304 2008-01-17  Simon Josefsson  <simon@josefsson.org>
57305
57306         * lib/gethostname.c: Include string.h unconditionally, strncpy is
57307         used by the UNAME case.  Reported by Bruno Haible
57308         <bruno@clisp.org>.
57309
57310 2008-01-17  Eric Blake  <ebb9@byu.net>
57311
57312         Convert c-strcasestr to be more efficient.
57313         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
57314         (Depends-on): Add c-strcase, remove malloca, strnlen.
57315         * tests/test-c-strcasestr.c (main): Enhance test.
57316         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
57317
57318 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
57319
57320         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
57321         Use it in creating po/Makevars.
57322
57323 2008-01-15  Simon Josefsson  <simon@josefsson.org>
57324
57325         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
57326         Applications that requires it should initialize libgcrypt
57327         manually.
57328
57329 2008-01-16  Simon Josefsson  <simon@josefsson.org>
57330
57331         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
57332
57333 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
57334
57335         Fix problem with getdate on mingw32 reported by Simon Josefsson
57336         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
57337         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
57338         tzname", when deciding whether to declare tzname.
57339         * lib/strftime.c (tzname): Likewise.
57340
57341 2008-01-15  Bruno Haible  <bruno@clisp.org>
57342
57343         Work around a MacOS X 10.5 bug in frexpl().
57344         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
57345         * doc/functions/frexpl.texi: Document the bug.
57346         Reported by Elias Pipping <pipping@gentoo.org>.
57347
57348 2008-01-14  Eric Blake  <ebb9@byu.net>
57349
57350         Touch up previous patch.
57351         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
57352         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
57353
57354         Convert strcasestr module to use Two-Way algorithm.
57355         * modules/strcasestr-simple: New module, based on the old
57356         strcasestr, but with Two-Way rather than KMP.
57357         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
57358         * lib/string.in.h (rpl_strcasestr): Declare.
57359         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
57360         performance.
57361         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
57362         * modules/string (Makefile.am): Support strcasestr.
57363         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
57364         * modules/strcasestr-tests (Depends-on): Check for alarm.
57365         * tests/test-strcasestr.c: Augment test.
57366         * lib/str-two-way.h: Clean up stray macro.
57367         * NEWS: Document new module.
57368         * MODULES.html.sh (string handling): Likewise.
57369         * doc/functions/strcasestr.texi: New file.
57370         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
57371         here, since it is not a POSIX function.
57372
57373 2008-01-14  Colin Watson  <cjwatson@debian.org>
57374             Bruno Haible  <bruno@clisp.org>
57375
57376         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
57377         works fine; if not, set REPLACE_STRSIGNAL.
57378         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
57379         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
57380         REPLACE_STRSIGNAL.
57381         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
57382         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
57383         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
57384
57385 2008-01-14  Bruno Haible  <bruno@clisp.org>
57386
57387         * modules/strsignal (Include): Change to <string.h>.
57388
57389 2008-01-14  Colin Watson  <cjwatson@debian.org>
57390
57391         * modules/argp (Notice): Add a notice recommending to change
57392         XGETTEXT_OPTIONS.
57393         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
57394
57395 2008-01-13  Colin Watson  <cjwatson@debian.org>
57396
57397         * modules/strsignal-tests: New file.
57398         * tests/test-strsignal.c: New file.
57399
57400         * lib/strsignal.c: New file, from glibc with modifications.
57401         * lib/siglist.h: New file, from glibc with modifications.
57402         * lib/string.in.h (strsignal): New declaration.
57403         * m4/strsignal.m4: New file.
57404         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
57405         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
57406         * modules/strsignal: New file.
57407         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
57408         HAVE_DECL_STRSIGNAL.
57409
57410 2008-01-13  Bruno Haible  <bruno@clisp.org>
57411
57412         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
57413         locale encoding is not ASCII. Needed for OpenBSD 4.0.
57414         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
57415         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
57416
57417 2008-01-13  Bruno Haible  <bruno@clisp.org>
57418
57419         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
57420         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
57421         * lib/argp.h (__attribute__): Likewise.
57422         * lib/c-stack.c (__attribute__): Likewise.
57423         * lib/error.h (__attribute__): Likewise.
57424         * lib/fts.c (__attribute__): Likewise.
57425         * lib/openat.h (__attribute__): Likewise.
57426         * lib/stdio.in.h (__attribute__): Likewise.
57427         * lib/string.in.h (__attribute__): Likewise.
57428         * lib/utimens.c (__attribute__): Likewise.
57429         * lib/vasnprintf.h (__attribute__): Likewise.
57430         * lib/xalloc.h (__attribute__): Likewise.
57431         * lib/xprintf.h (__attribute__): Likewise.
57432         * lib/xstrtol.h (__attribute__): Likewise.
57433         * lib/xvasprintf.h (__attribute__): Likewise.
57434
57435 2008-01-12  Bruno Haible  <bruno@clisp.org>
57436
57437         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
57438         * doc/glibc-headers/a.out.texi: New file.
57439         * doc/glibc-headers/aliases.texi: New file.
57440         * doc/glibc-headers/alloca.texi: New file.
57441         * doc/glibc-headers/ar.texi: New file.
57442         * doc/glibc-headers/argp.texi: New file.
57443         * doc/glibc-headers/argz.texi: New file.
57444         * doc/glibc-headers/byteswap.texi: New file.
57445         * doc/glibc-headers/crypt.texi: New file.
57446         * doc/glibc-headers/endian.texi: New file.
57447         * doc/glibc-headers/envz.texi: New file.
57448         * doc/glibc-headers/err.texi: New file.
57449         * doc/glibc-headers/error.texi: New file.
57450         * doc/glibc-headers/execinfo.texi: New file.
57451         * doc/glibc-headers/fpu_control.texi: New file.
57452         * doc/glibc-headers/fstab.texi: New file.
57453         * doc/glibc-headers/fts.texi: New file.
57454         * doc/glibc-headers/getopt.texi: New file.
57455         * doc/glibc-headers/ieee754.texi: New file.
57456         * doc/glibc-headers/ifaddrs.texi: New file.
57457         * doc/glibc-headers/libintl.texi: New file.
57458         * doc/glibc-headers/mcheck.texi: New file.
57459         * doc/glibc-headers/mntent.texi: New file.
57460         * doc/glibc-headers/obstack.texi: New file.
57461         * doc/glibc-headers/paths.texi: New file.
57462         * doc/glibc-headers/printf.texi: New file.
57463         * doc/glibc-headers/pty.texi: New file.
57464         * doc/glibc-headers/resolv.texi: New file.
57465         * doc/glibc-headers/shadow.texi: New file.
57466         * doc/glibc-headers/sysexits.texi: New file.
57467         * doc/glibc-headers/ttyent.texi: New file.
57468
57469 2008-01-12  Jim Meyering  <meyering@redhat.com>
57470
57471         announce-gen: emit Gnulib's git-based version string.
57472         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
57473         New option --gnulib-version=V, where V is expected to be
57474         the output of running git describe in the gnulib directory.
57475         (get_tool_versions): Request feedback on xdelta.  I suspect it's
57476         not useful, and plan to stop publishing an xdelta file with each
57477         coreutils release.
57478
57479         * build-aux/announce-gen: Also check for lzma-compressed files.
57480
57481 2008-01-11  Bruno Haible  <bruno@clisp.org>
57482
57483         * tests/test-memmem.c (main): Increase maximum allowed time.
57484         * tests/test-strstr.c (main): Likewise.
57485
57486 2008-01-11  Bruno Haible  <bruno@clisp.org>
57487
57488         * doc/functions/memmem.texi: Add more precisions about platforms.
57489         * doc/functions/strstr.texi: Likewise.
57490
57491 2008-01-10  Eric Blake  <ebb9@byu.net>
57492
57493         * m4/strstr.m4: Delete cruft from copy-n-paste.
57494         Reported by Bruno Haible.
57495
57496 2008-01-10  Bruno Haible  <bruno@clisp.org>
57497
57498         Make c-strstr rely on strstr.
57499         * lib/c-strstr.c: Don't include str-kmp.h.
57500         (c_strstr): Define in terms of strstr.
57501         * modules/c-strstr (Files): Remove lib/str-kmp.h.
57502         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
57503
57504 2008-01-10  Bruno Haible  <bruno@clisp.org>
57505
57506         * doc/gnulib.texi (String Functions in C Locale): New section.
57507         * doc/c-ctype.texi: New file.
57508         * doc/c-strcase.texi: New file.
57509         * doc/c-strcaseeq.texi: New file.
57510         * doc/c-strcasestr.texi: New file.
57511         * doc/c-strstr.texi: New file.
57512         * doc/c-strtod.texi: New file.
57513         * doc/c-strtold.texi: New file.
57514
57515 2008-01-10  Eric Blake  <ebb9@byu.net>
57516
57517         * lib/relocatable.h: Fix a comment.
57518
57519 2008-01-10  Eric Blake  <ebb9@byu.net>
57520
57521         Share two-way algorithm.
57522         * lib/str-two-way.h: New file, merged from...
57523         * lib/memmem.c: ...here...
57524         * lib/strstr.c: ...and here.
57525         * modules/memmem (Files): Use it.
57526         * modules/strstr (Files): Likewise.
57527
57528         Avoid quadratic strstr implementations.
57529         * lib/strstr.c: New file.
57530         * m4/strstr.m4: Likewise.
57531         * modules/strstr: Likewise.
57532         * modules/strstr-tests: Likewise.
57533         * tests/test-strstr.c: Likewise.
57534         * lib/string.in.h (rpl_strstr): Declare.
57535         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
57536         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
57537         * modules/string (Makefile.am): Likewise.
57538         * MODULES.html.sh (string handling): Mention new module.
57539         * doc/functions/strstr.texi (strstr): Document the bug.
57540
57541 2008-01-10  Bruno Haible  <bruno@clisp.org>
57542
57543         * lib/relocatable.h (relocate): State whether result is freshly
57544         allocated or not.
57545         * lib/relocatable.c (relocate): Return a freshly allocated string
57546         instead of a pointer to a privately held string.
57547         Reported by Sylvain Beucler <beuc@gnu.org>.
57548
57549 2008-01-10  Colin Watson  <cjwatson@debian.org>
57550
57551         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
57552         s/S_ISNLK/S_ISLNK/.
57553
57554 2008-01-09  Bruno Haible  <bruno@clisp.org>
57555
57556         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
57557         and other files.
57558         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
57559         if it's only a guess.
57560         * modules/memmem: Simplify by depending on memmem-simple.
57561
57562 2008-01-09  Bruno Haible  <bruno@clisp.org>
57563
57564         Work around OpenBSD 4.0 tdelete() bug.
57565         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
57566         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
57567         macros and don't redefine the enum values.
57568         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
57569         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
57570         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
57571
57572 2008-01-09  Bruno Haible  <bruno@clisp.org>
57573
57574         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
57575         (main): Don't perform the tests if setlocale did not install a UTF-8
57576         locale. Needed on OpenBSD 4.0.
57577         * modules/wcwidth-tests (Depends-on): Add localcharset.
57578
57579 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
57580
57581         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
57582         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
57583         * NEWS: announce this.
57584         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
57585
57586 2008-01-09  Simon Josefsson  <simon@josefsson.org>
57587         and Eric Blake  <ebb9@byu.net>
57588
57589         Add memmem-simple module.
57590         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
57591         (gl_FUNC_MEMMEM): Separate performance from presence checks.
57592         * modules/memmem-simple: New file.
57593         * modules/memmem (Description): Tweak.
57594         * MODULES.html.sh (string handling): Mention new module.
57595         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
57596         addressed by memmem-simple.
57597         * NEWS: Document the difference.
57598
57599 2008-01-09  Eric Blake  <ebb9@byu.net>
57600
57601         Give gcc some memmem optimization hints.
57602         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
57603         (strcasestr): Declare as pure.
57604         * modules/memmem (Maintainer): Claim my implementation.
57605
57606 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57607
57608         Support AIX 6.1 and higher.
57609         * build-aux/config.libpath: Likewise.
57610         * build-aux/config.rpath: Likewise.
57611
57612 2008-01-08  Jim Meyering  <meyering@redhat.com>
57613             Bruno Haible  <bruno@clisp.org>
57614
57615         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
57616         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
57617         Reported by Peter Fales in
57618         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
57619
57620 2008-01-08  Bruno Haible  <bruno@clisp.org>
57621
57622         * modules/unictype/category-of (Depends-on): Add
57623         unictype/category-none.
57624         * modules/unictype/category-and-tests (Depends-on): Add
57625         unictype/category-{L,N,Lu,Nd}.
57626         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
57627         * modules/unictype/category-or-tests (Depends-on): Add
57628         unictype/category-{L,N}.
57629         * modules/unictype/category-name-tests (Depends-on): Add
57630         unictype/category-{Z,Nl}.
57631         Reported by Simon Josefsson.
57632
57633 2008-01-08  Bruno Haible  <bruno@clisp.org>
57634
57635         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
57636         convention better.
57637         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
57638         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
57639         Reported by Peter Miller <millerp@canb.auug.org.au>.
57640
57641 2008-01-08  Eric Blake  <ebb9@byu.net>
57642
57643         Rewrite memmem to guarantee linear complexity without malloc.
57644         * lib/memmem.c (memmem): Use Two-Way rather than
57645         Knuth-Morris-Pratt, to allow O(1) space usage.
57646         (critical_factorization, two_way_short_needle)
57647         (two_way_long_needle): New functions.
57648         (knuth_morris_pratt): Delete.
57649         * modules/memmem (Depends-on): No longer need malloca or stdbool.
57650         Add stdint.
57651         * tests/test-memmem.c (main): Add tests for periodic needle and
57652         sublinear performance.
57653         * doc/functions/memmem.texi (memmem): Document other deficiencies
57654         in cygwin and older glibc.
57655
57656 2008-01-08  Bruno Haible  <bruno@clisp.org>
57657
57658         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
57659         augmentation.
57660
57661 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
57662
57663         Add a configure time option: --disable-acl.
57664         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
57665         AC_ARG_ENABLE(acl).
57666
57667 2008-01-06  Simon Josefsson  <simon@josefsson.org>
57668
57669         * tests/test-localename.c: Don't include obsolete "setenv.h".
57670
57671         * modules/localename-tests (Depends-on): Need unsetenv.
57672
57673 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57674
57675         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
57676
57677 2008-01-06  Colin Watson  <cjwatson@debian.org>
57678
57679         * users.txt: Add man-db.
57680
57681 2008-01-07  Bruno Haible  <bruno@clisp.org>
57682
57683         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
57684         previous section name.
57685
57686 2008-01-07  Bruno Haible  <bruno@clisp.org>
57687
57688         * lib/progname.c (set_program_name): Don't strip off a leading
57689         "lt-" prefix outside a .libs directory.
57690         Suggested by Paul Eggert.
57691
57692 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
57693             Bruno Haible  <bruno@clisp.org>
57694
57695         Improve memory cleanup in 'relocatable' module.
57696         * lib/relocatable.h (compute_curr_prefix): Change return type to
57697         'char *'.
57698         * lib/relocatable.c (compute_curr_prefix): Change return type to
57699         'char *'. Free curr_installdir after use.
57700         (relocate): Free curr_prefix_better after use.
57701         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
57702
57703 2008-01-01  Bruno Haible  <bruno@clisp.org>
57704
57705         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
57706         failure on older glibc systems.
57707         Reported by Peter Fales <psfales@alcatel-lucent.com>.
57708
57709 2008-01-05  Eric Blake  <ebb9@byu.net>
57710
57711         Avoid quadratic system memmem.
57712         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
57713         Reported by Ralf Wildenhues.
57714
57715         Fix memmem test for mingw.
57716         * modules/memmem-tests (configure.ac): Check for alarm.
57717         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
57718         it.
57719         * doc/functions/memmem.texi: New file.
57720         * doc/gnulib.texi (Function Substitutes): Add memmem.
57721         Reported by Bruno Haible.
57722
57723 2008-01-04  Bruno Haible  <bruno@clisp.org>
57724
57725         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
57726         Require gl_HEADER_STRINGS_H_DEFAULTS, not
57727         gl_HEADER_STRING_H_DEFAULTS.
57728
57729 2008-01-04  Eric Blake  <ebb9@byu.net>
57730
57731         Shorten duration of memmem test.
57732         * tests/test-memmem.c (main): Use alarm to declare failure if test
57733         is taking too long.
57734         Reported by Ralf Wildenhues.
57735
57736 2007-12-21  Simon Josefsson  <simon@josefsson.org>
57737
57738         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
57739         string, needed by strerror.
57740
57741 2008-01-03  Colin Watson  <cjwatson@debian.org>
57742             Bruno Haible  <bruno@clisp.org>
57743
57744         * doc/gnulib-tool.texi (Localization): New section.
57745
57746 2008-01-02  Bruno Haible  <bruno@clisp.org>
57747
57748         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
57749         variables to 'unsigned char *' type.
57750         Reported by Paul Eggert.
57751
57752 2008-01-02  Jim Meyering  <jim@meyering.net>
57753
57754         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
57755
57756 2007-12-31  Jim Meyering  <jim@meyering.net>
57757
57758         Avoid use of private FTS type name.
57759         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
57760
57761 2007-12-30  Karl Berry  <karl@gnu.org>
57762
57763         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
57764         work around defect in Texinfo and/or the standalone Info browser.
57765
57766 2007-12-30  Bruno Haible  <bruno@clisp.org>
57767
57768         Unify 5 copies of the KMP code.
57769         * lib/str-kmp.h: New file.
57770         * lib/c-strcasestr.c: Include str-kmp.h.
57771         (knuth_morris_pratt): Remove function.
57772         (c_strcasestr): Update.
57773         * lib/c-strstr.c: Include str-kmp.h.
57774         (knuth_morris_pratt): Remove function.
57775         (c_strcasestr): Update.
57776         * lib/mbscasestr.c: Include str-kmp.h.
57777         (knuth_morris_pratt_unibyte): Remove function.
57778         * lib/mbsstr.c: Include str-kmp.h.
57779         (knuth_morris_pratt_unibyte): Remove function.
57780         * lib/strcasestr.c: Include str-kmp.h.
57781         (knuth_morris_pratt): Remove function.
57782         (strcasestr): Update.
57783         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
57784         * modules/c-strstr (Files): Likewise.
57785         * modules/mbscasestr (Files): Likewise.
57786         * modules/mbsstr (Files): Likewise.
57787         * modules/strcasestr (Files): Likewise.
57788         Suggested by Paul Eggert.
57789
57790 2007-12-30  Bruno Haible  <bruno@clisp.org>
57791
57792         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
57793         defined.
57794
57795 2007-12-30  Bruno Haible  <bruno@clisp.org>
57796
57797         * lib/xmalloca.h: Include xalloc.h.
57798         (xnmalloca): New macro.
57799
57800 2007-12-30  Bruno Haible  <bruno@clisp.org>
57801
57802         * lib/malloca.h (nmalloca): New macro.
57803         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
57804         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
57805         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
57806         knuth_morris_pratt_multibyte): Likewise.
57807         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
57808         knuth_morris_pratt_multibyte): Likewise.
57809         * lib/memmem.c (knuth_morris_pratt): Likewise.
57810         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
57811
57812 2007-12-25  Bruno Haible  <bruno@clisp.org>
57813
57814         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
57815         * lib/glob.c: Don't include openat.h.
57816         (link_exists2_p): Add back the code that deals with the
57817         !GLOB_ALTDIRFUNC case.
57818         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
57819         let it do the filename concatenation.
57820         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
57821         * modules/glob (Depends-on): Remove openat.
57822
57823 2007-12-31  Bruno Haible  <bruno@clisp.org>
57824
57825         * modules/dirfd (License): Change to LGPLv2+.
57826         Approved by Jim Meyering.
57827
57828 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
57829
57830         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
57831         when multiplying M by sizeof (size_t).
57832
57833 2007-12-10  Martin Lambers  <marlam@marlam.de>
57834
57835         Override getpagesize on mingw.
57836         * lib/getpagesize.c: New file.
57837         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
57838         * modules/getpagesize (Files): Add lib/getpagesize.c.
57839         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
57840         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
57841         REPLACE_GETPAGESIZE.
57842         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
57843
57844 2007-12-25  Bruno Haible  <bruno@clisp.org>
57845
57846         * modules/localcharset (Notice): New field.
57847         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
57848         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
57849
57850 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
57851             Bruno Haible  <bruno@clisp.org>
57852
57853         Avoid using the syntax symbol() in formatted documentation.
57854         * MODULES.html.sh (func_module): When replacing symbol() with a
57855         hyperlink, remove the parentheses. Show an error if some remain.
57856         Recognize and render the '...' syntax.
57857         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
57858         Rework. Add paragraph about GCC's inlining.
57859         * doc/alloca.texi: Likewise.
57860         * doc/error.texi: Remove parentheses from symbol reference.
57861         * doc/gnulib-intro.texi: Likewise.
57862         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
57863         * modules/fnmatch (Description): Reword to say "the ... function".
57864         * modules/full-read (Description): Likewise.
57865         * modules/full-write (Description): Likewise.
57866         * modules/safe-read (Description): Likewise.
57867         * modules/safe-write (Description): Likewise.
57868         * modules/strchrnul (Description): Likewise.
57869         * modules/trim (Description): Likewise.
57870         * modules/error (Description): Remove parentheses from symbol
57871         references.
57872         * modules/verror (Description): Likewise.
57873         Reported by Karl Berry.
57874
57875 2007-12-25  Bruno Haible  <bruno@clisp.org>
57876
57877         Fixup after 2007-10-16 commit.
57878         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
57879
57880 2007-12-24  Bruno Haible  <bruno@clisp.org>
57881
57882         Make --enable-relocatable work with DESTDIR.
57883         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
57884         to compute installdir from destprog.
57885         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
57886         also set the RELOC_DESTDIR variable.
57887         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
57888
57889 2007-12-24  Bruno Haible  <bruno@clisp.org>
57890
57891         Fix link error due to xalloc_die().
57892         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
57893         of xreadlink.
57894         * lib/relocwrapper.c: Update comments.
57895         * build-aux/install-reloc: Remove xreadlink.c from file list.
57896         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
57897         xreadlink.c.
57898         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
57899
57900 2007-12-24  Bruno Haible  <bruno@clisp.org>
57901
57902         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
57903         * lib/setenv.h: Remove file.
57904         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
57905         lib/setenv.h.
57906         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
57907         (Depends-on): Add stdlib.
57908         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
57909         gl_FUNC_UNSETENV.
57910         (Include): Replace setenv.h with <stdlib.h>.
57911         * modules/unsetenv: New file.
57912         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
57913         * lib/unsetenv.c: Include <stdlib.h> first.
57914         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
57915         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
57916         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
57917         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
57918         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
57919         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
57920         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
57921         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
57922         * doc/functions/unsetenv.texi: Update.
57923         * modules/xsetenv (Depends-on): Add unsetenv.
57924         * modules/getdate (Depends-on): Likewise.
57925         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
57926         * lib/xsetenv.c: Don't include setenv.h.
57927         * lib/getdate.y: Likewise.
57928         * lib/relocwrapper.c: Likewise.
57929         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
57930         (Depends-on): Add stdlib.
57931         * NEWS: Mention the changes.
57932         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
57933
57934 2007-12-23  Bruno Haible  <bruno@clisp.org>
57935
57936         * lib/memmem.c (memmem): Use lowercase variable names. Tab
57937         indentation.
57938
57939 2007-12-23  Bruno Haible  <bruno@clisp.org>
57940
57941         * lib/c-strcasestr.c: Add more comments.
57942         * lib/c-strstr.c: Likewise.
57943         * lib/mbscasestr.c: Likewise.
57944         * lib/mbsstr.c: Likewise.
57945         * lib/strcasestr.c: Likewise.
57946         * lib/memmem.c: Likewise.
57947
57948 2007-12-23  Bruno Haible  <bruno@clisp.org>
57949
57950         * tests/test-memmem.c: Include <string.h> first.
57951
57952 2007-12-22  Bruno Haible  <bruno@clisp.org>
57953
57954         * gnulib-tool (func_create_testdir): Change $auxdir while generating
57955         the contents of $testsbase.
57956         Reported by Ralf Wildenhues.
57957
57958 2007-12-22  Bruno Haible  <bruno@clisp.org>
57959
57960         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
57961         two variables local_ldadd_before, local_ldadd_last.
57962
57963 2007-12-20  Eric Blake  <ebb9@byu.net>
57964
57965         Work around circular library issue when cross-compiling.
57966         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
57967         that progname.o does not need to pull in rpl_memcmp.
57968
57969 2007-12-19  Eric Blake  <ebb9@byu.net>
57970
57971         Fix memmem to avoid O(n^2) worst-case complexity.
57972         * lib/memmem.c (knuth_morris_pratt): New function.
57973         (memmem): Use it if first few naive iterations fail.
57974         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
57975         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
57976         * modules/memchr (License): Likewise.
57977         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
57978         malloca.
57979         * tests/test-memmem.c: Rewrite, borrowing ideas from
57980         test-mbsstr1.c; the old version wouldn't even compile!
57981         * modules/memmem-tests: New file.
57982         * lib/string.in.h (rpl_memmem): Add declaration.
57983         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
57984         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
57985         REPLACE_MEMMEM.
57986
57987 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
57988
57989         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
57990         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
57991         before any system include files, and undef after them all.  This
57992         should fix a problem on VMS reported by John E. Malmberg in
57993         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
57994
57995 2007-12-17  Eric Blake  <ebb9@byu.net>
57996
57997         Revert addition of verify, for BSD/OS.
57998         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
57999         can't handle large files, for the sake of obsolete platforms.
58000         * modules/fseeko (Depends-on): Remove verify.
58001         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
58002         * doc/functions/ftello.texi (ftello): Likewise.
58003         * doc/functions/fgetpos.texi (fgetpos): Likewise.
58004         Reported by Larry Jones.
58005
58006 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
58007
58008         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
58009         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
58010
58011 2007-12-17  Jim Meyering  <meyering@redhat.com>
58012
58013         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
58014         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
58015         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
58016         * modules/getcwd (Depends-on): Add openat.
58017         Reported by Petr Salinger.
58018
58019 2007-12-17  Bruno Haible  <bruno@clisp.org>
58020
58021         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
58022         avoid a segmentation fault of the configure test on x86_64 systems.
58023
58024 2007-12-15  Jim Meyering  <meyering@redhat.com>
58025
58026         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
58027
58028 2007-12-13  Eric Blake  <ebb9@byu.net>
58029
58030         Another fseek test.
58031         * tests/test-fseek.c (main): Also test ungetc handling.
58032         * tests/test-fseeko.c (main): Likewise.
58033         * modules/fseeko (Depends-on): Add verify.
58034         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
58035         large.
58036         Reported by Larry Jones.
58037
58038         Fix fseeko on mingw.
58039         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
58040         seek.
58041
58042         Beef up fseek tests.
58043         * tests/test-fseek.c (main): Also test eof handling.
58044         * tests/test-fseeko.c (main): Likewise.
58045         Reported by Larry Jones.
58046
58047 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
58048
58049         Fix fseeko on BSD-based platforms.
58050         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
58051         successful seek.
58052
58053 2007-12-12  Eric Blake  <ebb9@byu.net>
58054
58055         Allow circular dependency of separate libtests.a
58056         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
58057         when use_libtests.
58058
58059 2007-12-11  Eric Blake  <ebb9@byu.net>
58060
58061         Fix bug with -0.0L in previous patch.
58062         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
58063         * tests/test-isnan.c (main): Also test on zeroes.
58064         * tests/test-isnanf.c (main): Likewise.
58065         * tests/test-isnanl.h (main): Likewise.
58066
58067         Detect pseudo-denormals on x86 even when cross-compiling.
58068         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
58069         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
58070         invalid bit patterns that happen to satisfy ==.
58071
58072         Avoid link failures with separate libtests.a.
58073         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
58074         last, to satisfy circular dependencies.
58075
58076 2007-12-11  Eric Blake  <ebb9@byu.net>
58077         and Bruno Haible  <bruno@clisp.org>
58078
58079         Fix OpenBSD 4.0 <float.h> handling of long double.
58080         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
58081         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
58082         * doc/headers/float.texi (float.h): Document OpenBSD bug.
58083
58084 2007-12-11  Jim Meyering  <meyering@redhat.com>
58085
58086         * users.txt: Add libvirt.
58087
58088         Support versions of autoconf prior to 2.59c.
58089         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
58090         if it is not already defined.
58091
58092 2007-12-09  Bruno Haible  <bruno@clisp.org>
58093
58094         Let 'gnulib-tool --import' collect sources needed for the tests in
58095         tests/ rather than in lib/.
58096         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
58097         argument. If true, add rules to generate libtests.a, and put libtests.a
58098         into $(LDADD). Consider source files in subdirectories and set
58099         uses_subdirs.
58100         (func_emit_initmacro_start, func_emit_initmacro_end,
58101         func_emit_initmacro_done): Pass all arguments explicitly.
58102         (func_import): Determine two module lists main_modules,
58103         testsrelated_modules. Determine use_libtests. Determine two variables
58104         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
58105         instead of just sed_transform_lib_file. Determine two variables
58106         main_files and testsrelated_files. Compute 'files' as the union of
58107         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
58108         func_add_or_update. In the generated gnulib-comp.m4, collect the
58109         object files for tests/ in different variables than those for lib/.
58110         Substitute LIBTESTS_LIBDEPS.
58111         (func_create_testdir): Combine the uses_subdirs results from
58112         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
58113
58114 2007-12-09  Bruno Haible  <bruno@clisp.org>
58115
58116         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
58117         the build-aux directory.
58118
58119 2007-12-09  Bruno Haible  <bruno@clisp.org>
58120
58121         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
58122         introduced on 2006-09-09.
58123
58124 2007-12-07  Jim Meyering  <meyering@redhat.com>
58125
58126         Let these macros work also with autoconf-2.59.
58127         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
58128         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
58129         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
58130
58131 2007-12-06  Jim Meyering  <meyering@redhat.com>
58132
58133         Avoid a configure-time syntax error in gl_FUNC_ACL.
58134         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
58135         function in each branch, before testing the cache variable.
58136
58137 2007-12-04  Eric Blake  <ebb9@byu.net>
58138
58139         Make scripts executable.
58140         * build-aux/config.guess: Add execute permissions.
58141         * build-aux/config.sub: Likewise.
58142         * build-aux/gendocs.sh: Likewise.
58143
58144         Fix frexp on mingw.
58145         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
58146         cross-compiling.
58147         * doc/functions/frexp.texi (frexp): Document the bug.
58148
58149         Make cygwin fseeko check more reliable.
58150         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
58151         version numbers, rather than unrelated feature check.
58152         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
58153         * doc/functions/ftello.texi (ftello): Likewise.
58154         Reported by Bruno Haible.
58155
58156         * m4/strerror.m4: Bump version number.
58157
58158 2007-12-03  Bruno Haible  <bruno@clisp.org>
58159
58160         * doc/functions/mprotect.texi: Mention the mingw problem.
58161
58162 2007-12-03  Eric Blake  <ebb9@byu.net>
58163
58164         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
58165         REPLACE_STRERROR is initialized before this macro.
58166
58167 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
58168
58169         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
58170         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
58171         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
58172         put -lsec in even for programs other than 'ls'.  This fixes a problem
58173         for gettext reported by Bruno Haible in
58174         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
58175         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
58176         Add support for Solaris 10.  This isn't efficient, but should get the
58177         job done for now.
58178
58179 2007-12-03  James Youngman  <jay@gnu.org>
58180
58181         * doc/regexprops-generic.texi: change "an close-group" to "a
58182         close-group" and "illegal" to "not allowed".
58183
58184 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58185
58186         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
58187         pr_byname.h. Needed for the rare case when the maintainer has done
58188         "make maintainer-clean" in the source directory and then attempts a
58189         build outside the source directory.
58190         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
58191         scripts_byname.h.
58192
58193 2007-12-02  Martin Lambers <marlam@marlam.de>
58194             Bruno Haible  <bruno@clisp.org>
58195
58196         * lib/getpagesize.h: Remove file.
58197         * lib/unistd.in.h: Include declaration of getpagesize here.
58198         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
58199         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
58200         HAVE_SYS_PARAM_H.
58201         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
58202         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
58203         * modules/getpagesize (Files): Remove lib/getpagesize.h.
58204         (Depends-on): Add unistd.
58205         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58206         (Include): Use <unistd.h> instead of getpagesize.h.
58207         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
58208         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
58209         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
58210         gl_GETPAGESIZE invocation, already handled by module dependency.
58211         * lib/pagealign_alloc.c: Don't include getpagesize.h.
58212
58213 2007-12-02  Bruno Haible  <bruno@clisp.org>
58214
58215         * modules/strings-tests: New file.
58216         * tests/test-strings.c: New file.
58217
58218         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
58219         * lib/strings.in.h: New file.
58220         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
58221         * m4/strings_h.m4: New file.
58222         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
58223         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
58224         * modules/strings: New file.
58225         * modules/string (Makefile.am): Update.
58226         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
58227         Reported by Karl Berry.
58228
58229 2007-12-01  Eric Blake  <ebb9@byu.net>
58230
58231         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
58232         accomodate fix in cygwin 1.5.25.
58233
58234 2007-12-01  Jim Meyering  <meyering@redhat.com>
58235
58236         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
58237         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
58238         that would inhibit utf8-optimization of a regexp containing line-
58239         or buffer-anchors, e.g., `^', `$'.
58240
58241 2007-11-30  Bruno Haible  <bruno@clisp.org>
58242
58243         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
58244         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
58245         glthread_recursive_lock_init.
58246         * lib/lock.c (glthread_recursive_lock_init)
58247         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
58248         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
58249
58250 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
58251
58252         New function qset_acl, like set_acl but with syscall semantics.
58253         * lib/acl.h (qset_acl): New decl.
58254         * lib/acl.c (qset_acl): New function.
58255         (set_acl): Use new function.  Use more-consistent diagnostics.
58256
58257 2007-11-28  Jim Meyering  <meyering@redhat.com>
58258
58259         * modules/physmem (License): Change from GPL to LGPLv2+.
58260
58261 2007-11-26  Bruno Haible  <bruno@clisp.org>
58262
58263         * lib/vasnprintf.c (decode_long_double): Don't abort if the
58264         'long double' type has excess precision.
58265         Reported by Jim Meyering in
58266         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
58267
58268 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58269
58270         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
58271         Sync from <http://gnu.org/licenses>.
58272         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
58273         with license text from same location.
58274         * doc/maintain.texi, doc/standards.texi:  Sync from
58275         <http://savannah.gnu.org/projects/gnustandards>.
58276
58277 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
58278         and Jim Meyering  <meyering@redhat.com>
58279
58280         Adjust getdate' grammar to accept a slightly more regular language.
58281         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
58282         Before, the former was rejected.
58283         * lib/getdate.y (digits_to_date_time): New function, factored
58284         out of ...
58285         (number): ...here.  Just call digits_to_date_time.
58286         (hybrid): New non-terminal to handle an <unsigned number,
58287         signed relative offset> sequence consistently.
58288
58289 2007-11-18  Jim Meyering  <meyering@redhat.com>
58290
58291         Pull my changes from coreutils:
58292         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
58293         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
58294         use of $gnulib_tool_option_extras, so that it's separated from the
58295         preceding argument.
58296
58297         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
58298         * build-aux/bootstrap (cp_mark_as_generated): Create any required
58299         parent destination directories before copying a file into place.
58300
58301 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
58302
58303         bootstrap: work also with 4-argument variant of AC_INIT
58304         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
58305
58306 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
58307
58308         Port test-getaddrinfo to Solaris.
58309         Problem reported by Bruno Haible in
58310         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
58311         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
58312         explanation of setting 'hints'.
58313         Don't reject an implementation merely because it returns EAI_SERVICE.
58314         (EAI_SERVICE): Define to 0 if not defined.
58315
58316 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
58317
58318         The license of gnu-make and posix-shell is now "GPLed build tool".
58319         * modules/gnu-make (License): Likewise.
58320         * modules/posix-shell (License): Likewise.
58321
58322         New module posix-shell, for determining a POSIX shell
58323         or perhaps something that is close enough to a POSIX shell.
58324         * m4/posix-shell.m4: New file.
58325         * modules/posix-shell: New file.
58326
58327         * MODULES.html.sh: Mention new module.
58328
58329         New module gnu-make, for determining whether we're using GNU Make.
58330         * m4/gnu-make.m4: New file.
58331         * modules/gnu-make: New file.
58332         * MODULES.html.sh: Mention new module.
58333
58334 2007-11-14  Jim Meyering  <meyering@redhat.com>
58335
58336         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
58337         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
58338         use this macro to create a function _definition_.
58339         Remove useless "#undef ARGMATCH_DIE".
58340
58341 2007-11-14  Bruno Haible  <bruno@clisp.org>
58342
58343         * lib/config.charset: Update for OpenBSD 4.1.
58344         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
58345
58346 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
58347
58348         Document 64-bit #if problems in stdint.texi.
58349         * doc/headers/stdint.texi (stdint.h): Mention problems with
58350         64-bit-#if, and how to work around them.
58351
58352         Don't insist on 'long long int' support in the preprocessor.  It
58353         breaks too many things.  For example, PRIdMAX still uses a 'long
58354         long int' format with the latest Sun compiler, even though
58355         HAVE_LONG_LONG_INT isn't defined due to that compiler's
58356         preprocessor problem.  This causes the latest coreutils to dump
58357         core on Solaris 10 sparc with the Sun C compiler.
58358         Instead, fix the 2007-10-16 problem in a different way, by evaluating
58359         the troublesome expressions at configure-time, not at #if-time.
58360         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
58361         preprocessor.
58362         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
58363         compile-time C checks, done at 'configure'-time.
58364         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
58365         * modules/inttypes (Makefile): Substitute the new symbols that
58366         gl_INTTYPES_H now generates.
58367         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
58368
58369 2007-11-12  Bruno Haible  <bruno@clisp.org>
58370
58371         Tests for Unicode character classification functions.
58372
58373         * modules/unictype/bidicategory-byname-tests: New file.
58374         * modules/unictype/bidicategory-name-tests: New file.
58375         * modules/unictype/bidicategory-of-tests: New file.
58376         * modules/unictype/bidicategory-test-tests: New file.
58377         * modules/unictype/block-list-tests: New file.
58378         * modules/unictype/block-of-tests: New file.
58379         * modules/unictype/block-test-tests: New file.
58380         * modules/unictype/category-C-tests: New file.
58381         * modules/unictype/category-Cc-tests: New file.
58382         * modules/unictype/category-Cf-tests: New file.
58383         * modules/unictype/category-Cn-tests: New file.
58384         * modules/unictype/category-Co-tests: New file.
58385         * modules/unictype/category-Cs-tests: New file.
58386         * modules/unictype/category-L-tests: New file.
58387         * modules/unictype/category-Ll-tests: New file.
58388         * modules/unictype/category-Lm-tests: New file.
58389         * modules/unictype/category-Lo-tests: New file.
58390         * modules/unictype/category-Lt-tests: New file.
58391         * modules/unictype/category-Lu-tests: New file.
58392         * modules/unictype/category-M-tests: New file.
58393         * modules/unictype/category-Mc-tests: New file.
58394         * modules/unictype/category-Me-tests: New file.
58395         * modules/unictype/category-Mn-tests: New file.
58396         * modules/unictype/category-N-tests: New file.
58397         * modules/unictype/category-Nd-tests: New file.
58398         * modules/unictype/category-Nl-tests: New file.
58399         * modules/unictype/category-No-tests: New file.
58400         * modules/unictype/category-P-tests: New file.
58401         * modules/unictype/category-Pc-tests: New file.
58402         * modules/unictype/category-Pd-tests: New file.
58403         * modules/unictype/category-Pe-tests: New file.
58404         * modules/unictype/category-Pf-tests: New file.
58405         * modules/unictype/category-Pi-tests: New file.
58406         * modules/unictype/category-Po-tests: New file.
58407         * modules/unictype/category-Ps-tests: New file.
58408         * modules/unictype/category-S-tests: New file.
58409         * modules/unictype/category-Sc-tests: New file.
58410         * modules/unictype/category-Sk-tests: New file.
58411         * modules/unictype/category-Sm-tests: New file.
58412         * modules/unictype/category-So-tests: New file.
58413         * modules/unictype/category-Z-tests: New file.
58414         * modules/unictype/category-Zl-tests: New file.
58415         * modules/unictype/category-Zp-tests: New file.
58416         * modules/unictype/category-Zs-tests: New file.
58417         * modules/unictype/category-and-not-tests: New file.
58418         * modules/unictype/category-and-tests: New file.
58419         * modules/unictype/category-byname-tests: New file.
58420         * modules/unictype/category-name-tests: New file.
58421         * modules/unictype/category-none-tests: New file.
58422         * modules/unictype/category-of-tests: New file.
58423         * modules/unictype/category-or-tests: New file.
58424         * modules/unictype/category-test-withtable-tests: New file.
58425         * modules/unictype/combining-class-tests: New file.
58426         * modules/unictype/ctype-alnum-tests: New file.
58427         * modules/unictype/ctype-alpha-tests: New file.
58428         * modules/unictype/ctype-blank-tests: New file.
58429         * modules/unictype/ctype-cntrl-tests: New file.
58430         * modules/unictype/ctype-digit-tests: New file.
58431         * modules/unictype/ctype-graph-tests: New file.
58432         * modules/unictype/ctype-lower-tests: New file.
58433         * modules/unictype/ctype-print-tests: New file.
58434         * modules/unictype/ctype-punct-tests: New file.
58435         * modules/unictype/ctype-space-tests: New file.
58436         * modules/unictype/ctype-upper-tests: New file.
58437         * modules/unictype/ctype-xdigit-tests: New file.
58438         * modules/unictype/decimal-digit-tests: New file.
58439         * modules/unictype/digit-tests: New file.
58440         * modules/unictype/mirror-tests: New file.
58441         * modules/unictype/numeric-tests: New file.
58442         * modules/unictype/property-alphabetic-tests: New file.
58443         * modules/unictype/property-ascii-hex-digit-tests: New file.
58444         * modules/unictype/property-bidi-arabic-digit-tests: New file.
58445         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
58446         * modules/unictype/property-bidi-block-separator-tests: New file.
58447         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
58448         * modules/unictype/property-bidi-common-separator-tests: New file.
58449         * modules/unictype/property-bidi-control-tests: New file.
58450         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
58451         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
58452         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
58453         * modules/unictype/property-bidi-european-digit-tests: New file.
58454         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
58455         * modules/unictype/property-bidi-left-to-right-tests: New file.
58456         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
58457         * modules/unictype/property-bidi-other-neutral-tests: New file.
58458         * modules/unictype/property-bidi-pdf-tests: New file.
58459         * modules/unictype/property-bidi-segment-separator-tests: New file.
58460         * modules/unictype/property-bidi-whitespace-tests: New file.
58461         * modules/unictype/property-byname-tests: New file.
58462         * modules/unictype/property-combining-tests: New file.
58463         * modules/unictype/property-composite-tests: New file.
58464         * modules/unictype/property-currency-symbol-tests: New file.
58465         * modules/unictype/property-dash-tests: New file.
58466         * modules/unictype/property-decimal-digit-tests: New file.
58467         * modules/unictype/property-default-ignorable-code-point-tests: New file.
58468         * modules/unictype/property-deprecated-tests: New file.
58469         * modules/unictype/property-diacritic-tests: New file.
58470         * modules/unictype/property-extender-tests: New file.
58471         * modules/unictype/property-format-control-tests: New file.
58472         * modules/unictype/property-grapheme-base-tests: New file.
58473         * modules/unictype/property-grapheme-extend-tests: New file.
58474         * modules/unictype/property-grapheme-link-tests: New file.
58475         * modules/unictype/property-hex-digit-tests: New file.
58476         * modules/unictype/property-hyphen-tests: New file.
58477         * modules/unictype/property-id-continue-tests: New file.
58478         * modules/unictype/property-id-start-tests: New file.
58479         * modules/unictype/property-ideographic-tests: New file.
58480         * modules/unictype/property-ids-binary-operator-tests: New file.
58481         * modules/unictype/property-ids-trinary-operator-tests: New file.
58482         * modules/unictype/property-ignorable-control-tests: New file.
58483         * modules/unictype/property-iso-control-tests: New file.
58484         * modules/unictype/property-join-control-tests: New file.
58485         * modules/unictype/property-left-of-pair-tests: New file.
58486         * modules/unictype/property-line-separator-tests: New file.
58487         * modules/unictype/property-logical-order-exception-tests: New file.
58488         * modules/unictype/property-lowercase-tests: New file.
58489         * modules/unictype/property-math-tests: New file.
58490         * modules/unictype/property-non-break-tests: New file.
58491         * modules/unictype/property-not-a-character-tests: New file.
58492         * modules/unictype/property-numeric-tests: New file.
58493         * modules/unictype/property-other-alphabetic-tests: New file.
58494         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
58495         * modules/unictype/property-other-grapheme-extend-tests: New file.
58496         * modules/unictype/property-other-id-continue-tests: New file.
58497         * modules/unictype/property-other-id-start-tests: New file.
58498         * modules/unictype/property-other-lowercase-tests: New file.
58499         * modules/unictype/property-other-math-tests: New file.
58500         * modules/unictype/property-other-uppercase-tests: New file.
58501         * modules/unictype/property-paired-punctuation-tests: New file.
58502         * modules/unictype/property-paragraph-separator-tests: New file.
58503         * modules/unictype/property-pattern-syntax-tests: New file.
58504         * modules/unictype/property-pattern-white-space-tests: New file.
58505         * modules/unictype/property-private-use-tests: New file.
58506         * modules/unictype/property-punctuation-tests: New file.
58507         * modules/unictype/property-quotation-mark-tests: New file.
58508         * modules/unictype/property-radical-tests: New file.
58509         * modules/unictype/property-sentence-terminal-tests: New file.
58510         * modules/unictype/property-soft-dotted-tests: New file.
58511         * modules/unictype/property-space-tests: New file.
58512         * modules/unictype/property-terminal-punctuation-tests: New file.
58513         * modules/unictype/property-test-tests: New file.
58514         * modules/unictype/property-titlecase-tests: New file.
58515         * modules/unictype/property-unassigned-code-value-tests: New file.
58516         * modules/unictype/property-unified-ideograph-tests: New file.
58517         * modules/unictype/property-uppercase-tests: New file.
58518         * modules/unictype/property-variation-selector-tests: New file.
58519         * modules/unictype/property-white-space-tests: New file.
58520         * modules/unictype/property-xid-continue-tests: New file.
58521         * modules/unictype/property-xid-start-tests: New file.
58522         * modules/unictype/property-zero-width-tests: New file.
58523         * modules/unictype/scripts-tests: New file.
58524         * modules/unictype/syntax-c-ident-tests: New file.
58525         * modules/unictype/syntax-c-whitespace-tests: New file.
58526         * modules/unictype/syntax-java-ident-tests: New file.
58527         * modules/unictype/syntax-java-whitespace-tests: New file.
58528         * tests/unictype/test-bidi_byname.c: New file.
58529         * tests/unictype/test-bidi_name.c: New file.
58530         * tests/unictype/test-bidi_of.c: New file.
58531         * tests/unictype/test-bidi_test.c: New file.
58532         * tests/unictype/test-block_list.c: New file.
58533         * tests/unictype/test-block_of.c: New file.
58534         * tests/unictype/test-block_test.c: New file.
58535         * tests/unictype/test-categ_and.c: New file.
58536         * tests/unictype/test-categ_and_not.c: New file.
58537         * tests/unictype/test-categ_byname.c: New file.
58538         * tests/unictype/test-categ_name.c: New file.
58539         * tests/unictype/test-categ_none.c: New file.
58540         * tests/unictype/test-categ_of.c: New file.
58541         * tests/unictype/test-categ_or.c: New file.
58542         * tests/unictype/test-categ_test_withtable.c: New file.
58543         * tests/unictype/test-combining.c: New file.
58544         * tests/unictype/test-decdigit.c: New file.
58545         * tests/unictype/test-digit.c: New file.
58546         * tests/unictype/test-mirror.c: New file.
58547         * tests/unictype/test-numeric.c: New file.
58548         * tests/unictype/test-pr_byname.c: New file.
58549         * tests/unictype/test-pr_test.c: New file.
58550         * tests/unictype/test-predicate-part1.h: New file.
58551         * tests/unictype/test-predicate-part2.h: New file.
58552         * tests/unictype/test-scripts.c: New file.
58553         * tests/unictype/test-sy_c_ident.c: New file.
58554         * tests/unictype/test-sy_java_ident.c: New file.
58555
58556         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
58557         for Unicode 5.0.0.
58558         * tests/unictype/test-categ_Cc.c: Likewise.
58559         * tests/unictype/test-categ_Cf.c: Likewise.
58560         * tests/unictype/test-categ_Cn.c: Likewise.
58561         * tests/unictype/test-categ_Co.c: Likewise.
58562         * tests/unictype/test-categ_Cs.c: Likewise.
58563         * tests/unictype/test-categ_L.c: Likewise.
58564         * tests/unictype/test-categ_Ll.c: Likewise.
58565         * tests/unictype/test-categ_Lm.c: Likewise.
58566         * tests/unictype/test-categ_Lo.c: Likewise.
58567         * tests/unictype/test-categ_Lt.c: Likewise.
58568         * tests/unictype/test-categ_Lu.c: Likewise.
58569         * tests/unictype/test-categ_M.c: Likewise.
58570         * tests/unictype/test-categ_Mc.c: Likewise.
58571         * tests/unictype/test-categ_Me.c: Likewise.
58572         * tests/unictype/test-categ_Mn.c: Likewise.
58573         * tests/unictype/test-categ_N.c: Likewise.
58574         * tests/unictype/test-categ_Nd.c: Likewise.
58575         * tests/unictype/test-categ_Nl.c: Likewise.
58576         * tests/unictype/test-categ_No.c: Likewise.
58577         * tests/unictype/test-categ_P.c: Likewise.
58578         * tests/unictype/test-categ_Pc.c: Likewise.
58579         * tests/unictype/test-categ_Pd.c: Likewise.
58580         * tests/unictype/test-categ_Pe.c: Likewise.
58581         * tests/unictype/test-categ_Pf.c: Likewise.
58582         * tests/unictype/test-categ_Pi.c: Likewise.
58583         * tests/unictype/test-categ_Po.c: Likewise.
58584         * tests/unictype/test-categ_Ps.c: Likewise.
58585         * tests/unictype/test-categ_S.c: Likewise.
58586         * tests/unictype/test-categ_Sc.c: Likewise.
58587         * tests/unictype/test-categ_Sk.c: Likewise.
58588         * tests/unictype/test-categ_Sm.c: Likewise.
58589         * tests/unictype/test-categ_So.c: Likewise.
58590         * tests/unictype/test-categ_Z.c: Likewise.
58591         * tests/unictype/test-categ_Zl.c: Likewise.
58592         * tests/unictype/test-categ_Zp.c: Likewise.
58593         * tests/unictype/test-categ_Zs.c: Likewise.
58594         * tests/unictype/test-ctype_alnum.c: Likewise.
58595         * tests/unictype/test-ctype_alpha.c: Likewise.
58596         * tests/unictype/test-ctype_blank.c: Likewise.
58597         * tests/unictype/test-ctype_cntrl.c: Likewise.
58598         * tests/unictype/test-ctype_digit.c: Likewise.
58599         * tests/unictype/test-ctype_graph.c: Likewise.
58600         * tests/unictype/test-ctype_lower.c: Likewise.
58601         * tests/unictype/test-ctype_print.c: Likewise.
58602         * tests/unictype/test-ctype_punct.c: Likewise.
58603         * tests/unictype/test-ctype_space.c: Likewise.
58604         * tests/unictype/test-ctype_upper.c: Likewise.
58605         * tests/unictype/test-ctype_xdigit.c: Likewise.
58606         * tests/unictype/test-decdigit.h: Likewise.
58607         * tests/unictype/test-digit.h: Likewise.
58608         * tests/unictype/test-numeric.h: Likewise.
58609         * tests/unictype/test-pr_alphabetic.c: Likewise.
58610         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
58611         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
58612         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
58613         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
58614         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
58615         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
58616         * tests/unictype/test-pr_bidi_control.c: Likewise.
58617         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
58618         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
58619         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
58620         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
58621         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
58622         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
58623         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
58624         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
58625         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
58626         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
58627         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
58628         * tests/unictype/test-pr_combining.c: Likewise.
58629         * tests/unictype/test-pr_composite.c: Likewise.
58630         * tests/unictype/test-pr_currency_symbol.c: Likewise.
58631         * tests/unictype/test-pr_dash.c: Likewise.
58632         * tests/unictype/test-pr_decimal_digit.c: Likewise.
58633         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
58634         * tests/unictype/test-pr_deprecated.c: Likewise.
58635         * tests/unictype/test-pr_diacritic.c: Likewise.
58636         * tests/unictype/test-pr_extender.c: Likewise.
58637         * tests/unictype/test-pr_format_control.c: Likewise.
58638         * tests/unictype/test-pr_grapheme_base.c: Likewise.
58639         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
58640         * tests/unictype/test-pr_grapheme_link.c: Likewise.
58641         * tests/unictype/test-pr_hex_digit.c: Likewise.
58642         * tests/unictype/test-pr_hyphen.c: Likewise.
58643         * tests/unictype/test-pr_id_continue.c: Likewise.
58644         * tests/unictype/test-pr_id_start.c: Likewise.
58645         * tests/unictype/test-pr_ideographic.c: Likewise.
58646         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
58647         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
58648         * tests/unictype/test-pr_ignorable_control.c: Likewise.
58649         * tests/unictype/test-pr_iso_control.c: Likewise.
58650         * tests/unictype/test-pr_join_control.c: Likewise.
58651         * tests/unictype/test-pr_left_of_pair.c: Likewise.
58652         * tests/unictype/test-pr_line_separator.c: Likewise.
58653         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
58654         * tests/unictype/test-pr_lowercase.c: Likewise.
58655         * tests/unictype/test-pr_math.c: Likewise.
58656         * tests/unictype/test-pr_non_break.c: Likewise.
58657         * tests/unictype/test-pr_not_a_character.c: Likewise.
58658         * tests/unictype/test-pr_numeric.c: Likewise.
58659         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
58660         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
58661         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
58662         * tests/unictype/test-pr_other_id_continue.c: Likewise.
58663         * tests/unictype/test-pr_other_id_start.c: Likewise.
58664         * tests/unictype/test-pr_other_lowercase.c: Likewise.
58665         * tests/unictype/test-pr_other_math.c: Likewise.
58666         * tests/unictype/test-pr_other_uppercase.c: Likewise.
58667         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
58668         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
58669         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
58670         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
58671         * tests/unictype/test-pr_private_use.c: Likewise.
58672         * tests/unictype/test-pr_punctuation.c: Likewise.
58673         * tests/unictype/test-pr_quotation_mark.c: Likewise.
58674         * tests/unictype/test-pr_radical.c: Likewise.
58675         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
58676         * tests/unictype/test-pr_soft_dotted.c: Likewise.
58677         * tests/unictype/test-pr_space.c: Likewise.
58678         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
58679         * tests/unictype/test-pr_titlecase.c: Likewise.
58680         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
58681         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
58682         * tests/unictype/test-pr_uppercase.c: Likewise.
58683         * tests/unictype/test-pr_variation_selector.c: Likewise.
58684         * tests/unictype/test-pr_white_space.c: Likewise.
58685         * tests/unictype/test-pr_xid_continue.c: Likewise.
58686         * tests/unictype/test-pr_xid_start.c: Likewise.
58687         * tests/unictype/test-pr_zero_width.c: Likewise.
58688         * tests/unictype/test-sy_c_whitespace.c: Likewise.
58689         * tests/unictype/test-sy_java_whitespace.c: Likewise.
58690
58691 2007-11-12  Bruno Haible  <bruno@clisp.org>
58692
58693         Unicode character classification functions.
58694         * lib/unictype.h: New file.
58695         * modules/unictype/base: New file.
58696         * modules/unictype/category-L: New file.
58697         * modules/unictype/category-Lu: New file.
58698         * modules/unictype/category-Ll: New file.
58699         * modules/unictype/category-Lt: New file.
58700         * modules/unictype/category-Lm: New file.
58701         * modules/unictype/category-Lo: New file.
58702         * modules/unictype/category-M: New file.
58703         * modules/unictype/category-Mn: New file.
58704         * modules/unictype/category-Mc: New file.
58705         * modules/unictype/category-Me: New file.
58706         * modules/unictype/category-N: New file.
58707         * modules/unictype/category-Nd: New file.
58708         * modules/unictype/category-Nl: New file.
58709         * modules/unictype/category-No: New file.
58710         * modules/unictype/category-P: New file.
58711         * modules/unictype/category-Pc: New file.
58712         * modules/unictype/category-Pd: New file.
58713         * modules/unictype/category-Ps: New file.
58714         * modules/unictype/category-Pe: New file.
58715         * modules/unictype/category-Pi: New file.
58716         * modules/unictype/category-Pf: New file.
58717         * modules/unictype/category-Po: New file.
58718         * modules/unictype/category-S: New file.
58719         * modules/unictype/category-Sm: New file.
58720         * modules/unictype/category-Sc: New file.
58721         * modules/unictype/category-Sk: New file.
58722         * modules/unictype/category-So: New file.
58723         * modules/unictype/category-Z: New file.
58724         * modules/unictype/category-Zs: New file.
58725         * modules/unictype/category-Zl: New file.
58726         * modules/unictype/category-Zp: New file.
58727         * modules/unictype/category-C: New file.
58728         * modules/unictype/category-Cc: New file.
58729         * modules/unictype/category-Cf: New file.
58730         * modules/unictype/category-Cs: New file.
58731         * modules/unictype/category-Co: New file.
58732         * modules/unictype/category-Cn: New file.
58733         * modules/unictype/category-or: New file.
58734         * modules/unictype/category-of: New file.
58735         * modules/unictype/category-test: New file.
58736         * modules/unictype/category-test-withtable: New file.
58737         * modules/unictype/category-byname: New file.
58738         * modules/unictype/category-none: New file.
58739         * modules/unictype/category-and: New file.
58740         * modules/unictype/category-and-not: New file.
58741         * modules/unictype/category-name: New file.
58742         * modules/unictype/combining-class: New file.
58743         * modules/unictype/category-all: New file.
58744         * modules/unictype/bidicategory-all: New file.
58745         * modules/unictype/bidicategory-byname: New file.
58746         * modules/unictype/bidicategory-name: New file.
58747         * modules/unictype/bidicategory-of: New file.
58748         * modules/unictype/bidicategory-test: New file.
58749         * modules/unictype/decimal-digit: New file.
58750         * modules/unictype/digit: New file.
58751         * modules/unictype/numeric: New file.
58752         * modules/unictype/mirror: New file.
58753         * modules/unictype/property-white-space: New file.
58754         * modules/unictype/property-alphabetic: New file.
58755         * modules/unictype/property-other-alphabetic: New file.
58756         * modules/unictype/property-not-a-character: New file.
58757         * modules/unictype/property-default-ignorable-code-point: New file.
58758         * modules/unictype/property-other-default-ignorable-code-point: New
58759         file.
58760         * modules/unictype/property-deprecated: New file.
58761         * modules/unictype/property-logical-order-exception: New file.
58762         * modules/unictype/property-variation-selector: New file.
58763         * modules/unictype/property-private-use: New file.
58764         * modules/unictype/property-unassigned-code-value: New file.
58765         * modules/unictype/property-uppercase: New file.
58766         * modules/unictype/property-other-uppercase: New file.
58767         * modules/unictype/property-lowercase: New file.
58768         * modules/unictype/property-other-lowercase: New file.
58769         * modules/unictype/property-titlecase: New file.
58770         * modules/unictype/property-soft-dotted: New file.
58771         * modules/unictype/property-id-start: New file.
58772         * modules/unictype/property-other-id-start: New file.
58773         * modules/unictype/property-id-continue: New file.
58774         * modules/unictype/property-other-id-continue: New file.
58775         * modules/unictype/property-xid-start: New file.
58776         * modules/unictype/property-xid-continue: New file.
58777         * modules/unictype/property-pattern-white-space: New file.
58778         * modules/unictype/property-pattern-syntax: New file.
58779         * modules/unictype/property-join-control: New file.
58780         * modules/unictype/property-grapheme-base: New file.
58781         * modules/unictype/property-grapheme-extend: New file.
58782         * modules/unictype/property-other-grapheme-extend: New file.
58783         * modules/unictype/property-grapheme-link: New file.
58784         * modules/unictype/property-bidi-control: New file.
58785         * modules/unictype/property-bidi-left-to-right: New file.
58786         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
58787         * modules/unictype/property-bidi-arabic-right-to-left: New file.
58788         * modules/unictype/property-bidi-european-digit: New file.
58789         * modules/unictype/property-bidi-eur-num-separator: New file.
58790         * modules/unictype/property-bidi-eur-num-terminator: New file.
58791         * modules/unictype/property-bidi-arabic-digit: New file.
58792         * modules/unictype/property-bidi-common-separator: New file.
58793         * modules/unictype/property-bidi-block-separator: New file.
58794         * modules/unictype/property-bidi-segment-separator: New file.
58795         * modules/unictype/property-bidi-whitespace: New file.
58796         * modules/unictype/property-bidi-non-spacing-mark: New file.
58797         * modules/unictype/property-bidi-boundary-neutral: New file.
58798         * modules/unictype/property-bidi-pdf: New file.
58799         * modules/unictype/property-bidi-embedding-or-override: New file.
58800         * modules/unictype/property-bidi-other-neutral: New file.
58801         * modules/unictype/property-hex-digit: New file.
58802         * modules/unictype/property-ascii-hex-digit: New file.
58803         * modules/unictype/property-ideographic: New file.
58804         * modules/unictype/property-unified-ideograph: New file.
58805         * modules/unictype/property-radical: New file.
58806         * modules/unictype/property-ids-binary-operator: New file.
58807         * modules/unictype/property-ids-trinary-operator: New file.
58808         * modules/unictype/property-zero-width: New file.
58809         * modules/unictype/property-space: New file.
58810         * modules/unictype/property-non-break: New file.
58811         * modules/unictype/property-iso-control: New file.
58812         * modules/unictype/property-format-control: New file.
58813         * modules/unictype/property-dash: New file.
58814         * modules/unictype/property-hyphen: New file.
58815         * modules/unictype/property-punctuation: New file.
58816         * modules/unictype/property-line-separator: New file.
58817         * modules/unictype/property-paragraph-separator: New file.
58818         * modules/unictype/property-quotation-mark: New file.
58819         * modules/unictype/property-sentence-terminal: New file.
58820         * modules/unictype/property-terminal-punctuation: New file.
58821         * modules/unictype/property-currency-symbol: New file.
58822         * modules/unictype/property-math: New file.
58823         * modules/unictype/property-other-math: New file.
58824         * modules/unictype/property-paired-punctuation: New file.
58825         * modules/unictype/property-left-of-pair: New file.
58826         * modules/unictype/property-combining: New file.
58827         * modules/unictype/property-composite: New file.
58828         * modules/unictype/property-decimal-digit: New file.
58829         * modules/unictype/property-numeric: New file.
58830         * modules/unictype/property-diacritic: New file.
58831         * modules/unictype/property-extender: New file.
58832         * modules/unictype/property-ignorable-control: New file.
58833         * modules/unictype/property-test: New file.
58834         * modules/unictype/property-byname: New file.
58835         * modules/unictype/property-all: New file.
58836         * modules/unictype/scripts: New file.
58837         * modules/unictype/scripts-all: New file.
58838         * modules/unictype/block-of: New file.
58839         * modules/unictype/block-test: New file.
58840         * modules/unictype/block-list: New file.
58841         * modules/unictype/block-all: New file.
58842         * modules/unictype/syntax-c-whitespace: New file.
58843         * modules/unictype/syntax-java-whitespace: New file.
58844         * modules/unictype/syntax-c-ident: New file.
58845         * modules/unictype/syntax-java-ident: New file.
58846         * modules/unictype/ctype-alnum: New file.
58847         * modules/unictype/ctype-alpha: New file.
58848         * modules/unictype/ctype-cntrl: New file.
58849         * modules/unictype/ctype-digit: New file.
58850         * modules/unictype/ctype-graph: New file.
58851         * modules/unictype/ctype-lower: New file.
58852         * modules/unictype/ctype-print: New file.
58853         * modules/unictype/ctype-punct: New file.
58854         * modules/unictype/ctype-space: New file.
58855         * modules/unictype/ctype-upper: New file.
58856         * modules/unictype/ctype-xdigit: New file.
58857         * modules/unictype/ctype-blank: New file.
58858         * lib/unictype/bidi_byname.c: New file.
58859         * lib/unictype/bidi_name.c: New file.
58860         * lib/unictype/bidi_of.c: New file.
58861         * lib/unictype/bidi_test.c: New file.
58862         * lib/unictype/bitmap.h: New file.
58863         * lib/unictype/block_test.c: New file.
58864         * lib/unictype/blocks.c: New file.
58865         * lib/unictype/categ_C.c: New file.
58866         * lib/unictype/categ_Cc.c: New file.
58867         * lib/unictype/categ_Cf.c: New file.
58868         * lib/unictype/categ_Cn.c: New file.
58869         * lib/unictype/categ_Co.c: New file.
58870         * lib/unictype/categ_Cs.c: New file.
58871         * lib/unictype/categ_L.c: New file.
58872         * lib/unictype/categ_Ll.c: New file.
58873         * lib/unictype/categ_Lm.c: New file.
58874         * lib/unictype/categ_Lo.c: New file.
58875         * lib/unictype/categ_Lt.c: New file.
58876         * lib/unictype/categ_Lu.c: New file.
58877         * lib/unictype/categ_M.c: New file.
58878         * lib/unictype/categ_Mc.c: New file.
58879         * lib/unictype/categ_Me.c: New file.
58880         * lib/unictype/categ_Mn.c: New file.
58881         * lib/unictype/categ_N.c: New file.
58882         * lib/unictype/categ_Nd.c: New file.
58883         * lib/unictype/categ_Nl.c: New file.
58884         * lib/unictype/categ_No.c: New file.
58885         * lib/unictype/categ_P.c: New file.
58886         * lib/unictype/categ_Pc.c: New file.
58887         * lib/unictype/categ_Pd.c: New file.
58888         * lib/unictype/categ_Pe.c: New file.
58889         * lib/unictype/categ_Pf.c: New file.
58890         * lib/unictype/categ_Pi.c: New file.
58891         * lib/unictype/categ_Po.c: New file.
58892         * lib/unictype/categ_Ps.c: New file.
58893         * lib/unictype/categ_S.c: New file.
58894         * lib/unictype/categ_Sc.c: New file.
58895         * lib/unictype/categ_Sk.c: New file.
58896         * lib/unictype/categ_Sm.c: New file.
58897         * lib/unictype/categ_So.c: New file.
58898         * lib/unictype/categ_Z.c: New file.
58899         * lib/unictype/categ_Zl.c: New file.
58900         * lib/unictype/categ_Zp.c: New file.
58901         * lib/unictype/categ_Zs.c: New file.
58902         * lib/unictype/categ_and.c: New file.
58903         * lib/unictype/categ_and_not.c: New file.
58904         * lib/unictype/categ_byname.c: New file.
58905         * lib/unictype/categ_name.c: New file.
58906         * lib/unictype/categ_none.c: New file.
58907         * lib/unictype/categ_of.c: New file.
58908         * lib/unictype/categ_or.c: New file.
58909         * lib/unictype/categ_test.c: New file.
58910         * lib/unictype/combining.c: New file.
58911         * lib/unictype/ctype_alnum.c: New file.
58912         * lib/unictype/ctype_alpha.c: New file.
58913         * lib/unictype/ctype_blank.c: New file.
58914         * lib/unictype/ctype_cntrl.c: New file.
58915         * lib/unictype/ctype_digit.c: New file.
58916         * lib/unictype/ctype_graph.c: New file.
58917         * lib/unictype/ctype_lower.c: New file.
58918         * lib/unictype/ctype_print.c: New file.
58919         * lib/unictype/ctype_punct.c: New file.
58920         * lib/unictype/ctype_space.c: New file.
58921         * lib/unictype/ctype_upper.c: New file.
58922         * lib/unictype/ctype_xdigit.c: New file.
58923         * lib/unictype/decdigit.c: New file.
58924         * lib/unictype/digit.c: New file.
58925         * lib/unictype/identsyntaxmap.h: New file.
58926         * lib/unictype/mirror.c: New file.
58927         * lib/unictype/numeric.c: New file.
58928         * lib/unictype/pr_alphabetic.c: New file.
58929         * lib/unictype/pr_ascii_hex_digit.c: New file.
58930         * lib/unictype/pr_bidi_arabic_digit.c: New file.
58931         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
58932         * lib/unictype/pr_bidi_block_separator.c: New file.
58933         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
58934         * lib/unictype/pr_bidi_common_separator.c: New file.
58935         * lib/unictype/pr_bidi_control.c: New file.
58936         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
58937         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
58938         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
58939         * lib/unictype/pr_bidi_european_digit.c: New file.
58940         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
58941         * lib/unictype/pr_bidi_left_to_right.c: New file.
58942         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
58943         * lib/unictype/pr_bidi_other_neutral.c: New file.
58944         * lib/unictype/pr_bidi_pdf.c: New file.
58945         * lib/unictype/pr_bidi_segment_separator.c: New file.
58946         * lib/unictype/pr_bidi_whitespace.c: New file.
58947         * lib/unictype/pr_byname.c: New file.
58948         * lib/unictype/pr_byname.gperf: New file.
58949         * lib/unictype/pr_combining.c: New file.
58950         * lib/unictype/pr_composite.c: New file.
58951         * lib/unictype/pr_currency_symbol.c: New file.
58952         * lib/unictype/pr_dash.c: New file.
58953         * lib/unictype/pr_decimal_digit.c: New file.
58954         * lib/unictype/pr_default_ignorable_code_point.c: New file.
58955         * lib/unictype/pr_deprecated.c: New file.
58956         * lib/unictype/pr_diacritic.c: New file.
58957         * lib/unictype/pr_extender.c: New file.
58958         * lib/unictype/pr_format_control.c: New file.
58959         * lib/unictype/pr_grapheme_base.c: New file.
58960         * lib/unictype/pr_grapheme_extend.c: New file.
58961         * lib/unictype/pr_grapheme_link.c: New file.
58962         * lib/unictype/pr_hex_digit.c: New file.
58963         * lib/unictype/pr_hyphen.c: New file.
58964         * lib/unictype/pr_id_continue.c: New file.
58965         * lib/unictype/pr_id_start.c: New file.
58966         * lib/unictype/pr_ideographic.c: New file.
58967         * lib/unictype/pr_ids_binary_operator.c: New file.
58968         * lib/unictype/pr_ids_trinary_operator.c: New file.
58969         * lib/unictype/pr_ignorable_control.c: New file.
58970         * lib/unictype/pr_iso_control.c: New file.
58971         * lib/unictype/pr_join_control.c: New file.
58972         * lib/unictype/pr_left_of_pair.c: New file.
58973         * lib/unictype/pr_line_separator.c: New file.
58974         * lib/unictype/pr_logical_order_exception.c: New file.
58975         * lib/unictype/pr_lowercase.c: New file.
58976         * lib/unictype/pr_math.c: New file.
58977         * lib/unictype/pr_non_break.c: New file.
58978         * lib/unictype/pr_not_a_character.c: New file.
58979         * lib/unictype/pr_numeric.c: New file.
58980         * lib/unictype/pr_other_alphabetic.c: New file.
58981         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
58982         * lib/unictype/pr_other_grapheme_extend.c: New file.
58983         * lib/unictype/pr_other_id_continue.c: New file.
58984         * lib/unictype/pr_other_id_start.c: New file.
58985         * lib/unictype/pr_other_lowercase.c: New file.
58986         * lib/unictype/pr_other_math.c: New file.
58987         * lib/unictype/pr_other_uppercase.c: New file.
58988         * lib/unictype/pr_paired_punctuation.c: New file.
58989         * lib/unictype/pr_paragraph_separator.c: New file.
58990         * lib/unictype/pr_pattern_syntax.c: New file.
58991         * lib/unictype/pr_pattern_white_space.c: New file.
58992         * lib/unictype/pr_private_use.c: New file.
58993         * lib/unictype/pr_punctuation.c: New file.
58994         * lib/unictype/pr_quotation_mark.c: New file.
58995         * lib/unictype/pr_radical.c: New file.
58996         * lib/unictype/pr_sentence_terminal.c: New file.
58997         * lib/unictype/pr_soft_dotted.c: New file.
58998         * lib/unictype/pr_space.c: New file.
58999         * lib/unictype/pr_terminal_punctuation.c: New file.
59000         * lib/unictype/pr_test.c: New file.
59001         * lib/unictype/pr_titlecase.c: New file.
59002         * lib/unictype/pr_unassigned_code_value.c: New file.
59003         * lib/unictype/pr_unified_ideograph.c: New file.
59004         * lib/unictype/pr_uppercase.c: New file.
59005         * lib/unictype/pr_variation_selector.c: New file.
59006         * lib/unictype/pr_white_space.c: New file.
59007         * lib/unictype/pr_xid_continue.c: New file.
59008         * lib/unictype/pr_xid_start.c: New file.
59009         * lib/unictype/pr_zero_width.c: New file.
59010         * lib/unictype/scripts.c: New file.
59011         * lib/unictype/sy_c_ident.c: New file.
59012         * lib/unictype/sy_c_whitespace.c: New file.
59013         * lib/unictype/sy_java_ident.c: New file.
59014         * lib/unictype/sy_java_whitespace.c: New file.
59015
59016         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
59017         Unicode 5.0.0.
59018         * lib/unictype/blocks.h: Likewise.
59019         * lib/unictype/categ_C.h: Likewise.
59020         * lib/unictype/categ_Cc.h: Likewise.
59021         * lib/unictype/categ_Cf.h: Likewise.
59022         * lib/unictype/categ_Cn.h: Likewise.
59023         * lib/unictype/categ_Co.h: Likewise.
59024         * lib/unictype/categ_Cs.h: Likewise.
59025         * lib/unictype/categ_L.h: Likewise.
59026         * lib/unictype/categ_Ll.h: Likewise.
59027         * lib/unictype/categ_Lm.h: Likewise.
59028         * lib/unictype/categ_Lo.h: Likewise.
59029         * lib/unictype/categ_Lt.h: Likewise.
59030         * lib/unictype/categ_Lu.h: Likewise.
59031         * lib/unictype/categ_M.h: Likewise.
59032         * lib/unictype/categ_Mc.h: Likewise.
59033         * lib/unictype/categ_Me.h: Likewise.
59034         * lib/unictype/categ_Mn.h: Likewise.
59035         * lib/unictype/categ_N.h: Likewise.
59036         * lib/unictype/categ_Nd.h: Likewise.
59037         * lib/unictype/categ_Nl.h: Likewise.
59038         * lib/unictype/categ_No.h: Likewise.
59039         * lib/unictype/categ_P.h: Likewise.
59040         * lib/unictype/categ_Pc.h: Likewise.
59041         * lib/unictype/categ_Pd.h: Likewise.
59042         * lib/unictype/categ_Pe.h: Likewise.
59043         * lib/unictype/categ_Pf.h: Likewise.
59044         * lib/unictype/categ_Pi.h: Likewise.
59045         * lib/unictype/categ_Po.h: Likewise.
59046         * lib/unictype/categ_Ps.h: Likewise.
59047         * lib/unictype/categ_S.h: Likewise.
59048         * lib/unictype/categ_Sc.h: Likewise.
59049         * lib/unictype/categ_Sk.h: Likewise.
59050         * lib/unictype/categ_Sm.h: Likewise.
59051         * lib/unictype/categ_So.h: Likewise.
59052         * lib/unictype/categ_Z.h: Likewise.
59053         * lib/unictype/categ_Zl.h: Likewise.
59054         * lib/unictype/categ_Zp.h: Likewise.
59055         * lib/unictype/categ_Zs.h: Likewise.
59056         * lib/unictype/categ_of.h: Likewise.
59057         * lib/unictype/combining.h: Likewise.
59058         * lib/unictype/ctype_alnum.h: Likewise.
59059         * lib/unictype/ctype_alpha.h: Likewise.
59060         * lib/unictype/ctype_blank.h: Likewise.
59061         * lib/unictype/ctype_cntrl.h: Likewise.
59062         * lib/unictype/ctype_digit.h: Likewise.
59063         * lib/unictype/ctype_graph.h: Likewise.
59064         * lib/unictype/ctype_lower.h: Likewise.
59065         * lib/unictype/ctype_print.h: Likewise.
59066         * lib/unictype/ctype_punct.h: Likewise.
59067         * lib/unictype/ctype_space.h: Likewise.
59068         * lib/unictype/ctype_upper.h: Likewise.
59069         * lib/unictype/ctype_xdigit.h: Likewise.
59070         * lib/unictype/decdigit.h: Likewise.
59071         * lib/unictype/digit.h: Likewise.
59072         * lib/unictype/mirror.h: Likewise.
59073         * lib/unictype/numeric.h: Likewise.
59074         * lib/unictype/pr_alphabetic.h: Likewise.
59075         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
59076         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
59077         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
59078         * lib/unictype/pr_bidi_block_separator.h: Likewise.
59079         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
59080         * lib/unictype/pr_bidi_common_separator.h: Likewise.
59081         * lib/unictype/pr_bidi_control.h: Likewise.
59082         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
59083         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
59084         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
59085         * lib/unictype/pr_bidi_european_digit.h: Likewise.
59086         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
59087         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
59088         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
59089         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
59090         * lib/unictype/pr_bidi_pdf.h: Likewise.
59091         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
59092         * lib/unictype/pr_bidi_whitespace.h: Likewise.
59093         * lib/unictype/pr_combining.h: Likewise.
59094         * lib/unictype/pr_composite.h: Likewise.
59095         * lib/unictype/pr_currency_symbol.h: Likewise.
59096         * lib/unictype/pr_dash.h: Likewise.
59097         * lib/unictype/pr_decimal_digit.h: Likewise.
59098         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
59099         * lib/unictype/pr_deprecated.h: Likewise.
59100         * lib/unictype/pr_diacritic.h: Likewise.
59101         * lib/unictype/pr_extender.h: Likewise.
59102         * lib/unictype/pr_format_control.h: Likewise.
59103         * lib/unictype/pr_grapheme_base.h: Likewise.
59104         * lib/unictype/pr_grapheme_extend.h: Likewise.
59105         * lib/unictype/pr_grapheme_link.h: Likewise.
59106         * lib/unictype/pr_hex_digit.h: Likewise.
59107         * lib/unictype/pr_hyphen.h: Likewise.
59108         * lib/unictype/pr_id_continue.h: Likewise.
59109         * lib/unictype/pr_id_start.h: Likewise.
59110         * lib/unictype/pr_ideographic.h: Likewise.
59111         * lib/unictype/pr_ids_binary_operator.h: Likewise.
59112         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
59113         * lib/unictype/pr_ignorable_control.h: Likewise.
59114         * lib/unictype/pr_iso_control.h: Likewise.
59115         * lib/unictype/pr_join_control.h: Likewise.
59116         * lib/unictype/pr_left_of_pair.h: Likewise.
59117         * lib/unictype/pr_line_separator.h: Likewise.
59118         * lib/unictype/pr_logical_order_exception.h: Likewise.
59119         * lib/unictype/pr_lowercase.h: Likewise.
59120         * lib/unictype/pr_math.h: Likewise.
59121         * lib/unictype/pr_non_break.h: Likewise.
59122         * lib/unictype/pr_not_a_character.h: Likewise.
59123         * lib/unictype/pr_numeric.h: Likewise.
59124         * lib/unictype/pr_other_alphabetic.h: Likewise.
59125         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
59126         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
59127         * lib/unictype/pr_other_id_continue.h: Likewise.
59128         * lib/unictype/pr_other_id_start.h: Likewise.
59129         * lib/unictype/pr_other_lowercase.h: Likewise.
59130         * lib/unictype/pr_other_math.h: Likewise.
59131         * lib/unictype/pr_other_uppercase.h: Likewise.
59132         * lib/unictype/pr_paired_punctuation.h: Likewise.
59133         * lib/unictype/pr_paragraph_separator.h: Likewise.
59134         * lib/unictype/pr_pattern_syntax.h: Likewise.
59135         * lib/unictype/pr_pattern_white_space.h: Likewise.
59136         * lib/unictype/pr_private_use.h: Likewise.
59137         * lib/unictype/pr_punctuation.h: Likewise.
59138         * lib/unictype/pr_quotation_mark.h: Likewise.
59139         * lib/unictype/pr_radical.h: Likewise.
59140         * lib/unictype/pr_sentence_terminal.h: Likewise.
59141         * lib/unictype/pr_soft_dotted.h: Likewise.
59142         * lib/unictype/pr_space.h: Likewise.
59143         * lib/unictype/pr_terminal_punctuation.h: Likewise.
59144         * lib/unictype/pr_titlecase.h: Likewise.
59145         * lib/unictype/pr_unassigned_code_value.h: Likewise.
59146         * lib/unictype/pr_unified_ideograph.h: Likewise.
59147         * lib/unictype/pr_uppercase.h: Likewise.
59148         * lib/unictype/pr_variation_selector.h: Likewise.
59149         * lib/unictype/pr_white_space.h: Likewise.
59150         * lib/unictype/pr_xid_continue.h: Likewise.
59151         * lib/unictype/pr_xid_start.h: Likewise.
59152         * lib/unictype/pr_zero_width.h: Likewise.
59153         * lib/unictype/scripts.h: Likewise.
59154         * lib/unictype/scripts_byname.gperf: Likewise.
59155         * lib/unictype/sy_c_ident.h: Likewise.
59156         * lib/unictype/sy_c_whitespace.h: Likewise.
59157         * lib/unictype/sy_java_ident.h: Likewise.
59158         * lib/unictype/sy_java_whitespace.h: Likewise.
59159
59160         * lib/unictype/Makefile: New file.
59161         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
59162         glibc.
59163         * lib/unictype/3level.h: New file, copied from glibc.
59164         * lib/unictype/3levelbit.h: New file.
59165
59166 2007-11-11  Bruno Haible  <bruno@clisp.org>
59167
59168         * modules/gperf: New file.
59169         * modules/iconv_open (Depends-on): Add it.
59170         (Makefile.am): Remove the GPERF definition.
59171
59172 2007-11-11  Bruno Haible  <bruno@clisp.org>
59173
59174         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
59175         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
59176
59177 2007-11-11  Bruno Haible  <bruno@clisp.org>
59178
59179         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
59180         (usage): Remove function.
59181
59182 2007-11-11  Bruno Haible  <bruno@clisp.org>
59183
59184         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
59185         gl_FUNC_CEILF_LIBS.
59186         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
59187         gl_FUNC_CEIL_LIBS.
59188         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
59189         gl_FUNC_CEILL_LIBS.
59190         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
59191         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
59192         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
59193
59194 2007-11-11  Bruno Haible  <bruno@clisp.org>
59195
59196         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
59197         roundf were declared but do not exist on functions.
59198         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
59199         roundl were declared but do not exist on functions.
59200         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
59201         HAVE_FLOORL_AND_CEILL, respectively.
59202         Needed for Sun C on Solaris 10.
59203
59204 2007-11-11  Bruno Haible  <bruno@clisp.org>
59205
59206         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
59207         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
59208         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
59209         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
59210         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
59211         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
59212         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
59213         HAVE_DECL_ROUNDF.
59214         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
59215         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
59216         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
59217         of HAVE_DECL_ROUND*.
59218         * modules/math (Makefile.am): Update.
59219
59220 2007-11-10  Bruno Haible  <bruno@clisp.org>
59221
59222         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
59223         ptrdiff_t as m4/intl.m4.
59224
59225 2007-11-10  Jim Meyering  <meyering@redhat.com>
59226
59227         Avoid link failure for the argmatch test.
59228         * tests/test-argmatch.c (usage): Define function to avoid a link
59229         failure: argmatch_die requires a usage function.
59230
59231 2007-11-09  Bruno Haible  <bruno@clisp.org>
59232
59233         * doc/functions/snprintf.texi: Mention BeOS deficiency.
59234         * doc/functions/vsnprintf.texi: Likewise.
59235         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
59236         with a size argument < 2.
59237
59238 2007-11-09  Bruno Haible  <bruno@clisp.org>
59239
59240         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
59241         buffer. Fixes an inefficiency introduced on 2007-11-03.
59242
59243 2007-11-09  Bruno Haible  <bruno@clisp.org>
59244
59245         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
59246         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
59247
59248 2007-11-08  Jim Meyering  <meyering@redhat.com>
59249
59250         Change cache variable name prefix "jm_" to "gl_" everywhere.
59251         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
59252         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
59253         * m4/uptime.m4: s/gl_/jm_/
59254
59255 2007-11-07  Bruno Haible  <bruno@clisp.org>
59256
59257         Update to GNU gettext 0.17.
59258         * m4/intl.m4: Update to GNU gettext 0.17.
59259         * m4/po.m4: Likewise.
59260         * modules/gettext (Files): Remove m4/ulonglong.m4.
59261         (configure.ac): Require gettext infrastructure from version 0.17.
59262
59263 2007-11-06  Bruno Haible  <bruno@clisp.org>
59264
59265         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
59266         symbolic values are not defined in a public header.
59267         * lib/freadable.c (freadable) [QNX]: Likewise.
59268         * lib/freadahead.c (freadahead) [QNX]: Likewise.
59269         * lib/freading.c (freading) [QNX]: Likewise.
59270         * lib/fseterr.c (fseterr) [QNX]: Likewise.
59271         * lib/fwritable.c (fwritable) [QNX]: Likewise.
59272         * lib/fwriting.c (fwriting) [QNX]: Likewise.
59273         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
59274         Reported by Alain Magloire.
59275
59276         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
59277
59278 2007-11-05  Bruno Haible  <bruno@clisp.org>
59279
59280         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
59281         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
59282         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
59283         Reported by Eric Blake.
59284
59285 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59286             Bruno Haible  <bruno@clisp.org>
59287
59288         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
59289         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
59290         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
59291         (malloc): Undefine also before including <stdlib.h>.
59292         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
59293         Needed on OSF/1 4.0.
59294
59295 2007-11-05  Jim Meyering  <meyering@redhat.com>
59296
59297         git-version-gen: sync from coreutils.
59298         * build-aux/git-version-gen: Add comments.
59299         Change the first '-' to '.' in the snapshot version string,
59300         e.g., 6.9-377-08144 -> 6.9.377-08144
59301         Remove first parameter.
59302         Don't declare a version "-dirty" merely because a time
59303         stamp has changed.
59304
59305 2007-11-04  Bruno Haible  <bruno@clisp.org>
59306
59307         * lib/lock.h: Protect all macro definitions containing an 'if'
59308         statement through a "do { ... } while (0)".
59309         * lib/tls.h: Likewise.
59310
59311 2007-11-04  Bruno Haible  <bruno@clisp.org>
59312
59313         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
59314
59315 2007-11-04  Bruno Haible  <bruno@clisp.org>
59316
59317         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
59318         * modules/fprintf-posix (Depends-on): Add nocrash.
59319         * modules/snprintf-posix (Depends-on): Likewise.
59320         * modules/sprintf-posix (Depends-on): Likewise.
59321         * modules/vasnprintf-posix (Depends-on): Likewise.
59322         * modules/vasprintf-posix (Depends-on): Likewise.
59323         * modules/vfprintf-posix (Depends-on): Likewise.
59324         * modules/vsnprintf-posix (Depends-on): Likewise.
59325         * modules/vsprintf-posix (Depends-on): Likewise.
59326         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
59327         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
59328         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
59329         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
59330         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
59331         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
59332         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
59333
59334 2007-11-04  Bruno Haible  <bruno@clisp.org>
59335
59336         * modules/nocrash: New file.
59337         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
59338         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
59339
59340 2007-11-04  Bruno Haible  <bruno@clisp.org>
59341
59342         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
59343         precision handling.
59344         * tests/test-vasprintf-posix.c (test_function): Likewise.
59345         * tests/test-snprintf-posix.h (test_function): Likewise.
59346         * tests/test-sprintf-posix.h (test_function): Likewise.
59347
59348         Fix *printf behaviour for large precisions on mingw and BeOS.
59349         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
59350         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
59351         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
59352         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
59353         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59354         gl_PRINTF_PRECISION and test its result. Invoke
59355         gl_PREREQ_VASNPRINTF_PRECISION.
59356         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59357         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59358         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59359         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59360         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59361         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59362         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59363         * doc/functions/fprintf.texi: Update.
59364         * doc/functions/printf.texi: Update.
59365         * doc/functions/snprintf.texi: Update.
59366         * doc/functions/sprintf.texi: Update.
59367         * doc/functions/vfprintf.texi: Update.
59368         * doc/functions/vprintf.texi: Update.
59369         * doc/functions/vsnprintf.texi: Update.
59370         * doc/functions/vsprintf.texi: Update.
59371
59372 2007-11-04  Bruno Haible  <bruno@clisp.org>
59373
59374         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
59375
59376 2007-11-04  Bruno Haible  <bruno@clisp.org>
59377
59378         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
59379         Reported by Sylvain Beucler <beuc@gnu.org>.
59380
59381 2007-11-03  Bruno Haible  <bruno@clisp.org>
59382
59383         * tests/test-fprintf-posix2.sh: New file.
59384         * tests/test-fprintf-posix2.c: New file.
59385         * modules/fprintf-posix-tests (Files): Add them.
59386         (TESTS): Add test-fprintf-posix2.sh.
59387         (configure.ac): Check for getrlimit and setrlimit.
59388         (check_PROGRAMS): Add test-fprintf-posix2.
59389
59390         * tests/test-printf-posix2.sh: New file.
59391         * tests/test-printf-posix2.c: New file.
59392         * modules/printf-posix-tests (Files): Add them.
59393         (TESTS): Add test-printf-posix2.sh.
59394         (configure.ac): Check for getrlimit and setrlimit.
59395         (check_PROGRAMS): Add test-printf-posix2.
59396
59397         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
59398         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
59399         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
59400         (decode_double): New function, copied from decode_long_double.
59401         (scale10_round_decimal_decoded): New function, extracted from
59402         scale10_round_decimal_long_double.
59403         (scale10_round_decimal_long_double): Use it.
59404         (scale10_round_decimal_double): New function.
59405         (floorlog10): New function.
59406         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
59407         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
59408         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
59409         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59410         gl_PRINTF_ENOMEM and test its result. Invoke
59411         gl_PREREQ_VASNPRINTF_ENOMEM.
59412         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59413         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59414         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59415         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59416         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59417         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59418         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59419         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
59420         * modules/snprintf-posix (Depends-on): Likewise.
59421         * modules/sprintf-posix (Depends-on): Likewise.
59422         * modules/vasnprintf-posix (Depends-on): Likewise.
59423         * modules/vasprintf-posix (Depends-on): Likewise.
59424         * modules/vfprintf-posix (Depends-on): Likewise.
59425         * modules/vsnprintf-posix (Depends-on): Likewise.
59426         * modules/vsprintf-posix (Depends-on): Likewise.
59427         * doc/functions/fprintf.texi: Update.
59428         * doc/functions/printf.texi: Update.
59429         * doc/functions/snprintf.texi: Update.
59430         * doc/functions/sprintf.texi: Update.
59431         * doc/functions/vfprintf.texi: Update.
59432         * doc/functions/vprintf.texi: Update.
59433         * doc/functions/vsnprintf.texi: Update.
59434         * doc/functions/vsprintf.texi: Update.
59435
59436 2007-11-03  Bruno Haible  <bruno@clisp.org>
59437
59438         * modules/frexp-nolibm-tests: New file.
59439
59440         * modules/frexp-nolibm: New file.
59441         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
59442
59443 2007-11-03  Bruno Haible  <bruno@clisp.org>
59444
59445         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
59446         value is C99 compliant.
59447         Needed for OSF/1 5.1.
59448
59449 2007-11-03  Bruno Haible  <bruno@clisp.org>
59450
59451         Fix out-of-memory handling of vasnprintf.
59452         * lib/printf-parse.c: Include <errno.h>.
59453         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
59454         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
59455         is already set.
59456
59457 2007-11-02  Eric Blake  <ebb9@byu.net>
59458
59459         Fix tests on cygwin.
59460         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
59461
59462 2007-11-01  Bruno Haible  <bruno@clisp.org>
59463
59464         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
59465         warning.
59466         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
59467         needed for POSIX compatibility.
59468
59469 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
59470
59471         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
59472         for compatibility with GNU.
59473
59474 2007-11-01  Bruno Haible  <bruno@clisp.org>
59475
59476         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
59477         (putenv): Renamed from rpl_putenv. Change argument type from
59478         'const char *' to 'char *'.
59479         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
59480         of defining putenv in config.h, just set REPLACE_PUTENV.
59481         * modules/putenv (Depends-on): Add stdlib.
59482         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
59483         (Include): Use <stdlib.h>.
59484         * lib/stdlib.in.h (putenv): New declaration.
59485         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
59486         REPLACE_PUTENV.
59487         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
59488         REPLACE_PUTENV.
59489         Needed for MacOS X 10.5.0.
59490         Reported by Peter O'Gorman <peter@pogma.com>.
59491
59492 2007-11-01  Jim Meyering  <meyering@redhat.com>
59493
59494         Treat an empty date string exactly like "0".
59495         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
59496         if the remaining date string (to be parsed) is empty, use "0".
59497         Reported by Mischa Molhoek and discussed in this thread:
59498         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
59499
59500 2007-10-31  Bruno Haible  <bruno@clisp.org>
59501
59502         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
59503         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
59504         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
59505         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
59506         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
59507         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
59508
59509 2007-10-31  Bruno Haible  <bruno@clisp.org>
59510
59511         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
59512         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
59513         (AC_TYPE_LONG_LONG_INT): Use it.
59514         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
59515         it as well.
59516         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
59517         to m4/longlong.m4.
59518         * modules/stdint (Files): Remove m4/ulonglong.m4.
59519         * modules/strtoull (Files): Use m4/longlong.m4 instead of
59520         m4/ulonglong.m4.
59521         * modules/strtoumax (Files): Likewise.
59522
59523 2007-10-30  Bruno Haible  <bruno@clisp.org>
59524
59525         * modules/xvasprintf-posix: New file.
59526         Suggested by Eric Blake.
59527
59528 2007-10-30  Bruno Haible  <bruno@clisp.org>
59529
59530         * modules/xprintf-posix-tests: New file.
59531         * tests/test-xprintf-posix.sh: New file.
59532         * tests/test-xprintf-posix.c: New file.
59533         * tests/test-xfprintf-posix.c: New file.
59534
59535         * modules/xprintf-posix: New file.
59536
59537 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59538
59539         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
59540         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
59541         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
59542
59543 2007-10-29  Bruno Haible  <bruno@clisp.org>
59544
59545         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
59546         contain the special marker '_cv_'.
59547         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
59548         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
59549         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
59550         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
59551         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
59552         Reported by Ralf Wildenhues.
59553
59554 2007-10-29  Bruno Haible  <bruno@clisp.org>
59555
59556         * gnulib-tool (func_import): When --lgpl is not specified, set
59557         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
59558         GPLv3.
59559         Reported by Simon Josefsson.
59560
59561 2007-10-28  Bruno Haible  <bruno@clisp.org>
59562
59563         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
59564         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
59565         HAVE_DECL_ISFINITE.
59566         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
59567         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
59568         HAVE_DECL_ISFINITE.
59569
59570 2007-10-28  Bruno Haible  <bruno@clisp.org>
59571
59572         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
59573         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
59574
59575 2007-10-28  Bruno Haible  <bruno@clisp.org>
59576
59577         Fix link errors with Sun C 5.0 on Solaris 10.
59578         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
59579         function is declared but not present in the compiler's libm.
59580         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
59581         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
59582         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
59583         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
59584         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
59585         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
59586         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
59587         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
59588         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
59589         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
59590         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
59591         HAVE_DECL_FLOORL.
59592
59593 2007-10-28  Bruno Haible  <bruno@clisp.org>
59594
59595         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
59596         gl_FUNC_FLOORL. Cache the result.
59597         (gl_FUNC_FLOORL): Use it.
59598         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
59599         gl_FUNC_CEILL. Cache the result.
59600         (gl_FUNC_CEILL): Use it.
59601
59602         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
59603         gl_FUNC_FLOOR. Cache the result.
59604         (gl_FUNC_FLOOR): Use it.
59605         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
59606         gl_FUNC_CEIL. Cache the result.
59607         (gl_FUNC_CEIL): Use it.
59608
59609         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
59610         gl_FUNC_FLOORF. Cache the result.
59611         (gl_FUNC_FLOORF): Use it.
59612         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
59613         gl_FUNC_CEILF. Cache the result.
59614         (gl_FUNC_CEILF): Use it.
59615
59616 2007-10-28  Bruno Haible  <bruno@clisp.org>
59617
59618         * gnulib-tool: Allow specifying the LGPL version number through
59619         --lgpl=2 or --lgpl=3.
59620         (func_usage): Document --lgpl with argument.
59621         Handle --lgpl=... arguments.
59622         (func_import): Recognize also gl_LGPL calls with an argument. When
59623         --lgpl=2 is used and the module's license is just LGPL, report an
59624         error. Set sed_transform_lib_file according to the lgpl variable. In
59625         the generated files, use --lgpl or gl_LGPL invocations with argument,
59626         if necessary.
59627         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
59628         an LGPv2+ license.
59629         * doc/gnulib-tool.texi (Modified imports): Update explanation of
59630         gl_LGPL macro.
59631
59632 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59633             Bruno Haible  <bruno@clisp.org>
59634
59635         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
59636         (u16_uctomb_aux): Likewise.
59637         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
59638         !HAVE_INLINE.
59639         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
59640
59641 2007-10-28  Bruno Haible  <bruno@clisp.org>
59642
59643         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
59644         Invoke AM_GETTEXT_OPTION if it exists.
59645         * modules/vasprintf: Likewise.
59646         * modules/verror: Likewise.
59647         * modules/xprintf: Likewise.
59648         * modules/xvasprintf: Likewise.
59649
59650 2007-10-27  Ben Pfaff  <blp@gnu.org>
59651
59652         * lib/math.in.h: Define isfinite macro and prototypes for
59653         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
59654         implementations.
59655         * m4/math_h.m4: New substitutions for isfinite module.
59656         * lib/isfinite.c: New file.
59657         * m4/isfinite.m4: New file.
59658         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
59659         * modules/isfinite: New file.
59660         * modules/isfinite-tests: New file.
59661         * tests/tests-isfinite.c: New file.
59662         * doc/functions/isfinite.texi: Mention isfinite module.
59663         * MODULES.html.sh: Mention new module.
59664
59665 2007-10-27  Ben Pfaff  <blp@gnu.org>
59666
59667         Ralf Wildenhues reported that Tru64 4.0D declares the round
59668         functions but does not have definitions.
59669         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
59670         cannot be found in any library, set the output variable to
59671         "missing" instead of "".
59672         * m4/round.m4: Also use our substitute if we cannot find round in
59673         any library, even if it is declared.
59674         * m4/roundf.m4: Likewise for roundf.
59675         * m4/roundl.m4: Likewise for roundl.
59676         * lib/math.in.h: Undefine roundf, round, roundl before defining
59677         their replacements, to allow for hypothetical systems where these
59678         may be defined as macros but not available in libraries.
59679
59680 2007-10-27  Bruno Haible  <bruno@clisp.org>
59681
59682         * doc/gnulib.texi: Invoke @firstparagraphindent.
59683         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
59684         changes in gnulib.
59685         (Source changes): New section.
59686
59687 2007-10-26  Bruno Haible  <bruno@clisp.org>
59688
59689         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
59690         borrowed from autoconf.
59691
59692 2007-10-26  Bruno Haible  <bruno@clisp.org>
59693
59694         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
59695         strerror returned the empty string. Needed on HP-UX 11.00.
59696
59697 2007-10-24  Micah Cowan  <micah@cowan.name>
59698
59699         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
59700         * build-aux/bootstrap: Remove support for now-unnecessary option,
59701         --cvs-user, and envvars CVS_USER, CVS_RSH.
59702
59703 2007-10-24  Jim Meyering  <meyering@redhat.com>
59704
59705         Avoid diagnostics from sha1sum when there is no cached checksum.
59706         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
59707         if the po.s1 file hasn't been created yet.
59708
59709         * build-aux/bootstrap: Sync from coreutils:
59710         2007-10-24  Jim Meyering  <meyering@redhat.com>
59711         Get gnulib from the git repository, not from an obsolete cvs one.
59712         * build-aux/bootstrap: Suggestion from Micah Cowan.
59713         2007-10-04  Jim Meyering  <jim@meyering.net>
59714         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
59715         (update_po_files): Work also when there are no .po files in po/.
59716
59717 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
59718
59719         * README: Append ".git" to git and cg examples.
59720         Problem reported by Benoit Sigoure.
59721
59722 2007-10-23  Micah Cowan  <micah@cowan.name>
59723
59724         * users.txt: Add wget.
59725
59726 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59727
59728         Fix linking of some unistdio tests on FreeBSD.
59729         * modules/unistdio/u16-vsnprintf-tests
59730         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
59731         * modules/unistdio/u16-vsprintf-tests
59732         (test_u16_vsnprintf1_LDADD): Likewise.
59733         * modules/unistdio/u32-vsnprintf-tests
59734         (test_u32_vsnprintf1_LDADD): Likewise.
59735         * modules/unistdio/u32-vsprintf-tests
59736         (test_u32_vsprintf1_LDADD): Likewise.
59737         * modules/unistdio/u8-vsnprintf-tests
59738         (test_u8_vsnprintf1_LDADD): Likewise.
59739         * modules/unistdio/u8-vsprintf-tests
59740         (test_u8_vsprintf1_LDADD): Likewise.
59741         * modules/unistdio/ulc-vsnprintf-tests
59742         (test_ulc_vsnprintf1_LDADD): Likewise.
59743         * modules/unistdio/ulc-vsprintf-tests
59744         (test_ulc_vsprintf1_LDADD): Likewise.
59745
59746         Fix linking of some uniconv tests on FreeBSD.
59747         * modules/uniconv/u16-conv-from-enc-tests
59748         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
59749         * modules/uniconv/u16-conv-to-enc-tests
59750         (test_u16_conv_to_enc_LDADD): Likewise.
59751         * modules/uniconv/u16-strconv-from-enc-tests
59752         (test_u16_strconv_from_enc_LDADD): Likewise.
59753         * modules/uniconv/u16-strconv-to-enc-tests
59754         (test_u16_strconv_to_enc_LDADD): Likewise.
59755         * modules/uniconv/u32-conv-from-enc-tests
59756         (test_u32_conv_from_enc_LDADD): Likewise.
59757         * modules/uniconv/u32-conv-to-enc-tests
59758         (test_u32_conv_to_enc_LDADD): Likewise.
59759         * modules/uniconv/u32-strconv-from-enc-tests
59760         (test_u32_strconv_from_enc_LDADD): Likewise.
59761         * modules/uniconv/u32-strconv-to-enc-tests
59762         (test_u32_strconv_to_enc_LDADD): Likewise.
59763         * modules/uniconv/u8-conv-from-enc-tests
59764         (test_u8_conv_from_enc_LDADD): Likewise.
59765         * modules/uniconv/u8-conv-to-enc-tests
59766         (test_u8_conv_to_enc_LDADD): Likewise.
59767         * modules/uniconv/u8-strconv-from-enc-tests
59768         (test_u8_strconv_from_enc_LDADD): Likewise.
59769         * modules/uniconv/u8-strconv-to-enc-tests
59770         (test_u8_strconv_to_enc_LDADD): Likewise.
59771
59772 2007-10-22  Bruno Haible  <bruno@clisp.org>
59773
59774         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
59775         size.
59776
59777 2007-10-22  Eric Blake  <ebb9@byu.net>
59778
59779         Tweak x*printf documentation.
59780         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
59781         variable name and comments.
59782         Suggested by Bruno Haible.
59783
59784 2007-10-22  Bruno Haible  <bruno@clisp.org>
59785
59786         * lib/acl.c (copy_acl): Fix file name in comment.
59787
59788 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
59789
59790         Fix Tru64 problem with stdbool.h.
59791         * lib/stdbool.in.h (false, true):
59792         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
59793         Don't declare as an enum in this situation; it runs afoul of Tru64.
59794         Problem reported by Steven M. Schweda in
59795         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
59796
59797 2007-10-22  Eric Blake  <ebb9@byu.net>
59798
59799         Also wrap vf?printf.
59800         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
59801         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
59802         (xvprintf, xvfprintf): New functions.
59803
59804 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59805
59806         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
59807         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
59808
59809         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
59810         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
59811
59812 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
59813
59814         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
59815         by Bruno Haible.
59816
59817 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59818
59819         * lib/getloadavg.c
59820         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
59821         Undef `sys' after including sys/table.h, for Tru64 4.0D.
59822
59823         * tests/test-i-ring.c: Work for C89.
59824
59825 2007-10-22  Bruno Haible  <bruno@clisp.org>
59826
59827         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
59828         -1u, in preprocessor expression, so that we don't test for the bug
59829         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
59830         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
59831
59832 2007-10-22  Eric Blake  <ebb9@byu.net>
59833
59834         * tests/test-yesno.sh: Silence stderr during test.
59835
59836 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59837
59838         * modules/crypto/gc-camellia: New file.
59839
59840         * m4/gc-camellia.m4: New file.
59841
59842         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
59843
59844         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
59845
59846 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59847
59848         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
59849         --help to stdout.  Reported by sms@antinode.org (Steven
59850         M. Schweda).
59851
59852 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59853
59854         * users.txt: Fix link to libksba.
59855
59856 2007-10-21  Ben Pfaff  <blp@gnu.org>
59857
59858         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
59859         round.c roundf implementation that depends on floorf and ceilf to
59860         be tested unconditionally.
59861
59862 2007-10-21  Ben Pfaff  <blp@gnu.org>
59863
59864         * m4/check-libm-func.m4: Removed.
59865         * m4/check-math-lib.m4: New file.
59866         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
59867         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
59868         definition and lack of AC_LIBOBJ([roundf]).
59869         * m4/roundl.m4: Ditto, and similarly for roundl.
59870         * modules/round: Reference new m4 file.
59871         * modules/roundf: Ditto.
59872         * modules/roundl: Ditto.
59873         * tests/test-round2.c (main): Use ROUND instead of round.
59874         Bug report from Bruno Haible.
59875
59876 2007-10-21  Bruno Haible  <bruno@clisp.org>
59877
59878         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
59879         context.
59880
59881 2007-10-21  Bruno Haible  <bruno@clisp.org>
59882
59883         * tests/test-wcwidth.c (main): Allow negative result for some control
59884         characters.
59885
59886         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
59887         Needed on OSF/1 5.1.
59888
59889 2007-10-21  Bruno Haible  <bruno@clisp.org>
59890
59891         * tests/test-floorf1.c: Include isnanf.h.
59892         (main): Use isnanf() instead of isnan().
59893         * tests/test-ceilf1.c: Include isnanf.h.
59894         (main): Use isnanf() instead of isnan().
59895         * tests/test-truncf1.c: Include isnanf.h.
59896         (main): Use isnanf() instead of isnan().
59897         * tests/test-roundf1.c: Include isnanf.h.
59898         (main): Use isnanf() instead of isnan().
59899
59900 2007-10-21  Eric Blake  <ebb9@byu.net>
59901
59902         * users.txt: Update URL for m4.
59903
59904 2007-10-21  Bruno Haible  <bruno@clisp.org>
59905
59906         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
59907
59908 2007-10-21  Bruno Haible  <bruno@clisp.org>
59909
59910         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
59911         Git's management files if the CVS files are not present.
59912
59913 2007-10-20  Bruno Haible  <bruno@clisp.org>
59914
59915         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
59916         gcc-3.4.x.
59917
59918 2007-10-20  Ben Pfaff  <blp@gnu.org>
59919
59920         * lib/math.in.h: Declare round, roundf, roundl if we are providing
59921         implementations.
59922         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
59923         * lib/round.c: New file.
59924         * lib/roundf.c: New file.
59925         * lib/roundl.c: New file.
59926         * m4/round.m4: New file.
59927         * m4/roundf.m4: New file.
59928         * m4/roundl.m4: New file.
59929         * m4/check-libm-func-m4: New file.
59930         * modules/math: Replace round, roundf, roundl related @VARS@ in
59931         math.in.h.
59932         * modules/round: New file.
59933         * modules/round-tests: New file.
59934         * modules/roundf: New file.
59935         * modules/roundf-tests: New file.
59936         * modules/roundl: New file.
59937         * modules/roundl-tests: New file.
59938         * tests/test-round1.c: New file.
59939         * tests/test-round2.c: New file.
59940         * tests/test-roundf1.c: New file.
59941         * tests/test-roundf2.c: New file.
59942         * tests/test-roundl.c: New file.
59943         * doc/functions/round.texi: Mention round module.
59944         * doc/functions/roundf.texi: Mention roundf module.
59945         * doc/functions/roundl.texi: Mention roundl module.
59946         * MODULES.html.sh: Mention new modules.
59947         Thanks to Bruno Haible for suggestions.
59948
59949 2007-10-20  Jim Meyering  <meyering@redhat.com>
59950
59951         * lib/xprintf.c: Include <config.h> unconditionally.
59952
59953         Change xprintf's license to GPL.
59954         * modules/xprintf (License): s/LGPL/GPL/, since this module
59955         depends on modules (exit and exitfail) which are GPL.
59956         Suggestion from Bruno Haible.
59957
59958         xprintf fixes.
59959         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
59960         Use a clearer diagnostic.
59961         Patch from Bruno Haible.
59962
59963 2007-10-20  Bruno Haible  <bruno@clisp.org>
59964
59965         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
59966         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
59967         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59968
59969 2007-10-20  Bruno Haible  <bruno@clisp.org>
59970
59971         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
59972         precision in the comparison result > x - 1 or similar.
59973         * tests/test-ceilf2.c (correct_result_p): Likewise.
59974         * tests/test-truncf2.c (correct_result_p): Likewise.
59975         * tests/test-trunc2.c (correct_result_p): Likewise.
59976         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59977
59978 2007-10-20  Bruno Haible  <bruno@clisp.org>
59979
59980         * modules/ceil: New file.
59981         * m4/ceil.m4: New file.
59982         * doc/functions/ceil.texi: Mention the 'ceil' module.
59983
59984 2007-10-20  Bruno Haible  <bruno@clisp.org>
59985
59986         * modules/floor: New file.
59987         * m4/floor.m4: New file.
59988         * doc/functions/floor.texi: Mention the 'floor' module.
59989
59990 2007-10-20  Bruno Haible  <bruno@clisp.org>
59991
59992         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
59993         of %a.
59994         * modules/floorf-tests (Depends-on): Likewise.
59995         * modules/truncf-tests (Depends-on): Likewise.
59996         * modules/trunc-tests (Depends-on): Likewise.
59997         Reported by Ben Pfaff.
59998
59999 2007-10-19  Jim Meyering  <meyering@redhat.com>
60000
60001         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
60002         Don't bother testing specific errno values.  Just test ferror.
60003
60004         New module: xprintf
60005         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
60006
60007 2007-10-19  Bruno Haible  <bruno@clisp.org>
60008
60009         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
60010         syntax.
60011         * modules/javaexec (Makefile.am): Likewise.
60012         * modules/relocatable-prog (Makefile.am): Likewise.
60013         Suggested by Jim Meyering.
60014
60015 2007-10-18  Bruno Haible  <bruno@clisp.org>
60016
60017         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
60018         Reported by Jim Meyering.
60019
60020 2007-10-18  Eric Blake  <ebb9@byu.net>
60021
60022         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
60023
60024 2007-10-18  Bruno Haible  <bruno@clisp.org>
60025
60026         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
60027         the format string into writable memory. Needed in Fortify conditions.
60028
60029 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
60030             Bruno Haible  <bruno@clisp.org>
60031
60032         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
60033         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
60034         * modules/trim (Depends-on): Add mbchar.
60035         (configure.ac): Add gl_FUNC_MBRTOWC.
60036         (Makefile.am): Augment lib_SOURCES.
60037
60038 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
60039
60040         Modify glob.c to use fstatat and dirfd, to simplify it.
60041         Suggested by Eric Blake.
60042         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
60043         Don't include <stdbool.h>; not used.
60044         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
60045         (link_exists_p): Simplify implementation, since we can now assume
60046         dirfd and fstatat.
60047         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
60048
60049 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60050
60051         * gnulib-tool (func_get_dependencies): Fix sed script to
60052         match only tests.
60053
60054 2007-10-17  Bruno Haible  <bruno@clisp.org>
60055
60056         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
60057         allow locale names without encoding suffix.
60058         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
60059         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
60060
60061 2007-10-16  Bruno Haible  <bruno@clisp.org>
60062
60063         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
60064         * lib/getgroups.c (getgroups): Likewise.
60065         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
60066
60067 2007-10-16  Bruno Haible  <bruno@clisp.org>
60068
60069         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
60070         * modules/malloc-posix (License): Likewise.
60071         * modules/realloc-posix (License): Likewise.
60072         * modules/calloc-posix (License): Likewise.
60073         * modules/intprops (License): Change from GPL to LGPL, with
60074         Paul Eggert's approval.
60075
60076 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
60077
60078         Merge glibc changes into lib/glob.c.
60079
60080         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
60081         2007-10-15 04:59:03 UTC.  Here are the changes:
60082
60083         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
60084
60085         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
60086
60087         * lib/glob.c: Add some branch prediction throughout.
60088
60089         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
60090
60091         [BZ #5103]
60092         * lib/glob.c (glob): Recognize patterns starting \/.
60093
60094         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
60095
60096         [BZ #3996]
60097         * lib/glob.c (attribute_hidden): Define if not defined.
60098         (glob): Unescape dirname, filename or username when needed and not
60099         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
60100         is NULL.  Handle unescaped [ in pattern without closing ].
60101         Don't pass GLOB_CHECK down to recursive glob for directories.
60102         (__glob_pattern_type): New function.
60103         (__glob_pattern_p): Implement using __glob_pattern_type.
60104         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
60105         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
60106         Remove unreachable code.
60107
60108         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
60109
60110         * lib/glob.c (glob_in_dir): Add some comments and asserts to
60111         explain why there are no leaks.
60112
60113         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
60114
60115         [BZ #3253]
60116         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
60117         time, rather allocate increasingly bigger arrays of pointers, if
60118         possible with alloca, if too large with malloc.
60119
60120 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
60121
60122         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
60123         Problem reported by H.Merijn Brand in
60124         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
60125         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
60126         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
60127
60128 2007-10-15  Bruno Haible  <bruno@clisp.org>
60129
60130         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
60131         with explicit rpl_ prefix.
60132         * lib/fopen.c (fopen): Likewise.
60133         * lib/freopen.c (freopen): Likewise.
60134         * lib/iconv.c (iconv): Likewise.
60135         * lib/iconv_close.c (iconv_close): Likewise.
60136
60137 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60138
60139         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
60140
60141 2007-10-15  Bruno Haible  <bruno@clisp.org>
60142
60143         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
60144         <stddef.h> instead of <stdlib.h> since we only need NULL.
60145         Reported by Ben Pfaff <blp@cs.stanford.edu>.
60146
60147 2007-10-15  Bruno Haible  <bruno@clisp.org>
60148
60149         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
60150         Replace paragraph talking about LIBOBJS.
60151         Reported by Colin Watson <cjwatson@debian.org>.
60152
60153 2007-10-15  Bruno Haible  <bruno@clisp.org>
60154
60155         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
60156         <stdlib.h> before using NULL.
60157
60158 2007-10-15  Simon Josefsson  <simon@josefsson.org>
60159
60160         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
60161         Reported by Albert Chin <china@thewrittenword.com>.
60162
60163 2007-10-14  Bruno Haible  <bruno@clisp.org>
60164
60165         * modules/iconv_open-utf-tests: New file.
60166         * tests/test-iconv-utf.c: New file.
60167
60168         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
60169         * modules/iconv_open-utf: New file.
60170         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
60171         (iconv, iconv_close): New declarations.
60172         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
60173         be defined.
60174         (iconv_open): Add special handling of conversion between UTF-8 and
60175         UTF-{16,32}{BE,LE}.
60176         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
60177         * lib/iconv_close.c: New file.
60178         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
60179         gl_FUNC_ICONV_OPEN.
60180         (gl_FUNC_ICONV_OPEN): Use it.
60181         (gl_FUNC_ICONV_OPEN_UTF): New macro.
60182         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
60183         and REPLACE_ICONV_UTF.
60184         * modules/iconv_open (Depends-on): Add c-strcase.
60185         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
60186         ICONV_CONST.
60187         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
60188
60189 2007-10-13  Albert Chin  <china@thewrittenword.com>
60190             Bruno Haible  <bruno@clisp.org>
60191
60192         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
60193         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
60194
60195 2007-10-13  Bruno Haible  <bruno@clisp.org>
60196
60197         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
60198         defined, use the ISO C99 inline semantics.
60199         * lib/argp.h (ARGP_EI): Likewise.
60200
60201 2007-10-13  Bruno Haible  <bruno@clisp.org>
60202
60203         Handle 'inline' change in gcc 4.3.0.
60204         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
60205         argp_fmtstream_write, argp_fmtstream_set_lmargin,
60206         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
60207         argp_fmtstream_point): Disable 'extern' declaration if the function
60208         definition is going to be provided inline.
60209         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
60210         semantics, not the ISO C99 inline semantics.
60211         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
60212         'extern' declaration if the function definition is going to be provided
60213         inline.
60214         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
60215         the GNU C inline semantics, not the ISO C99 inline semantics. With
60216         GCC 4.2, avoid a warning.
60217
60218 2007-10-13  Bruno Haible  <bruno@clisp.org>
60219
60220         * lib/freading.h (freading): Enable the use of __freading for
60221         glibc >= 2.7.
60222         * lib/freading.c (freading): Likewise.
60223
60224 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
60225
60226         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
60227         "warning: C99 inline functions are not supported; using GNU89".
60228
60229 2007-10-12  Bruno Haible  <bruno@clisp.org>
60230
60231         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
60232         of 2.
60233         * tests/test-ceilf2.c: New file.
60234         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
60235
60236         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
60237         * modules/ceilf-tests: Update.
60238
60239 2007-10-12  Bruno Haible  <bruno@clisp.org>
60240
60241         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
60242         of 2.
60243         * tests/test-floorf2.c: New file.
60244         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
60245
60246         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
60247         * modules/floorf-tests: Update.
60248
60249 2007-10-12  Bruno Haible  <bruno@clisp.org>
60250
60251         * tests/test-trunc2.c: New file.
60252         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
60253
60254         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
60255         * modules/trunc-tests: Update.
60256
60257 2007-10-12  Bruno Haible  <bruno@clisp.org>
60258
60259         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
60260         of 2.
60261         * tests/test-truncf2.c: New file.
60262         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
60263
60264         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
60265         * modules/truncf-tests: Update.
60266
60267 2007-10-11  Eric Blake  <ebb9@byu.net>
60268
60269         Don't claim strerror is broken on Interix.
60270         * doc/functions/strerror.texi (strerror): Known broken systems are
60271         now Solaris 8, and not Interix.
60272         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
60273         Interix on cross-compile.
60274         Reported by Martin Koeppe in
60275         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
60276
60277 2007-10-11  Bruno Haible  <bruno@clisp.org>
60278
60279         * modules/i-ring-tests: New file.
60280         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
60281         instead of assert.
60282
60283 2007-10-11  Bruno Haible  <bruno@clisp.org>
60284
60285         * modules/filenamecat-tests: New file.
60286         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
60287         * lib/filenamecat.c: Remove test code.
60288
60289 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
60290
60291         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
60292
60293         * lib/strerror.c: Include <string.h> always, to test interface,
60294         and to remove the need for the dummy.
60295         Include intprops.h to compute width instead of doing it ourselves
60296         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
60297         (strerror): Define it to return NULL if there's no system strerror.
60298         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
60299         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
60300         ancient pre-strerror Unix systems well any more.  Saying "unknown
60301         system error" is enough.
60302         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
60303         simpler strerror.c implementation.
60304         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
60305         Simplify the tests to reflect the simpler strerror implementation.
60306         * modules/strerror (Depends-on): Add intprops.
60307
60308 2007-10-09  Eric Blake  <ebb9@byu.net>
60309
60310         Silence test-fpending.
60311         * modules/fpending-tests (Files): Add wrapper script.
60312         * tests/test-fpending.sh: New file.
60313
60314 2007-10-09  Bruno Haible  <bruno@clisp.org>
60315
60316         * MODULES.html.sh (func_module): Don't create a hyperlink for
60317         function names like 'printf_frexp'.
60318         (Misc): Add crc, memxor.
60319         (Characteristics of floating types): New section.
60320         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
60321         isnanf-nolibm, signbit, trunc, truncf, truncl.
60322         (Enhancements for ISO C 99 functions): New subsection Input/output.
60323         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
60324         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
60325         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
60326         (Compatibility checks for POSIX:2001 functions): Add clock-time.
60327         (Enhancements for POSIX:2001 functions): Add chdir-long.
60328         (File system functions): Add areadlink, chdir-safer, read-file.
60329         Remove cycle-check.
60330         (File system as inode set): New section.
60331         (Date and time): Add gethrxtime.
60332         (Multithreading): Add openmp.
60333         (Internationalization functions): Add localename.
60334         (Unicode string functions): Add unistr/u*-mbsnlen.
60335         (Support for maintaining and releasing projects): Add git-version-gen.
60336         (Lone files): Remove directories.
60337
60338 2007-10-08  Ben Pfaff  <blp@gnu.org>
60339
60340         * lib/xmalloca.h: Fix typo in comment.
60341
60342 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
60343
60344         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
60345         when avoiding problems with integer overflow.  Use a portable test
60346         instead.
60347
60348 2007-10-08  Simon Josefsson  <simon@josefsson.org>
60349
60350         * modules/dummy (License): Change to LGPLv2+.
60351         * modules/float (License): Likewise
60352         * modules/realloc (License): Likewise
60353         * modules/stdlib (License): Likewise
60354
60355 2007-10-07  Bruno Haible  <bruno@clisp.org>
60356
60357         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
60358         * floor.c (TWO_MANT_DIG): Likewise.
60359         * ceil.c (TWO_MANT_DIG): Likewise.
60360         Reported by Ben Pfaff.
60361
60362 2007-10-07  Bruno Haible  <bruno@clisp.org>
60363
60364         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
60365         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
60366         * lib/frexp.c (FUNC): Likewise.
60367         * lib/printf-frexp.h (printf_frexp): Likewise.
60368         * lib/printf-frexpl.h (printf_frexpl): Likewise.
60369         * lib/printf-frexp.c (FUNC): Likewise.
60370         Suggested by Jim Meyering.
60371
60372 2007-10-07  Jim Meyering  <meyering@redhat.com>
60373
60374         Make xnanosleep's integer overflow test more robust.
60375         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
60376         so that gcc-4.3.0 doesn't optimize away this test for overflow.
60377
60378 2007-10-07  Bruno Haible  <bruno@clisp.org>
60379
60380         * NEWS: Mention the license change.
60381
60382         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
60383         abbreviations in the modules files.
60384
60385         Change copyright notice from GPLv2+ to GPLv3+.
60386         * README: Change copyright notice.
60387         * MODULES.html.sh: Likewise.
60388         * build-aux/bootstrap.conf: Likewise.
60389         * build-aux/config.libpath: Likewise.
60390         * build-aux/csharpcomp.sh.in: Likewise.
60391         * build-aux/csharpexec.sh.in: Likewise.
60392         * build-aux/install-reloc: Likewise.
60393         * build-aux/javacomp.sh.in: Likewise.
60394         * build-aux/javaexec.sh.in: Likewise.
60395         * build-aux/ldd.sh.in: Likewise.
60396         * build-aux/reloc-ldflags: Likewise.
60397         * build-aux/relocatable.sh.in: Likewise.
60398         * build-aux/x-to-1.in: Likewise.
60399         * check-module: Likewise.
60400         * config/srclistvars.sh: Likewise.
60401         * gnulib-tool: Likewise.
60402         * lib/acl-internal.h: Likewise.
60403         * lib/acl.c: Likewise.
60404         * lib/acl.h: Likewise.
60405         * lib/acl_entries.c: Likewise.
60406         * lib/areadlink-with-size.c: Likewise.
60407         * lib/areadlink.c: Likewise.
60408         * lib/areadlink.h: Likewise.
60409         * lib/argmatch.c: Likewise.
60410         * lib/argmatch.h: Likewise.
60411         * lib/argp-ba.c: Likewise.
60412         * lib/argp-eexst.c: Likewise.
60413         * lib/argp-fmtstream.c: Likewise.
60414         * lib/argp-fmtstream.h: Likewise.
60415         * lib/argp-fs-xinl.c: Likewise.
60416         * lib/argp-help.c: Likewise.
60417         * lib/argp-namefrob.h: Likewise.
60418         * lib/argp-parse.c: Likewise.
60419         * lib/argp-pin.c: Likewise.
60420         * lib/argp-pv.c: Likewise.
60421         * lib/argp-pvh.c: Likewise.
60422         * lib/argp-xinl.c: Likewise.
60423         * lib/argp.h: Likewise.
60424         * lib/at-func.c: Likewise.
60425         * lib/atanl.c: Likewise.
60426         * lib/backupfile.c: Likewise.
60427         * lib/backupfile.h: Likewise.
60428         * lib/basename.c: Likewise.
60429         * lib/binary-io.h: Likewise.
60430         * lib/byteswap.in.h: Likewise.
60431         * lib/c-stack.c: Likewise.
60432         * lib/c-stack.h: Likewise.
60433         * lib/c-strcasestr.c: Likewise.
60434         * lib/c-strcasestr.h: Likewise.
60435         * lib/c-strstr.c: Likewise.
60436         * lib/c-strstr.h: Likewise.
60437         * lib/c-strtod.c: Likewise.
60438         * lib/calloc.c: Likewise.
60439         * lib/canon-host.c: Likewise.
60440         * lib/canon-host.h: Likewise.
60441         * lib/canonicalize-lgpl.c: Likewise.
60442         * lib/canonicalize.c: Likewise.
60443         * lib/canonicalize.h: Likewise.
60444         * lib/ceil.c: Likewise.
60445         * lib/ceilf.c: Likewise.
60446         * lib/ceill.c: Likewise.
60447         * lib/chdir-long.c: Likewise.
60448         * lib/chdir-long.h: Likewise.
60449         * lib/chdir-safer.c: Likewise.
60450         * lib/chdir-safer.h: Likewise.
60451         * lib/chown.c: Likewise.
60452         * lib/classpath.c: Likewise.
60453         * lib/classpath.h: Likewise.
60454         * lib/clean-temp.c: Likewise.
60455         * lib/clean-temp.h: Likewise.
60456         * lib/cloexec.c: Likewise.
60457         * lib/close-stream.c: Likewise.
60458         * lib/closein.c: Likewise.
60459         * lib/closein.h: Likewise.
60460         * lib/closeout.c: Likewise.
60461         * lib/closeout.h: Likewise.
60462         * lib/concat-filename.c: Likewise.
60463         * lib/copy-file.c: Likewise.
60464         * lib/copy-file.h: Likewise.
60465         * lib/count-one-bits.h: Likewise.
60466         * lib/crc.c: Likewise.
60467         * lib/crc.h: Likewise.
60468         * lib/creat-safer.c: Likewise.
60469         * lib/csharpcomp.c: Likewise.
60470         * lib/csharpcomp.h: Likewise.
60471         * lib/csharpexec.c: Likewise.
60472         * lib/csharpexec.h: Likewise.
60473         * lib/cycle-check.c: Likewise.
60474         * lib/cycle-check.h: Likewise.
60475         * lib/diacrit.c: Likewise.
60476         * lib/diacrit.h: Likewise.
60477         * lib/diffseq.h: Likewise.
60478         * lib/dirchownmod.c: Likewise.
60479         * lib/dirent.in.h: Likewise.
60480         * lib/dirfd.c: Likewise.
60481         * lib/dirfd.h: Likewise.
60482         * lib/dirname.c: Likewise.
60483         * lib/dirname.h: Likewise.
60484         * lib/dummy.c: Likewise.
60485         * lib/dup-safer.c: Likewise.
60486         * lib/dup2.c: Likewise.
60487         * lib/eealloc.h: Likewise.
60488         * lib/error.c: Likewise.
60489         * lib/error.h: Likewise.
60490         * lib/euidaccess.c: Likewise.
60491         * lib/exclude.c: Likewise.
60492         * lib/exclude.h: Likewise.
60493         * lib/execute.c: Likewise.
60494         * lib/execute.h: Likewise.
60495         * lib/exitfail.c: Likewise.
60496         * lib/exitfail.h: Likewise.
60497         * lib/expl.c: Likewise.
60498         * lib/fatal-signal.c: Likewise.
60499         * lib/fatal-signal.h: Likewise.
60500         * lib/fbufmode.c: Likewise.
60501         * lib/fbufmode.h: Likewise.
60502         * lib/fchdir.c: Likewise.
60503         * lib/fchmodat.c: Likewise.
60504         * lib/fchownat.c: Likewise.
60505         * lib/fcntl--.h: Likewise.
60506         * lib/fcntl-safer.h: Likewise.
60507         * lib/fcntl.in.h: Likewise.
60508         * lib/fd-safer.c: Likewise.
60509         * lib/fflush.c: Likewise.
60510         * lib/file-has-acl.c: Likewise.
60511         * lib/file-set.c: Likewise.
60512         * lib/file-type.c: Likewise.
60513         * lib/file-type.h: Likewise.
60514         * lib/fileblocks.c: Likewise.
60515         * lib/filemode.c: Likewise.
60516         * lib/filemode.h: Likewise.
60517         * lib/filename.h: Likewise.
60518         * lib/filenamecat.c: Likewise.
60519         * lib/filenamecat.h: Likewise.
60520         * lib/findprog.c: Likewise.
60521         * lib/findprog.h: Likewise.
60522         * lib/float.in.h: Likewise.
60523         * lib/floor.c: Likewise.
60524         * lib/floorf.c: Likewise.
60525         * lib/floorl.c: Likewise.
60526         * lib/fopen-safer.c: Likewise.
60527         * lib/fopen.c: Likewise.
60528         * lib/fpending.c: Likewise.
60529         * lib/fpending.h: Likewise.
60530         * lib/fprintf.c: Likewise.
60531         * lib/fprintftime.h: Likewise.
60532         * lib/fpucw.h: Likewise.
60533         * lib/fpurge.c: Likewise.
60534         * lib/fpurge.h: Likewise.
60535         * lib/freadable.c: Likewise.
60536         * lib/freadable.h: Likewise.
60537         * lib/freadahead.c: Likewise.
60538         * lib/freadahead.h: Likewise.
60539         * lib/freading.c: Likewise.
60540         * lib/freading.h: Likewise.
60541         * lib/free.c: Likewise.
60542         * lib/freopen.c: Likewise.
60543         * lib/frexp.c: Likewise.
60544         * lib/frexpl.c: Likewise.
60545         * lib/fseek.c: Likewise.
60546         * lib/fseterr.c: Likewise.
60547         * lib/fseterr.h: Likewise.
60548         * lib/fstatat.c: Likewise.
60549         * lib/fstrcmp.c: Likewise.
60550         * lib/fstrcmp.h: Likewise.
60551         * lib/fsusage.c: Likewise.
60552         * lib/fsusage.h: Likewise.
60553         * lib/ftell.c: Likewise.
60554         * lib/ftello.c: Likewise.
60555         * lib/fts-cycle.c: Likewise.
60556         * lib/fts.c: Likewise.
60557         * lib/fts_.h: Likewise.
60558         * lib/full-read.c: Likewise.
60559         * lib/full-read.h: Likewise.
60560         * lib/full-write.c: Likewise.
60561         * lib/full-write.h: Likewise.
60562         * lib/fwritable.c: Likewise.
60563         * lib/fwritable.h: Likewise.
60564         * lib/fwriteerror.c: Likewise.
60565         * lib/fwriteerror.h: Likewise.
60566         * lib/fwriting.c: Likewise.
60567         * lib/fwriting.h: Likewise.
60568         * lib/gcd.c: Likewise.
60569         * lib/gcd.h: Likewise.
60570         * lib/getcwd.c: Likewise.
60571         * lib/getdate.h: Likewise.
60572         * lib/getdate.y: Likewise.
60573         * lib/getdomainname.c: Likewise.
60574         * lib/getdomainname.h: Likewise.
60575         * lib/getgroups.c: Likewise.
60576         * lib/gethostname.c: Likewise.
60577         * lib/gethrxtime.c: Likewise.
60578         * lib/gethrxtime.h: Likewise.
60579         * lib/getloadavg.c: Likewise.
60580         * lib/getndelim2.c: Likewise.
60581         * lib/getndelim2.h: Likewise.
60582         * lib/getnline.c: Likewise.
60583         * lib/getnline.h: Likewise.
60584         * lib/getopt.c: Likewise.
60585         * lib/getopt.in.h: Likewise.
60586         * lib/getopt1.c: Likewise.
60587         * lib/getopt_int.h: Likewise.
60588         * lib/getpagesize.h: Likewise.
60589         * lib/getsubopt.c: Likewise.
60590         * lib/gettime.c: Likewise.
60591         * lib/getugroups.c: Likewise.
60592         * lib/getugroups.h: Likewise.
60593         * lib/getusershell.c: Likewise.
60594         * lib/gl_anyavltree_list1.h: Likewise.
60595         * lib/gl_anyavltree_list2.h: Likewise.
60596         * lib/gl_anyhash_list1.h: Likewise.
60597         * lib/gl_anyhash_list2.h: Likewise.
60598         * lib/gl_anylinked_list1.h: Likewise.
60599         * lib/gl_anylinked_list2.h: Likewise.
60600         * lib/gl_anyrbtree_list1.h: Likewise.
60601         * lib/gl_anyrbtree_list2.h: Likewise.
60602         * lib/gl_anytree_list1.h: Likewise.
60603         * lib/gl_anytree_list2.h: Likewise.
60604         * lib/gl_anytree_oset.h: Likewise.
60605         * lib/gl_anytreehash_list1.h: Likewise.
60606         * lib/gl_anytreehash_list2.h: Likewise.
60607         * lib/gl_array_list.c: Likewise.
60608         * lib/gl_array_list.h: Likewise.
60609         * lib/gl_array_oset.c: Likewise.
60610         * lib/gl_array_oset.h: Likewise.
60611         * lib/gl_avltree_list.c: Likewise.
60612         * lib/gl_avltree_list.h: Likewise.
60613         * lib/gl_avltree_oset.c: Likewise.
60614         * lib/gl_avltree_oset.h: Likewise.
60615         * lib/gl_avltreehash_list.c: Likewise.
60616         * lib/gl_avltreehash_list.h: Likewise.
60617         * lib/gl_carray_list.c: Likewise.
60618         * lib/gl_carray_list.h: Likewise.
60619         * lib/gl_linked_list.c: Likewise.
60620         * lib/gl_linked_list.h: Likewise.
60621         * lib/gl_linkedhash_list.c: Likewise.
60622         * lib/gl_linkedhash_list.h: Likewise.
60623         * lib/gl_list.c: Likewise.
60624         * lib/gl_list.h: Likewise.
60625         * lib/gl_oset.c: Likewise.
60626         * lib/gl_oset.h: Likewise.
60627         * lib/gl_rbtree_list.c: Likewise.
60628         * lib/gl_rbtree_list.h: Likewise.
60629         * lib/gl_rbtree_oset.c: Likewise.
60630         * lib/gl_rbtree_oset.h: Likewise.
60631         * lib/gl_rbtreehash_list.c: Likewise.
60632         * lib/gl_rbtreehash_list.h: Likewise.
60633         * lib/gl_sublist.c: Likewise.
60634         * lib/gl_sublist.h: Likewise.
60635         * lib/group-member.c: Likewise.
60636         * lib/group-member.h: Likewise.
60637         * lib/hard-locale.c: Likewise.
60638         * lib/hard-locale.h: Likewise.
60639         * lib/hash-pjw.c: Likewise.
60640         * lib/hash-pjw.h: Likewise.
60641         * lib/hash-triple.c: Likewise.
60642         * lib/hash.c: Likewise.
60643         * lib/hash.h: Likewise.
60644         * lib/human.c: Likewise.
60645         * lib/human.h: Likewise.
60646         * lib/i-ring.c: Likewise.
60647         * lib/i-ring.h: Likewise.
60648         * lib/idcache.c: Likewise.
60649         * lib/imaxabs.c: Likewise.
60650         * lib/imaxdiv.c: Likewise.
60651         * lib/inet_pton.c: Likewise.
60652         * lib/inet_pton.h: Likewise.
60653         * lib/intprops.h: Likewise.
60654         * lib/inttostr.c: Likewise.
60655         * lib/inttostr.h: Likewise.
60656         * lib/inttypes.in.h: Likewise.
60657         * lib/isapipe.c: Likewise.
60658         * lib/isdir.c: Likewise.
60659         * lib/isnan.c: Likewise.
60660         * lib/isnan.h: Likewise.
60661         * lib/isnanf.c: Likewise.
60662         * lib/isnanf.h: Likewise.
60663         * lib/isnanl-nolibm.h: Likewise.
60664         * lib/isnanl.c: Likewise.
60665         * lib/isnanl.h: Likewise.
60666         * lib/javacomp.c: Likewise.
60667         * lib/javacomp.h: Likewise.
60668         * lib/javaexec.c: Likewise.
60669         * lib/javaexec.h: Likewise.
60670         * lib/javaversion.c: Likewise.
60671         * lib/javaversion.h: Likewise.
60672         * lib/javaversion.java: Likewise.
60673         * lib/lbrkprop.h: Likewise.
60674         * lib/lchmod.h: Likewise.
60675         * lib/lchown.c: Likewise.
60676         * lib/ldexpl.c: Likewise.
60677         * lib/linebreak.c: Likewise.
60678         * lib/linebreak.h: Likewise.
60679         * lib/linebuffer.c: Likewise.
60680         * lib/linebuffer.h: Likewise.
60681         * lib/locale.in.h: Likewise.
60682         * lib/logl.c: Likewise.
60683         * lib/long-options.c: Likewise.
60684         * lib/long-options.h: Likewise.
60685         * lib/lstat.c: Likewise.
60686         * lib/lstat.h: Likewise.
60687         * lib/math.in.h: Likewise.
60688         * lib/mbchar.c: Likewise.
60689         * lib/mbchar.h: Likewise.
60690         * lib/mbfile.h: Likewise.
60691         * lib/mbiter.h: Likewise.
60692         * lib/mbscasecmp.c: Likewise.
60693         * lib/mbscasestr.c: Likewise.
60694         * lib/mbschr.c: Likewise.
60695         * lib/mbscspn.c: Likewise.
60696         * lib/mbslen.c: Likewise.
60697         * lib/mbsncasecmp.c: Likewise.
60698         * lib/mbsnlen.c: Likewise.
60699         * lib/mbspbrk.c: Likewise.
60700         * lib/mbspcasecmp.c: Likewise.
60701         * lib/mbsrchr.c: Likewise.
60702         * lib/mbssep.c: Likewise.
60703         * lib/mbsspn.c: Likewise.
60704         * lib/mbsstr.c: Likewise.
60705         * lib/mbstok_r.c: Likewise.
60706         * lib/mbswidth.c: Likewise.
60707         * lib/mbswidth.h: Likewise.
60708         * lib/mbuiter.h: Likewise.
60709         * lib/memcasecmp.c: Likewise.
60710         * lib/memcasecmp.h: Likewise.
60711         * lib/memchr.c: Likewise.
60712         * lib/memcmp.c: Likewise.
60713         * lib/memcoll.c: Likewise.
60714         * lib/memcoll.h: Likewise.
60715         * lib/memcpy.c: Likewise.
60716         * lib/memrchr.c: Likewise.
60717         * lib/mkancesdirs.c: Likewise.
60718         * lib/mkdir-p.c: Likewise.
60719         * lib/mkdir-p.h: Likewise.
60720         * lib/mkdir.c: Likewise.
60721         * lib/mkdirat.c: Likewise.
60722         * lib/mkdtemp.c: Likewise.
60723         * lib/mkstemp-safer.c: Likewise.
60724         * lib/mkstemp.c: Likewise.
60725         * lib/modechange.c: Likewise.
60726         * lib/modechange.h: Likewise.
60727         * lib/mountlist.c: Likewise.
60728         * lib/mountlist.h: Likewise.
60729         * lib/mpsort.c: Likewise.
60730         * lib/nanosleep.c: Likewise.
60731         * lib/obstack.c: Likewise.
60732         * lib/obstack.h: Likewise.
60733         * lib/open-safer.c: Likewise.
60734         * lib/open.c: Likewise.
60735         * lib/openat-die.c: Likewise.
60736         * lib/openat-priv.h: Likewise.
60737         * lib/openat-proc.c: Likewise.
60738         * lib/openat.c: Likewise.
60739         * lib/openat.h: Likewise.
60740         * lib/pagealign_alloc.c: Likewise.
60741         * lib/pagealign_alloc.h: Likewise.
60742         * lib/physmem.c: Likewise.
60743         * lib/physmem.h: Likewise.
60744         * lib/pipe-safer.c: Likewise.
60745         * lib/pipe.c: Likewise.
60746         * lib/pipe.h: Likewise.
60747         * lib/posixtm.c: Likewise.
60748         * lib/posixtm.h: Likewise.
60749         * lib/posixver.c: Likewise.
60750         * lib/printf-frexp.c: Likewise.
60751         * lib/printf-frexp.h: Likewise.
60752         * lib/printf-frexpl.c: Likewise.
60753         * lib/printf-frexpl.h: Likewise.
60754         * lib/printf.c: Likewise.
60755         * lib/progname.c: Likewise.
60756         * lib/progname.h: Likewise.
60757         * lib/progreloc.c: Likewise.
60758         * lib/putenv.c: Likewise.
60759         * lib/quote.c: Likewise.
60760         * lib/quote.h: Likewise.
60761         * lib/quotearg.c: Likewise.
60762         * lib/quotearg.h: Likewise.
60763         * lib/raise.c: Likewise.
60764         * lib/readline.c: Likewise.
60765         * lib/readline.h: Likewise.
60766         * lib/readlink.c: Likewise.
60767         * lib/readtokens.c: Likewise.
60768         * lib/readtokens.h: Likewise.
60769         * lib/readtokens0.c: Likewise.
60770         * lib/readtokens0.h: Likewise.
60771         * lib/readutmp.c: Likewise.
60772         * lib/readutmp.h: Likewise.
60773         * lib/realloc.c: Likewise.
60774         * lib/relocwrapper.c: Likewise.
60775         * lib/rename-dest-slash.c: Likewise.
60776         * lib/rename.c: Likewise.
60777         * lib/rmdir.c: Likewise.
60778         * lib/rpmatch.c: Likewise.
60779         * lib/safe-read.c: Likewise.
60780         * lib/safe-read.h: Likewise.
60781         * lib/safe-write.c: Likewise.
60782         * lib/safe-write.h: Likewise.
60783         * lib/same-inode.h: Likewise.
60784         * lib/same.c: Likewise.
60785         * lib/same.h: Likewise.
60786         * lib/save-cwd.c: Likewise.
60787         * lib/save-cwd.h: Likewise.
60788         * lib/savedir.c: Likewise.
60789         * lib/savedir.h: Likewise.
60790         * lib/savewd.c: Likewise.
60791         * lib/savewd.h: Likewise.
60792         * lib/search.in.h: Likewise.
60793         * lib/setenv.c: Likewise.
60794         * lib/setenv.h: Likewise.
60795         * lib/settime.c: Likewise.
60796         * lib/sh-quote.c: Likewise.
60797         * lib/sh-quote.h: Likewise.
60798         * lib/sig2str.c: Likewise.
60799         * lib/sig2str.h: Likewise.
60800         * lib/signal.in.h: Likewise.
60801         * lib/signbitd.c: Likewise.
60802         * lib/signbitf.c: Likewise.
60803         * lib/signbitl.c: Likewise.
60804         * lib/sigprocmask.c: Likewise.
60805         * lib/sincosl.c: Likewise.
60806         * lib/sleep.c: Likewise.
60807         * lib/sprintf.c: Likewise.
60808         * lib/sqrtl.c: Likewise.
60809         * lib/stat-time.h: Likewise.
60810         * lib/stdio--.h: Likewise.
60811         * lib/stdio-safer.h: Likewise.
60812         * lib/stdlib--.h: Likewise.
60813         * lib/stdlib-safer.h: Likewise.
60814         * lib/stdlib.in.h: Likewise.
60815         * lib/stpcpy.c: Likewise.
60816         * lib/stpncpy.c: Likewise.
60817         * lib/strchrnul.c: Likewise.
60818         * lib/strcspn.c: Likewise.
60819         * lib/strerror.c: Likewise.
60820         * lib/strftime.c: Likewise.
60821         * lib/strftime.h: Likewise.
60822         * lib/striconveh.c: Likewise.
60823         * lib/striconveh.h: Likewise.
60824         * lib/striconveha.c: Likewise.
60825         * lib/striconveha.h: Likewise.
60826         * lib/stripslash.c: Likewise.
60827         * lib/strnlen1.c: Likewise.
60828         * lib/strnlen1.h: Likewise.
60829         * lib/strtod.c: Likewise.
60830         * lib/strtoimax.c: Likewise.
60831         * lib/strtok_r.c: Likewise.
60832         * lib/strtol.c: Likewise.
60833         * lib/strtoll.c: Likewise.
60834         * lib/strtoul.c: Likewise.
60835         * lib/strtoull.c: Likewise.
60836         * lib/sysexits.in.h: Likewise.
60837         * lib/tempname.c: Likewise.
60838         * lib/tempname.h: Likewise.
60839         * lib/timespec.h: Likewise.
60840         * lib/tls.c: Likewise.
60841         * lib/tls.h: Likewise.
60842         * lib/tmpdir.c: Likewise.
60843         * lib/tmpdir.h: Likewise.
60844         * lib/tmpfile-safer.c: Likewise.
60845         * lib/tmpfile.c: Likewise.
60846         * lib/trigl.c: Likewise.
60847         * lib/trigl.h: Likewise.
60848         * lib/trim.c: Likewise.
60849         * lib/trim.h: Likewise.
60850         * lib/trunc.c: Likewise.
60851         * lib/truncf.c: Likewise.
60852         * lib/truncl.c: Likewise.
60853         * lib/tsearch.c: Likewise.
60854         * lib/unicodeio.c: Likewise.
60855         * lib/unicodeio.h: Likewise.
60856         * lib/unistd--.h: Likewise.
60857         * lib/unistd-safer.h: Likewise.
60858         * lib/unistdio/ulc-fprintf.c: Likewise.
60859         * lib/unistdio/ulc-vfprintf.c: Likewise.
60860         * lib/unlinkdir.c: Likewise.
60861         * lib/unlinkdir.h: Likewise.
60862         * lib/unlocked-io.h: Likewise.
60863         * lib/unsetenv.c: Likewise.
60864         * lib/userspec.c: Likewise.
60865         * lib/utime.c: Likewise.
60866         * lib/utimecmp.c: Likewise.
60867         * lib/utimecmp.h: Likewise.
60868         * lib/utimens.c: Likewise.
60869         * lib/verify.h: Likewise.
60870         * lib/verror.c: Likewise.
60871         * lib/verror.h: Likewise.
60872         * lib/version-etc-fsf.c: Likewise.
60873         * lib/version-etc.c: Likewise.
60874         * lib/version-etc.h: Likewise.
60875         * lib/vfprintf.c: Likewise.
60876         * lib/vprintf.c: Likewise.
60877         * lib/vsprintf.c: Likewise.
60878         * lib/w32spawn.h: Likewise.
60879         * lib/wait-process.c: Likewise.
60880         * lib/wait-process.h: Likewise.
60881         * lib/wcwidth.c: Likewise.
60882         * lib/write-any-file.c: Likewise.
60883         * lib/xalloc-die.c: Likewise.
60884         * lib/xalloc.h: Likewise.
60885         * lib/xasprintf.c: Likewise.
60886         * lib/xgetcwd.c: Likewise.
60887         * lib/xgetcwd.h: Likewise.
60888         * lib/xgetdomainname.c: Likewise.
60889         * lib/xgetdomainname.h: Likewise.
60890         * lib/xgethostname.c: Likewise.
60891         * lib/xmalloc.c: Likewise.
60892         * lib/xmalloca.c: Likewise.
60893         * lib/xmalloca.h: Likewise.
60894         * lib/xmemcoll.c: Likewise.
60895         * lib/xnanosleep.c: Likewise.
60896         * lib/xreadlink.c: Likewise.
60897         * lib/xreadlink.h: Likewise.
60898         * lib/xsetenv.c: Likewise.
60899         * lib/xsetenv.h: Likewise.
60900         * lib/xstriconv.c: Likewise.
60901         * lib/xstriconv.h: Likewise.
60902         * lib/xstrndup.c: Likewise.
60903         * lib/xstrndup.h: Likewise.
60904         * lib/xstrtod.c: Likewise.
60905         * lib/xstrtod.h: Likewise.
60906         * lib/xstrtol-error.c: Likewise.
60907         * lib/xstrtol.c: Likewise.
60908         * lib/xstrtol.h: Likewise.
60909         * lib/xtime.h: Likewise.
60910         * lib/xvasprintf.c: Likewise.
60911         * lib/xvasprintf.h: Likewise.
60912         * lib/yesno.c: Likewise.
60913         * lib/yesno.h: Likewise.
60914         * posix-modules: Likewise.
60915         * tests/test-alloca-opt.c: Likewise.
60916         * tests/test-arcfour.c: Likewise.
60917         * tests/test-arctwo.c: Likewise.
60918         * tests/test-argmatch.c: Likewise.
60919         * tests/test-argp-2.sh: Likewise.
60920         * tests/test-argp.c: Likewise.
60921         * tests/test-arpa_inet.c: Likewise.
60922         * tests/test-array_list.c: Likewise.
60923         * tests/test-array_oset.c: Likewise.
60924         * tests/test-atexit.c: Likewise.
60925         * tests/test-avltree_list.c: Likewise.
60926         * tests/test-avltree_oset.c: Likewise.
60927         * tests/test-avltreehash_list.c: Likewise.
60928         * tests/test-base64.c: Likewise.
60929         * tests/test-binary-io.c: Likewise.
60930         * tests/test-byteswap.c: Likewise.
60931         * tests/test-c-ctype.c: Likewise.
60932         * tests/test-c-strcasecmp.c: Likewise.
60933         * tests/test-c-strcasestr.c: Likewise.
60934         * tests/test-c-strncasecmp.c: Likewise.
60935         * tests/test-c-strstr.c: Likewise.
60936         * tests/test-canonicalize-lgpl.c: Likewise.
60937         * tests/test-canonicalize.c: Likewise.
60938         * tests/test-carray_list.c: Likewise.
60939         * tests/test-ceilf.c: Likewise.
60940         * tests/test-ceill.c: Likewise.
60941         * tests/test-count-one-bits.c: Likewise.
60942         * tests/test-crc.c: Likewise.
60943         * tests/test-dirname.c: Likewise.
60944         * tests/test-fbufmode.c: Likewise.
60945         * tests/test-fcntl.c: Likewise.
60946         * tests/test-fflush.c: Likewise.
60947         * tests/test-floorf.c: Likewise.
60948         * tests/test-floorl.c: Likewise.
60949         * tests/test-fopen.c: Likewise.
60950         * tests/test-fprintf-posix.c: Likewise.
60951         * tests/test-fprintf-posix.h: Likewise.
60952         * tests/test-fpurge.c: Likewise.
60953         * tests/test-freadable.c: Likewise.
60954         * tests/test-freadahead.c: Likewise.
60955         * tests/test-freading.c: Likewise.
60956         * tests/test-freopen.c: Likewise.
60957         * tests/test-frexp.c: Likewise.
60958         * tests/test-frexpl.c: Likewise.
60959         * tests/test-fseek.c: Likewise.
60960         * tests/test-fseeko.c: Likewise.
60961         * tests/test-fseterr.c: Likewise.
60962         * tests/test-fstrcmp.c: Likewise.
60963         * tests/test-ftell.c: Likewise.
60964         * tests/test-ftello.c: Likewise.
60965         * tests/test-fwritable.c: Likewise.
60966         * tests/test-fwriting.c: Likewise.
60967         * tests/test-getaddrinfo.c: Likewise.
60968         * tests/test-getpass.c: Likewise.
60969         * tests/test-gettimeofday.c: Likewise.
60970         * tests/test-hmac-md5.c: Likewise.
60971         * tests/test-hmac-sha1.c: Likewise.
60972         * tests/test-iconv.c: Likewise.
60973         * tests/test-iconvme.c: Likewise.
60974         * tests/test-inttypes.c: Likewise.
60975         * tests/test-isnan.c: Likewise.
60976         * tests/test-isnanf.c: Likewise.
60977         * tests/test-isnanl-nolibm.c: Likewise.
60978         * tests/test-isnanl.c: Likewise.
60979         * tests/test-isnanl.h: Likewise.
60980         * tests/test-ldexpl.c: Likewise.
60981         * tests/test-linked_list.c: Likewise.
60982         * tests/test-linkedhash_list.c: Likewise.
60983         * tests/test-locale.c: Likewise.
60984         * tests/test-localename.c: Likewise.
60985         * tests/test-lock.c: Likewise.
60986         * tests/test-lseek.c: Likewise.
60987         * tests/test-malloca.c: Likewise.
60988         * tests/test-math.c: Likewise.
60989         * tests/test-mbscasecmp.c: Likewise.
60990         * tests/test-mbscasestr1.c: Likewise.
60991         * tests/test-mbscasestr2.c: Likewise.
60992         * tests/test-mbscasestr3.c: Likewise.
60993         * tests/test-mbscasestr4.c: Likewise.
60994         * tests/test-mbschr.c: Likewise.
60995         * tests/test-mbscspn.c: Likewise.
60996         * tests/test-mbsncasecmp.c: Likewise.
60997         * tests/test-mbspbrk.c: Likewise.
60998         * tests/test-mbspcasecmp.c: Likewise.
60999         * tests/test-mbsrchr.c: Likewise.
61000         * tests/test-mbsspn.c: Likewise.
61001         * tests/test-mbsstr1.c: Likewise.
61002         * tests/test-mbsstr2.c: Likewise.
61003         * tests/test-mbsstr3.c: Likewise.
61004         * tests/test-md5.c: Likewise.
61005         * tests/test-memmem.c: Likewise.
61006         * tests/test-netinet_in.c: Likewise.
61007         * tests/test-open.c: Likewise.
61008         * tests/test-printf-frexp.c: Likewise.
61009         * tests/test-printf-frexpl.c: Likewise.
61010         * tests/test-printf-posix.c: Likewise.
61011         * tests/test-printf-posix.h: Likewise.
61012         * tests/test-rbtree_list.c: Likewise.
61013         * tests/test-rbtree_oset.c: Likewise.
61014         * tests/test-rbtreehash_list.c: Likewise.
61015         * tests/test-read-file.c: Likewise.
61016         * tests/test-rijndael.c: Likewise.
61017         * tests/test-search.c: Likewise.
61018         * tests/test-signbit.c: Likewise.
61019         * tests/test-sleep.c: Likewise.
61020         * tests/test-snprintf-posix.c: Likewise.
61021         * tests/test-snprintf-posix.h: Likewise.
61022         * tests/test-snprintf.c: Likewise.
61023         * tests/test-sprintf-posix.c: Likewise.
61024         * tests/test-sprintf-posix.h: Likewise.
61025         * tests/test-stat-time.c: Likewise.
61026         * tests/test-stdbool.c: Likewise.
61027         * tests/test-stdint.c: Likewise.
61028         * tests/test-stdio.c: Likewise.
61029         * tests/test-stdlib.c: Likewise.
61030         * tests/test-stpncpy.c: Likewise.
61031         * tests/test-strcasestr.c: Likewise.
61032         * tests/test-striconv.c: Likewise.
61033         * tests/test-striconveh.c: Likewise.
61034         * tests/test-striconveha.c: Likewise.
61035         * tests/test-string.c: Likewise.
61036         * tests/test-sys_select.c: Likewise.
61037         * tests/test-sys_socket.c: Likewise.
61038         * tests/test-sys_stat.c: Likewise.
61039         * tests/test-sys_time.c: Likewise.
61040         * tests/test-sysexits.c: Likewise.
61041         * tests/test-time.c: Likewise.
61042         * tests/test-tls.c: Likewise.
61043         * tests/test-trunc.c: Likewise.
61044         * tests/test-truncf.c: Likewise.
61045         * tests/test-truncl.c: Likewise.
61046         * tests/test-unistd.c: Likewise.
61047         * tests/test-vasnprintf-posix.c: Likewise.
61048         * tests/test-vasnprintf-posix2.c: Likewise.
61049         * tests/test-vasnprintf.c: Likewise.
61050         * tests/test-vasprintf-posix.c: Likewise.
61051         * tests/test-vasprintf.c: Likewise.
61052         * tests/test-verify.c: Likewise.
61053         * tests/test-vfprintf-posix.c: Likewise.
61054         * tests/test-vprintf-posix.c: Likewise.
61055         * tests/test-vsnprintf-posix.c: Likewise.
61056         * tests/test-vsnprintf.c: Likewise.
61057         * tests/test-vsprintf-posix.c: Likewise.
61058         * tests/test-wchar.c: Likewise.
61059         * tests/test-wctype.c: Likewise.
61060         * tests/test-wcwidth.c: Likewise.
61061         * tests/test-xstrtol.c: Likewise.
61062         * tests/test-xvasprintf.c: Likewise.
61063         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
61064         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
61065         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
61066         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
61067         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
61068         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
61069         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
61070         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
61071         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
61072         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
61073         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
61074         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
61075         * tests/uniname/test-uninames.c: Likewise.
61076         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
61077         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
61078         * tests/unistdio/test-u16-printf1.h: Likewise.
61079         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
61080         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
61081         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
61082         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
61083         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
61084         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
61085         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
61086         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
61087         * tests/unistdio/test-u32-printf1.h: Likewise.
61088         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
61089         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
61090         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
61091         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
61092         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
61093         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
61094         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
61095         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
61096         * tests/unistdio/test-u8-printf1.h: Likewise.
61097         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
61098         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
61099         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
61100         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
61101         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
61102         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
61103         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
61104         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
61105         * tests/unistdio/test-ulc-printf1.h: Likewise.
61106         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
61107         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
61108         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
61109         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
61110         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
61111         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
61112         * tests/uniwidth/test-u16-strwidth.c: Likewise.
61113         * tests/uniwidth/test-u16-width.c: Likewise.
61114         * tests/uniwidth/test-u32-strwidth.c: Likewise.
61115         * tests/uniwidth/test-u32-width.c: Likewise.
61116         * tests/uniwidth/test-u8-strwidth.c: Likewise.
61117         * tests/uniwidth/test-u8-width.c: Likewise.
61118         * tests/uniwidth/test-uc_width.c: Likewise.
61119         * config/srclist-update: Likewise.
61120         (fixlicense): Update to GPLv3+.
61121
61122         Change copyright notice from LGPLv2.1+ to LGPLv3+.
61123         * tests/test-tsearch.c: Change copyright notice.
61124
61125         Change copyright notice from LGPLv2.0+ to LGPLv3+.
61126         * lib/c-strcaseeq.h: Change copyright notice.
61127         * lib/streq.h: Likewise.
61128         * lib/uniconv.h: Likewise.
61129         * lib/uniconv/u-conv-from-enc.h: Likewise.
61130         * lib/uniconv/u-conv-to-enc.h: Likewise.
61131         * lib/uniconv/u-strconv-from-enc.h: Likewise.
61132         * lib/uniconv/u-strconv-to-enc.h: Likewise.
61133         * lib/uniconv/u16-conv-from-enc.c: Likewise.
61134         * lib/uniconv/u16-conv-to-enc.c: Likewise.
61135         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
61136         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
61137         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
61138         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
61139         * lib/uniconv/u32-conv-from-enc.c: Likewise.
61140         * lib/uniconv/u32-conv-to-enc.c: Likewise.
61141         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
61142         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
61143         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
61144         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
61145         * lib/uniconv/u8-conv-from-enc.c: Likewise.
61146         * lib/uniconv/u8-conv-to-enc.c: Likewise.
61147         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
61148         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
61149         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
61150         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
61151         * lib/uniname.h: Likewise.
61152         * lib/uniname/uniname.c: Likewise.
61153         * lib/unistdio.h: Likewise.
61154         * lib/unistdio/u-asnprintf.h: Likewise.
61155         * lib/unistdio/u-asprintf.h: Likewise.
61156         * lib/unistdio/u-printf-args.c: Likewise.
61157         * lib/unistdio/u-printf-args.h: Likewise.
61158         * lib/unistdio/u-printf-parse.h: Likewise.
61159         * lib/unistdio/u-snprintf.h: Likewise.
61160         * lib/unistdio/u-sprintf.h: Likewise.
61161         * lib/unistdio/u-vasprintf.h: Likewise.
61162         * lib/unistdio/u-vsnprintf.h: Likewise.
61163         * lib/unistdio/u-vsprintf.h: Likewise.
61164         * lib/unistdio/u16-asnprintf.c: Likewise.
61165         * lib/unistdio/u16-asprintf.c: Likewise.
61166         * lib/unistdio/u16-printf-parse.c: Likewise.
61167         * lib/unistdio/u16-snprintf.c: Likewise.
61168         * lib/unistdio/u16-sprintf.c: Likewise.
61169         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
61170         * lib/unistdio/u16-u16-asprintf.c: Likewise.
61171         * lib/unistdio/u16-u16-snprintf.c: Likewise.
61172         * lib/unistdio/u16-u16-sprintf.c: Likewise.
61173         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
61174         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
61175         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
61176         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
61177         * lib/unistdio/u16-vasnprintf.c: Likewise.
61178         * lib/unistdio/u16-vasprintf.c: Likewise.
61179         * lib/unistdio/u16-vsnprintf.c: Likewise.
61180         * lib/unistdio/u16-vsprintf.c: Likewise.
61181         * lib/unistdio/u32-asnprintf.c: Likewise.
61182         * lib/unistdio/u32-asprintf.c: Likewise.
61183         * lib/unistdio/u32-printf-parse.c: Likewise.
61184         * lib/unistdio/u32-snprintf.c: Likewise.
61185         * lib/unistdio/u32-sprintf.c: Likewise.
61186         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
61187         * lib/unistdio/u32-u32-asprintf.c: Likewise.
61188         * lib/unistdio/u32-u32-snprintf.c: Likewise.
61189         * lib/unistdio/u32-u32-sprintf.c: Likewise.
61190         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
61191         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
61192         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
61193         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
61194         * lib/unistdio/u32-vasnprintf.c: Likewise.
61195         * lib/unistdio/u32-vasprintf.c: Likewise.
61196         * lib/unistdio/u32-vsnprintf.c: Likewise.
61197         * lib/unistdio/u32-vsprintf.c: Likewise.
61198         * lib/unistdio/u8-asnprintf.c: Likewise.
61199         * lib/unistdio/u8-asprintf.c: Likewise.
61200         * lib/unistdio/u8-printf-parse.c: Likewise.
61201         * lib/unistdio/u8-snprintf.c: Likewise.
61202         * lib/unistdio/u8-sprintf.c: Likewise.
61203         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
61204         * lib/unistdio/u8-u8-asprintf.c: Likewise.
61205         * lib/unistdio/u8-u8-snprintf.c: Likewise.
61206         * lib/unistdio/u8-u8-sprintf.c: Likewise.
61207         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
61208         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
61209         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
61210         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
61211         * lib/unistdio/u8-vasnprintf.c: Likewise.
61212         * lib/unistdio/u8-vasprintf.c: Likewise.
61213         * lib/unistdio/u8-vsnprintf.c: Likewise.
61214         * lib/unistdio/u8-vsprintf.c: Likewise.
61215         * lib/unistdio/ulc-asnprintf.c: Likewise.
61216         * lib/unistdio/ulc-asprintf.c: Likewise.
61217         * lib/unistdio/ulc-printf-parse.c: Likewise.
61218         * lib/unistdio/ulc-snprintf.c: Likewise.
61219         * lib/unistdio/ulc-sprintf.c: Likewise.
61220         * lib/unistdio/ulc-vasnprintf.c: Likewise.
61221         * lib/unistdio/ulc-vasprintf.c: Likewise.
61222         * lib/unistdio/ulc-vsnprintf.c: Likewise.
61223         * lib/unistdio/ulc-vsprintf.c: Likewise.
61224         * lib/unistr.h: Likewise.
61225         * lib/unistr/u-cpy-alloc.h: Likewise.
61226         * lib/unistr/u-cpy.h: Likewise.
61227         * lib/unistr/u-endswith.h: Likewise.
61228         * lib/unistr/u-move.h: Likewise.
61229         * lib/unistr/u-set.h: Likewise.
61230         * lib/unistr/u-startswith.h: Likewise.
61231         * lib/unistr/u-stpcpy.h: Likewise.
61232         * lib/unistr/u-stpncpy.h: Likewise.
61233         * lib/unistr/u-strcat.h: Likewise.
61234         * lib/unistr/u-strcpy.h: Likewise.
61235         * lib/unistr/u-strcspn.h: Likewise.
61236         * lib/unistr/u-strdup.h: Likewise.
61237         * lib/unistr/u-strlen.h: Likewise.
61238         * lib/unistr/u-strncat.h: Likewise.
61239         * lib/unistr/u-strncpy.h: Likewise.
61240         * lib/unistr/u-strnlen.h: Likewise.
61241         * lib/unistr/u-strpbrk.h: Likewise.
61242         * lib/unistr/u-strspn.h: Likewise.
61243         * lib/unistr/u-strstr.h: Likewise.
61244         * lib/unistr/u-strtok.h: Likewise.
61245         * lib/unistr/u16-check.c: Likewise.
61246         * lib/unistr/u16-chr.c: Likewise.
61247         * lib/unistr/u16-cmp.c: Likewise.
61248         * lib/unistr/u16-cpy-alloc.c: Likewise.
61249         * lib/unistr/u16-cpy.c: Likewise.
61250         * lib/unistr/u16-endswith.c: Likewise.
61251         * lib/unistr/u16-mblen.c: Likewise.
61252         * lib/unistr/u16-mbsnlen.c: Likewise.
61253         * lib/unistr/u16-mbtouc-aux.c: Likewise.
61254         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
61255         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
61256         * lib/unistr/u16-mbtouc.c: Likewise.
61257         * lib/unistr/u16-mbtoucr.c: Likewise.
61258         * lib/unistr/u16-move.c: Likewise.
61259         * lib/unistr/u16-next.c: Likewise.
61260         * lib/unistr/u16-prev.c: Likewise.
61261         * lib/unistr/u16-set.c: Likewise.
61262         * lib/unistr/u16-startswith.c: Likewise.
61263         * lib/unistr/u16-stpcpy.c: Likewise.
61264         * lib/unistr/u16-stpncpy.c: Likewise.
61265         * lib/unistr/u16-strcat.c: Likewise.
61266         * lib/unistr/u16-strchr.c: Likewise.
61267         * lib/unistr/u16-strcmp.c: Likewise.
61268         * lib/unistr/u16-strcpy.c: Likewise.
61269         * lib/unistr/u16-strcspn.c: Likewise.
61270         * lib/unistr/u16-strdup.c: Likewise.
61271         * lib/unistr/u16-strlen.c: Likewise.
61272         * lib/unistr/u16-strmblen.c: Likewise.
61273         * lib/unistr/u16-strmbtouc.c: Likewise.
61274         * lib/unistr/u16-strncat.c: Likewise.
61275         * lib/unistr/u16-strncmp.c: Likewise.
61276         * lib/unistr/u16-strncpy.c: Likewise.
61277         * lib/unistr/u16-strnlen.c: Likewise.
61278         * lib/unistr/u16-strpbrk.c: Likewise.
61279         * lib/unistr/u16-strrchr.c: Likewise.
61280         * lib/unistr/u16-strspn.c: Likewise.
61281         * lib/unistr/u16-strstr.c: Likewise.
61282         * lib/unistr/u16-strtok.c: Likewise.
61283         * lib/unistr/u16-to-u32.c: Likewise.
61284         * lib/unistr/u16-to-u8.c: Likewise.
61285         * lib/unistr/u16-uctomb-aux.c: Likewise.
61286         * lib/unistr/u16-uctomb.c: Likewise.
61287         * lib/unistr/u32-check.c: Likewise.
61288         * lib/unistr/u32-chr.c: Likewise.
61289         * lib/unistr/u32-cmp.c: Likewise.
61290         * lib/unistr/u32-cpy-alloc.c: Likewise.
61291         * lib/unistr/u32-cpy.c: Likewise.
61292         * lib/unistr/u32-endswith.c: Likewise.
61293         * lib/unistr/u32-mblen.c: Likewise.
61294         * lib/unistr/u32-mbsnlen.c: Likewise.
61295         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
61296         * lib/unistr/u32-mbtouc.c: Likewise.
61297         * lib/unistr/u32-mbtoucr.c: Likewise.
61298         * lib/unistr/u32-move.c: Likewise.
61299         * lib/unistr/u32-next.c: Likewise.
61300         * lib/unistr/u32-prev.c: Likewise.
61301         * lib/unistr/u32-set.c: Likewise.
61302         * lib/unistr/u32-startswith.c: Likewise.
61303         * lib/unistr/u32-stpcpy.c: Likewise.
61304         * lib/unistr/u32-stpncpy.c: Likewise.
61305         * lib/unistr/u32-strcat.c: Likewise.
61306         * lib/unistr/u32-strchr.c: Likewise.
61307         * lib/unistr/u32-strcmp.c: Likewise.
61308         * lib/unistr/u32-strcpy.c: Likewise.
61309         * lib/unistr/u32-strcspn.c: Likewise.
61310         * lib/unistr/u32-strdup.c: Likewise.
61311         * lib/unistr/u32-strlen.c: Likewise.
61312         * lib/unistr/u32-strmblen.c: Likewise.
61313         * lib/unistr/u32-strmbtouc.c: Likewise.
61314         * lib/unistr/u32-strncat.c: Likewise.
61315         * lib/unistr/u32-strncmp.c: Likewise.
61316         * lib/unistr/u32-strncpy.c: Likewise.
61317         * lib/unistr/u32-strnlen.c: Likewise.
61318         * lib/unistr/u32-strpbrk.c: Likewise.
61319         * lib/unistr/u32-strrchr.c: Likewise.
61320         * lib/unistr/u32-strspn.c: Likewise.
61321         * lib/unistr/u32-strstr.c: Likewise.
61322         * lib/unistr/u32-strtok.c: Likewise.
61323         * lib/unistr/u32-to-u16.c: Likewise.
61324         * lib/unistr/u32-to-u8.c: Likewise.
61325         * lib/unistr/u32-uctomb.c: Likewise.
61326         * lib/unistr/u8-check.c: Likewise.
61327         * lib/unistr/u8-chr.c: Likewise.
61328         * lib/unistr/u8-cmp.c: Likewise.
61329         * lib/unistr/u8-cpy-alloc.c: Likewise.
61330         * lib/unistr/u8-cpy.c: Likewise.
61331         * lib/unistr/u8-endswith.c: Likewise.
61332         * lib/unistr/u8-mblen.c: Likewise.
61333         * lib/unistr/u8-mbsnlen.c: Likewise.
61334         * lib/unistr/u8-mbtouc-aux.c: Likewise.
61335         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
61336         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
61337         * lib/unistr/u8-mbtouc.c: Likewise.
61338         * lib/unistr/u8-mbtoucr.c: Likewise.
61339         * lib/unistr/u8-move.c: Likewise.
61340         * lib/unistr/u8-next.c: Likewise.
61341         * lib/unistr/u8-prev.c: Likewise.
61342         * lib/unistr/u8-set.c: Likewise.
61343         * lib/unistr/u8-startswith.c: Likewise.
61344         * lib/unistr/u8-stpcpy.c: Likewise.
61345         * lib/unistr/u8-stpncpy.c: Likewise.
61346         * lib/unistr/u8-strcat.c: Likewise.
61347         * lib/unistr/u8-strchr.c: Likewise.
61348         * lib/unistr/u8-strcmp.c: Likewise.
61349         * lib/unistr/u8-strcpy.c: Likewise.
61350         * lib/unistr/u8-strcspn.c: Likewise.
61351         * lib/unistr/u8-strdup.c: Likewise.
61352         * lib/unistr/u8-strlen.c: Likewise.
61353         * lib/unistr/u8-strmblen.c: Likewise.
61354         * lib/unistr/u8-strmbtouc.c: Likewise.
61355         * lib/unistr/u8-strncat.c: Likewise.
61356         * lib/unistr/u8-strncmp.c: Likewise.
61357         * lib/unistr/u8-strncpy.c: Likewise.
61358         * lib/unistr/u8-strnlen.c: Likewise.
61359         * lib/unistr/u8-strpbrk.c: Likewise.
61360         * lib/unistr/u8-strrchr.c: Likewise.
61361         * lib/unistr/u8-strspn.c: Likewise.
61362         * lib/unistr/u8-strstr.c: Likewise.
61363         * lib/unistr/u8-strtok.c: Likewise.
61364         * lib/unistr/u8-to-u16.c: Likewise.
61365         * lib/unistr/u8-to-u32.c: Likewise.
61366         * lib/unistr/u8-uctomb-aux.c: Likewise.
61367         * lib/unistr/u8-uctomb.c: Likewise.
61368         * lib/unitypes.h: Likewise.
61369         * lib/uniwidth.h: Likewise.
61370         * lib/uniwidth/cjk.h: Likewise.
61371         * lib/uniwidth/u16-strwidth.c: Likewise.
61372         * lib/uniwidth/u16-width.c: Likewise.
61373         * lib/uniwidth/u32-strwidth.c: Likewise.
61374         * lib/uniwidth/u32-width.c: Likewise.
61375         * lib/uniwidth/u8-strwidth.c: Likewise.
61376         * lib/uniwidth/u8-width.c: Likewise.
61377         * lib/uniwidth/width.c: Likewise.
61378
61379 2007-10-07  Bruno Haible  <bruno@clisp.org>
61380
61381         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
61382         The file is still under LGPL (see modules/inttypes).
61383
61384 2007-10-06  Bruno Haible  <bruno@clisp.org>
61385
61386         * modules/trunc (Dependencies): Add 'extensions'.
61387         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
61388         Reported by Ben Pfaff <blp@gnu.org>.
61389
61390 2007-10-06  Bruno Haible  <bruno@clisp.org>
61391
61392         * modules/freopen-tests: New file.
61393         * tests/test-freopen.c: New file.
61394
61395         * modules/fopen-tests: New file.
61396         * tests/test-fopen.c: New file.
61397
61398         * modules/fopen: New file.
61399         * lib/fopen.c: New file.
61400         * m4/fopen.m4: New file.
61401         * modules/freopen: New file.
61402         * lib/freopen.c: New file.
61403         * m4/freopen.m4: New file.
61404         * lib/stdio.in.h (fopen, freopen): New declarations.
61405         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
61406         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
61407         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
61408         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
61409         * doc/functions/fopen.texi: Mention the 'fopen' module.
61410         * doc/functions/freopen.texi: Mention the 'freopen' module.
61411
61412 2007-10-06  Bruno Haible  <bruno@clisp.org>
61413
61414         * modules/open-tests: New file.
61415         * tests/test-open.c: New file.
61416
61417         * modules/open: New file.
61418         * lib/open.c: New file.
61419         * m4/open.m4: New file.
61420         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
61421         lib/open.c does.
61422         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
61423         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
61424         macros.
61425         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
61426         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
61427         REPLACE_OPEN.
61428         * doc/functions/open.texi: Mention the 'open' module.
61429
61430 2007-10-04  Bruno Haible  <bruno@clisp.org>
61431
61432         * modules/ceill-tests: New file.
61433         * tests/test-ceill.c: New file.
61434
61435         * modules/ceill: New file.
61436         * lib/ceill.c: Replace entire file.
61437         * m4/ceill.m4: New file.
61438         * lib/math.in.h (ceill): Replace declaration.
61439         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
61440         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
61441         * doc/functions/ceill.texi: Mention the 'ceill' module.
61442         * modules/mathl (Files): Remove lib/ceill.c.
61443         (Depends-on): Add ceill.
61444
61445 2007-10-04  Bruno Haible  <bruno@clisp.org>
61446
61447         * modules/ceilf-tests: New file.
61448         * tests/test-ceilf.c: New file.
61449
61450         * modules/ceilf: New file.
61451         * lib/ceil.c: New file.
61452         * lib/ceilf.c: New file.
61453         * m4/ceilf.m4: New file.
61454         * lib/math.in.h (ceilf): New declaration.
61455         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
61456         HAVE_DECL_CEILF.
61457         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
61458         HAVE_DECL_CEILF.
61459         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
61460
61461 2007-10-04  Bruno Haible  <bruno@clisp.org>
61462
61463         * modules/floorl-tests: New file.
61464         * tests/test-floorl.c: New file.
61465
61466         * modules/floorl: New file.
61467         * lib/floorl.c: Replace entire file.
61468         * m4/floorl.m4: New file.
61469         * lib/math.in.h (floorl): Replace declaration.
61470         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
61471         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
61472         * doc/functions/floorl.texi: Mention the 'floorl' module.
61473         * modules/mathl (Files): Remove lib/floorl.c.
61474         (Depends-on): Add floorl.
61475
61476 2007-10-04  Bruno Haible  <bruno@clisp.org>
61477
61478         * modules/floorf-tests: New file.
61479         * tests/test-floorf.c: New file.
61480
61481         * modules/floorf: New file.
61482         * lib/floor.c: New file.
61483         * lib/floorf.c: New file.
61484         * m4/floorf.m4: New file.
61485         * lib/math.in.h (floorf): New declaration.
61486         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
61487         HAVE_DECL_FLOORF.
61488         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
61489         HAVE_DECL_FLOORF.
61490         * doc/functions/floorf.texi: Mention the 'floorf' module.
61491
61492 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
61493             Bruno Haible  <bruno@clisp.org>
61494
61495         Advertise for the Git server instead of the CVS server.
61496         * doc/gnulib-intro.texi (Steady Development): Mention the Git
61497         repository instead of the CVS one.
61498         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
61499         about all VCS systems generically.
61500         * doc/gnulib.texi (Introduction): Capitalize `Git'.
61501
61502 2007-10-04  Bruno Haible  <bruno@clisp.org>
61503
61504         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
61505         means.
61506         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
61507
61508 2007-10-04  Bruno Haible  <bruno@clisp.org>
61509
61510         * modules/truncl-tests: New file.
61511         * tests/test-truncl.c: New file.
61512
61513         * modules/truncl: New file.
61514         * lib/truncl.c: New file.
61515         * m4/truncl.m4: New file.
61516         * lib/math.in.h (truncl): New declaration.
61517         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
61518         HAVE_DECL_TRUNCL.
61519         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
61520         HAVE_DECL_TRUNCL.
61521         * doc/functions/truncl.texi: Mention the 'truncl' module.
61522
61523 2007-10-04  Bruno Haible  <bruno@clisp.org>
61524
61525         * modules/truncf-tests: New file.
61526         * tests/test-truncf.c: New file.
61527
61528         * modules/truncf: New file.
61529         * lib/trunc.c: Make paramerizable through USE_* macros.
61530         * lib/truncf.c: New file.
61531         * m4/truncf.m4: New file.
61532         * lib/math.in.h (truncf): New declaration.
61533         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
61534         HAVE_DECL_TRUNCF.
61535         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
61536         HAVE_DECL_TRUNCF.
61537         * doc/functions/truncf.texi: Mention the 'truncf' module.
61538
61539 2007-10-03  Bruno Haible  <bruno@clisp.org>
61540
61541         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
61542         augmentation also for tests modules.
61543         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
61544         * modules/atexit-tests (Makefile.am): Likewise.
61545         * modules/binary-io-tests (Makefile.am): Likewise.
61546         * modules/c-strcase-tests (Makefile.am): Likewise.
61547         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
61548         * modules/canonicalize-tests (Makefile.am): Likewise.
61549         * modules/closein-tests (Makefile.am): Likewise.
61550         * modules/fprintf-posix-tests (Makefile.am): Likewise.
61551         * modules/freadahead-tests (Makefile.am): Likewise.
61552         * modules/fseek-tests (Makefile.am): Likewise.
61553         * modules/fseeko-tests (Makefile.am): Likewise.
61554         * modules/ftell-tests (Makefile.am): Likewise.
61555         * modules/ftello-tests (Makefile.am): Likewise.
61556         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
61557         * modules/isnanl-tests (Makefile.am): Likewise.
61558         * modules/lseek-tests (Makefile.am): Likewise.
61559         * modules/mbscasecmp-tests (Makefile.am): Likewise.
61560         * modules/mbscasestr-tests (Makefile.am): Likewise.
61561         * modules/mbschr-tests (Makefile.am): Likewise.
61562         * modules/mbscspn-tests (Makefile.am): Likewise.
61563         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
61564         * modules/mbspbrk-tests (Makefile.am): Likewise.
61565         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
61566         * modules/mbsrchr-tests (Makefile.am): Likewise.
61567         * modules/mbsspn-tests (Makefile.am): Likewise.
61568         * modules/mbsstr-tests (Makefile.am): Likewise.
61569         * modules/printf-posix-tests (Makefile.am): Likewise.
61570         * modules/snprintf-posix-tests (Makefile.am): Likewise.
61571         * modules/sprintf-posix-tests (Makefile.am): Likewise.
61572         * modules/tsearch-tests (Makefile.am): Likewise.
61573         * modules/uniname/uniname-tests (Makefile.am): Likewise.
61574         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
61575         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
61576         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
61577         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
61578         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
61579         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
61580         * modules/vprintf-posix-tests (Makefile.am): Likewise.
61581         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
61582         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
61583         * modules/xstrtoimax-tests (Makefile.am): Likewise.
61584         * modules/xstrtol-tests (Makefile.am): Likewise.
61585         * modules/xstrtoumax-tests (Makefile.am): Likewise.
61586         * modules/yesno-tests (Makefile.am): Likewise.
61587
61588 2007-10-03  Bruno Haible  <bruno@clisp.org>
61589
61590         * modules/trunc-tests: New file.
61591         * tests/test-trunc.c: New file.
61592
61593         * modules/trunc: New file.
61594         * lib/trunc.c: New file.
61595         * m4/trunc.m4: New file.
61596         * lib/math.in.h (trunc): New declaration.
61597         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
61598         HAVE_DECL_TRUNC.
61599         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
61600         HAVE_DECL_TRUNC.
61601         * doc/functions/trunc.texi: Mention the 'trunc' module.
61602
61603 2007-10-03  Bruno Haible  <bruno@clisp.org>
61604
61605         * tests/test-fpending.c: New file, mostly copied
61606         from coreutils/lib/t-fpending.c.
61607         * modules/fpending-tests: New file.
61608
61609 2007-10-03  Bruno Haible  <bruno@clisp.org>
61610
61611         Port the stdio extensions to QNX (untested).
61612         * lib/fseterr.c (fseterr): Add support for QNX.
61613         * lib/fbufmode.c (fbufmode): Likewise.
61614         * lib/freadable.c (freadable): Likewise.
61615         * lib/fwritable.c (fwritable): Likewise.
61616         * lib/freading.c (freading): Likewise.
61617         * lib/fwriting.c (fwriting): Likewise.
61618         * lib/freadahead.c (freadahed): Likewise.
61619         * lib/fpurge.c (fpurge): Likewise.
61620         * lib/fseeko.c (rpl_fseeko): Likewise.
61621
61622 2007-10-03  Bruno Haible  <bruno@clisp.org>
61623             Jim Meyering  <jim@meyering.net>
61624             Eric Blake  <ebb9@byu.net>
61625
61626         * doc/relocatable.texi: Use @command instead of @program.
61627
61628 2007-10-02  Jim Meyering  <jim@meyering.net>
61629
61630         Perform one more "_.h" -> ".in.h" substitution.
61631         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
61632         instead of unistd_.h here, too.
61633
61634 2007-10-01  Bruno Haible  <bruno@clisp.org>
61635
61636         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
61637         Needed for the alloca-opt module.
61638
61639 2007-09-30  Bruno Haible  <bruno@clisp.org>
61640
61641         * lib/alloca.in.h: Renamed from lib/alloca_.h.
61642         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
61643         alloca_.h.
61644         * lib/argz.in.h: Renamed from lib/argz_.h.
61645         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
61646         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
61647         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
61648         byteswap_.h.
61649         * lib/dirent.in.h: Renamed from lib/dirent_.h.
61650         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
61651         dirent_.h.
61652         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
61653         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
61654         fcntl_.h.
61655         * lib/float.in.h: Renamed from lib/float_.h.
61656         * modules/float (Files, Makefile.am): Use float.in.h instead of
61657         float_.h.
61658         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
61659         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
61660         fnmatch_.h.
61661         * lib/getopt.in.h: Renamed from lib/getopt_.h.
61662         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
61663         getopt_.h.
61664         * lib/glob.in.h: Renamed from lib/glob_.h.
61665         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
61666         * lib/iconv.in.h: Renamed from lib/iconv_.h.
61667         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
61668         iconv_.h.
61669         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
61670         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
61671         inttypes_.h.
61672         * lib/locale.in.h: Renamed from lib/locale_.h.
61673         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
61674         locale_.h.
61675         * lib/math.in.h: Renamed from lib/math_.h.
61676         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
61677         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
61678         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
61679         of netinet_in_.h. Add dependency.
61680         * lib/poll.in.h: Renamed from lib/poll_.h.
61681         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
61682         * lib/search.in.h: Renamed from lib/search_.h.
61683         * modules/search (Files, Makefile.am): Use search.in.h instead of
61684         search_.h.
61685         * lib/signal.in.h: Renamed from lib/signal_.h.
61686         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
61687         _signal.h.
61688         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
61689         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
61690         stdbool_.h.
61691         * lib/stdint.in.h: Renamed from lib/stdint_.h.
61692         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
61693         stdint_.h.
61694         * lib/stdio.in.h: Renamed from lib/stdio_.h.
61695         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
61696         stdio_.h.
61697         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
61698         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
61699         stdlib_.h.
61700         * lib/string.in.h: Renamed from lib/string_.h.
61701         * modules/string (Files, Makefile.am): Use string.in.h instead of
61702         string_.h.
61703         * doc/gnulib-tool.texi (Initial import): Update.
61704         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
61705         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
61706         of sys_select_.h. Add dependency.
61707         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
61708         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
61709         of sys_socket_.h.
61710         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
61711         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
61712         sys_stat_.h.
61713         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
61714         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
61715         sys_time_.h.
61716         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
61717         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
61718         sysexits_.h.
61719         * lib/time.in.h: Renamed from lib/time_.h.
61720         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
61721         * lib/unistd.in.h: Renamed from lib/unistd_.h.
61722         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
61723         unistd_.h.
61724         * lib/wchar.in.h: Renamed from lib/wchar_.h.
61725         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
61726         wchar_.h.
61727         * lib/wctype.in.h: Renamed from lib/wctype_.h.
61728         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
61729         wctype_.h.
61730         * build-aux/bootstrap (slurp): Update.
61731         * lib/.cppi-disable: Update.
61732
61733 2007-09-30  Bruno Haible  <bruno@clisp.org>
61734
61735         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
61736         Needed on BeOS.
61737
61738 2007-09-30  Bruno Haible  <bruno@clisp.org>
61739
61740         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
61741
61742 2007-09-29  Bruno Haible  <bruno@clisp.org>
61743
61744         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
61745
61746 2007-09-29  Bruno Haible  <bruno@clisp.org>
61747
61748         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
61749         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
61750         * build-aux/install-reloc: Compile also areadlink.c.
61751         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
61752
61753 2007-09-29  Bruno Haible  <bruno@clisp.org>
61754
61755         * gnulib-tool (func_emit_initmacro_done): Indentation.
61756
61757 2007-09-29  Bruno Haible  <bruno@clisp.org>
61758
61759         * README: Add CVS checkout update instructions.
61760         Info from Bob Proulx <bob@proulx.com>.
61761
61762 2007-09-28  Eric Blake  <ebb9@byu.net>
61763
61764         Provide move-if-change.
61765         * build-aux/move-if-change: New file, based on best practice
61766         rather than any canonical upstream location.
61767
61768 2007-09-28  Jim Meyering  <jim@meyering.net>
61769
61770         Fix canonicalize loop-detection corner case.
61771         Do not attempt to stat the symlink values stored via seen_triple.
61772         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
61773         on linux-2.6.18, (but not 2.6.22).
61774         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
61775         triple_compare.  The former compares dev,ino,filename, while the latter
61776         would actually stat dirname(filename) when dev and ino were equal.
61777         * lib/hash-triple.c: Install <string.h>.
61778         (STREQ): Define.
61779         (triple_compare_ino_str): New function.
61780         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
61781
61782 2007-09-28  Eric Blake  <ebb9@byu.net>
61783
61784         Enforce that AC_REPLACE_FUNCS files exist.
61785         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
61786         override check for typos.
61787
61788         Fix test-closein on Solaris 10.
61789         * tests/test-closein.c (main): Don't assume stdin can be inherited
61790         closed on all systems.
61791         * tests/test-closein.sh: Likewise.
61792         Reported by Piotr Tarnowski.
61793
61794 2007-09-28  Jim Meyering  <jim@meyering.net>
61795
61796         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
61797
61798 2007-09-27  Jim Meyering  <jim@meyering.net>
61799
61800         canonicalize: Avoid a false-positive cycle failure.
61801         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
61802         Sort.  Remove cycle-check.
61803         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
61804         not cycle-check.h.
61805         (seen_triple): New function.
61806         (canonicalize_filename_mode): Use it instead of cycle-check.
61807         * tests/test-canonicalize.c: Add a test for this bug.
61808         * tests/test-canonicalize.sh: Set up and run the test.
61809
61810         New module, file-set, from coreutils.
61811         * modules/file-set: Define it.
61812         * lib/file-set.c, lib/file-set.h: Implement.
61813
61814         New module, hash-triple, from coreutils.
61815         * modules/hash-triple: Define it.
61816         * lib/hash-triple.c, lib/hash-triple.h: Implement.
61817
61818 2007-09-25  Eric Blake  <ebb9@byu.net>
61819
61820         Fix strerror on Interix.
61821         * lib/string_.h (strerror): Declare replacement.
61822         * doc/functions/strerror.texi (strerror): Document the Interix
61823         shortcoming.
61824         * modules/string (Makefile.am): Support new hooks.
61825         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
61826         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
61827         gl_FUNC_STRERROR_SEPARATE.
61828         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
61829         * lib/strerror.c (rpl_strerror): Provide replacement.
61830         * modules/strerror (Depends-on): Add string.
61831         (configure.ac): Detect use of module.
61832         * tests/test-strerror.c: New file.
61833         * modules/strerror-tests: New test module.
61834         * modules/argp (Depends-on): Add strerror.
61835         * modules/error (Depends-on): Likewise.
61836         Reported by Martin Koeppe.
61837
61838 2007-09-24  Bruno Haible  <bruno@clisp.org>
61839
61840         * README: Update git instructions.
61841
61842 2007-09-24  Eric Blake  <ebb9@byu.net>
61843
61844         Revert fpending breakage from 2007-09-08.
61845         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
61846         __fpending.c.
61847
61848 2007-09-24  Jim Meyering  <jim@meyering.net>
61849
61850         filenamecat.c: Add a test.
61851         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
61852         showing how the function works when DIR is the empty string.
61853
61854 2007-09-21  Simon Josefsson  <simon@josefsson.org>
61855
61856         * tests/test-canonicalize.sh: Turn on executable bit.
61857
61858 2007-09-19  Eric Blake  <ebb9@byu.net>
61859
61860         * README: Update CVS instructions.
61861
61862 2007-09-18  Bruno Haible  <bruno@clisp.org>
61863
61864         * modules/areadlink: New file.
61865         * lib/areadlink.h (areadlink): New declaration.
61866         * lib/areadlink.c: New file, based on lib/xreadlink.c.
61867
61868 2007-09-17  Jim Meyering  <jim@meyering.net>
61869
61870         * lib/savewd.c (ESTALE) [!defined]: Define.
61871         Reported to be required on Interix by Martin Koeppe.
61872
61873 2007-09-17  Bruno Haible  <bruno@clisp.org>
61874
61875         * gnulib-tool (func_version): Use $version.
61876
61877 2007-09-16  Bruno Haible  <bruno@clisp.org>
61878
61879         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
61880         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
61881         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
61882         Reported by Greg Schafer <gschafer@zip.com.au>.
61883
61884 2007-09-15  Bruno Haible  <bruno@clisp.org>
61885
61886         * gnulib-tool (sed): Try a little harder to make bash understand the
61887         alias.
61888         Reported by Bruce Korb <bruce.korb@gmail.com>.
61889
61890 2007-09-13  Eric Blake  <ebb9@byu.net>
61891
61892         * ChangeLog: Remove conflict markers.
61893
61894 2007-09-13  Simon Josefsson  <simon@josefsson.org>
61895
61896         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
61897         Reported by Bruno Haible <bruno@clisp.org>.
61898
61899 2007-09-12  Bruno Haible  <bruno@clisp.org>
61900
61901         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
61902         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
61903         is not defined.
61904
61905 2007-09-12  Eric Blake  <ebb9@byu.net>
61906
61907         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
61908         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
61909         Autoconf definition.
61910         * modules/euidaccess (Depends-on): Add extensions, for
61911         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
61912         * modules/fnmatch (Depends-on): Likewise.
61913         * modules/getaddrinfo (Depends-on): Likewise.
61914         * modules/getdelim (Depends-on): Likewise.
61915         * modules/getline (Depends-on): Likewise.
61916         * modules/getsubopt (Depends-on): Likewise.
61917         * modules/gettext (Depends-on): Likewise.
61918         * modules/group-member (Depends-on): Likewise.
61919         * modules/mbchar (Depends-on): Likewise.
61920         * modules/memmem (Depends-on): Likewise.
61921         * modules/mempcpy (Depends-on): Likewise.
61922         * modules/memrchr (Depends-on): Likewise.
61923         * modules/pagealign_alloc (Depends-on): Likewise.
61924         * modules/readutmp (Depends-on): Likewise.
61925         * modules/stpcpy (Depends-on): Likewise.
61926         * modules/stpncpy (Depends-on): Likewise.
61927         * modules/strchrnul (Depends-on): Likewise.
61928         * modules/strndup (Depends-on): Likewise.
61929         * modules/strsep (Depends-on): Likewise.
61930         * modules/strverscmp (Depends-on): Likewise.
61931         * modules/vasprintf (Depends-on): Likewise.
61932         * modules/wcwidth (Depends-on): Likewise.
61933         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
61934         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
61935         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
61936         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
61937         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
61938         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
61939         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
61940         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
61941         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
61942         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
61943         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
61944         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
61945         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
61946         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
61947         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
61948         * m4/readutmp.m4 (gl_READUTMP): Likewise.
61949         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
61950         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
61951         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
61952         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
61953         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
61954         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
61955         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
61956         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
61957         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
61958         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
61959         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
61960         so that lock.m4 can be used in gettext without extensions module.
61961
61962 2007-09-11  Bruno Haible  <bruno@clisp.org>
61963
61964         * m4/isc-posix.m4: Remove file.
61965         Suggested by Eric Blake.
61966
61967 2007-09-11  Eric Blake  <ebb9@byu.net>
61968
61969         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
61970
61971 2007-09-10  Bruno Haible  <bruno@clisp.org>
61972
61973         * posix-modules: Fix typo in error message.
61974         Reported by Matt <mkraai@beckman.com>.
61975
61976 2007-09-09  Bruno Haible  <bruno@clisp.org>
61977
61978         * doc/functions/getdelim.texi: Update list of platforms lacking the
61979         function.
61980         * doc/functions/getline.texi: Likewise.
61981
61982 2007-09-09  Jim Meyering  <jim@meyering.net>
61983
61984         * lib/hash.c (hash_initialize): Detect calloc failure.
61985         Reported by Bruno Haible.
61986
61987 2007-09-09  Bruno Haible  <bruno@clisp.org>
61988
61989         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
61990         malloc or realloc fails.
61991
61992 2007-09-09  Bruno Haible  <bruno@clisp.org>
61993
61994         * modules/getcwd (Depends-on): Add malloc-posix.
61995         * modules/glob (Depends-on): Likewise.
61996         * modules/putenv (Depends-on): Likewise.
61997         * modules/strdup (Depends-on): Likewise.
61998         * modules/getdelim (Depends-on): Add realloc-posix.
61999         * modules/read-file (Depends-on): Likewise.
62000
62001 2007-09-09  Bruno Haible  <bruno@clisp.org>
62002
62003         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
62004         (gl_FUNC_MALLOC_POSIX): Require it.
62005         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
62006         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
62007         * modules/realloc (Files): Add m4/malloc.m4.
62008         * modules/calloc (Files): Likewise.
62009
62010 2007-09-09  Bruno Haible  <bruno@clisp.org>
62011
62012         * modules/malloc-posix: New file.
62013         * modules/malloc (Depends-on): Add malloc-posix.
62014         * lib/malloc.c: Include errno.h.
62015         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
62016         and a POSIX-compatible malloc into a single function. Set ENOMEM
62017         when returning NULL.
62018         * m4/malloc.m4: New file.
62019         * doc/functions/malloc.texi: Mention the malloc-posix module.
62020         * lib/stdlib_.h (malloc): New declaration.
62021         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62022         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
62023         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
62024         and HAVE_MALLOC_POSIX.
62025
62026 2007-09-09  Bruno Haible  <bruno@clisp.org>
62027
62028         * modules/realloc-posix: New file.
62029         * modules/realloc (Depends-on): Add realloc-posix.
62030         * lib/realloc.c: Include errno.h.
62031         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
62032         and a POSIX-compatible realloc into a single function. Set ENOMEM
62033         when returning NULL.
62034         * m4/realloc.m4: New file.
62035         * doc/functions/realloc.texi: Mention the realloc-posix module.
62036         * lib/stdlib_.h (realloc): New declaration.
62037         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62038         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
62039         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
62040         and HAVE_REALLOC_POSIX.
62041
62042 2007-09-09  Bruno Haible  <bruno@clisp.org>
62043
62044         * modules/calloc-posix: New file.
62045         * modules/calloc (Depends-on): Add calloc-posix.
62046         * lib/calloc.c: Include errno.h.
62047         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
62048         and a POSIX-compatible calloc into a single function. Set ENOMEM
62049         when returning NULL.
62050         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
62051         * doc/functions/calloc.texi: Mention the calloc-posix module.
62052         * lib/stdlib_.h (calloc): New declaration.
62053         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62054         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
62055         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
62056         and HAVE_CALLOC_POSIX.
62057
62058 2007-09-09  Bruno Haible  <bruno@clisp.org>
62059
62060         Allow for modules to show an arbitrary notice.
62061         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
62062         * gnulib-tool: New option --extract-notice.
62063         (func_usage): Document it.
62064         (sed_extract_prog): Update.
62065         (func_get_notice): New function.
62066         (func_modules_notice): New function.
62067         (func_import, func_create_testdir): Invoke it.
62068         Suggested by Jim Meyering.
62069
62070 2007-09-09  Bruno Haible  <bruno@clisp.org>
62071
62072         * gnulib-tool: New options --verbose, --quiet.
62073         (func_usage): Document them.
62074         (verbose): New variable.
62075         (func_execute_command): New function.
62076         (func_import): Don't show the module list and the file list if
62077         $verbose < 0.
62078         (func_create_testdir): Likewise. Use func_execute_command.
62079         (func_create_megatestdir): Use func_execute_command.
62080
62081 2007-09-08  Bruno Haible  <bruno@clisp.org>
62082
62083         * gnulib-tool (func_import): Prefer rsync over wget when available,
62084         for fetching the PO files.
62085
62086 2007-09-08  Bruno Haible  <bruno@clisp.org>
62087
62088         * posix-modules: New file. Portions copied from gnulib-tool.
62089         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
62090
62091 2007-09-08  Jim Meyering  <jim@meyering.net>
62092
62093         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
62094         * lib/fpending.h: Rename from __fpending.h.
62095         * lib/fpending.c: Rename from __fpending.c.
62096         Include "fpending.h", not "__fpending.h".
62097         * lib/__fpending.h, lib/__fpending.c: Remove files.
62098         * modules/fpending (Files): Reflect new file names.
62099         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
62100
62101 2007-09-08  Bruno Haible  <bruno@clisp.org>
62102
62103         * m4/inttypes-h.m4: Remove stub file.
62104
62105 2007-09-07  Simon Josefsson  <simon@josefsson.org>
62106
62107         * doc/headers/stdint.texi: Discuss #include_next issue.
62108
62109 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
62110
62111         * build-aux/bootstrap: Remove obsolete comment about wget --help.
62112
62113 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62114
62115         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
62116         in variable name.
62117
62118 2007-09-03  Jim Meyering  <jim@meyering.net>
62119
62120         New module: git-version-gen.
62121         * modules/git-version-gen: New file.
62122
62123         Import changes from coreutils for bootstrap script.
62124
62125         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
62126
62127         bootstrap: uses rsync to download the .po files
62128         * build-aux/bootstrap (po_download_command_format): New global.
62129         (download_po_files): Use rsync.
62130         (update_po_files): Don't remove .po files after download,
62131         so future rsync runs can take advantage of the copies.
62132
62133         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
62134
62135         Solve the unnecessary-.po-file-regeneration problem once and for all.
62136         * build-aux/bootstrap (download_po_files): New function, renamed from
62137         get_translations.  Now, downloads, but doesn't update LINGUAS.
62138         (update_po_files): New function.
62139
62140         bootstrap: Ignore more.
62141         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
62142         uniwidth to e.g., lib/.gitignore.
62143         (slurp): Handle the sys_stat_.h -> sys mapping, too.
62144
62145         * build-aux/bootstrap: New setting: vc_ignore.
62146         (insert_sorted_if_absent): Create $file if absent.
62147         Adapt to new, possibly empty, list: $vc_ignore.
62148
62149         bootstrap: generate more ignorable names
62150         * build-aux/bootstrap (slurp): When generating ignorable names,
62151         also map .sin to .sed, .gperf to .c, and .y to .c.
62152
62153 2007-09-03  Jim Meyering  <jim@meyering.net>
62154
62155         * build-aux/git-version-gen: New file, from coreutils.  For details, see
62156         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
62157
62158 2007-09-02  Bruno Haible  <bruno@clisp.org>
62159
62160         Fix mis-recognition of 'mcs' on QNX 6.
62161         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
62162         output contains the string "Mono".
62163         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
62164         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
62165
62166 2007-09-01  Bruno Haible  <bruno@clisp.org>
62167
62168         Fix collision between uniwidth/* and linebreak modules.
62169         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
62170         u32_width): Remove declarations.
62171         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
62172         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
62173         streq3, streq2, streq1, streq0): Remove functions.
62174         (STREQ): Remove macro.
62175         (is_cjk_encoding): Remove function.
62176         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
62177         (uc_width, u8_width, u16_width, u32_width): Remove functions.
62178         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
62179         * NEWS: Document the change.
62180
62181 2007-09-01  Bruno Haible  <bruno@clisp.org>
62182
62183         * lib/streq.h: Add double-inclusion guard.
62184
62185 2007-09-01  Karl Berry  <karl@gnu.org>
62186
62187         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
62188
62189 2007-08-28  Jim Meyering  <jim@meyering.net>
62190
62191         Rename mreadlink_with_size to areadlink_with_size.
62192         * NEWS: Document the change.
62193         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
62194         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
62195         * lib/mreadlink.h: Rename this to...
62196         * lib/areadlink.h: ...this.
62197         * modules/mreadlink-with-size: Rename this to...
62198         * modules/areadlink-with-size: ...this.
62199         * lib/canonicalize.c: Reflect the renaming.
62200         * modules/canonicalize: Likewise.
62201
62202 2007-08-26  Bruno Haible  <bruno@clisp.org>
62203
62204         * gnulib-tool (func_import): When deciding which files to remove,
62205         consider also dangling symbolic links.
62206         Reported by Eric Blake.
62207
62208 2007-08-26  Bruno Haible  <bruno@clisp.org>
62209
62210         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
62211
62212 2007-08-23  Simon Josefsson  <simon@josefsson.org>
62213
62214         * lib/readline.c: Don't include getline.h, the prototype is now
62215         found in stdio.h.
62216
62217 2007-08-23  Jim Meyering  <jim@meyering.net>
62218
62219         Getdelim touchup.
62220         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
62221         around the funlockfile call, since funlockfile never sets errno.
62222         Don't set errno upon failed realloc.
62223
62224 2007-08-22  Eric Blake  <ebb9@byu.net>
62225
62226         Getline touchups.
62227         * lib/getdelim.c (getdelim): Revert regression that required *n to
62228         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
62229         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
62230         getdelim, rather than whether implementation is missing.
62231         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
62232         * lib/stdio_.h (getline): Also declare if replacement is
62233         required.
62234         * doc/functions/getdelim.texi: New file.
62235         * doc/functions/getline.texi: Likewise.
62236         * doc/gnulib.texi (Function Substitutes): Add new files.
62237         Reported by Bruno Haible.
62238
62239 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
62240
62241         * users.txt: Add Guile.
62242
62243 2007-08-22  Eric Blake  <ebb9@byu.net>
62244
62245         * tests/test-getdelim.c (main): Use remove, not unlink.
62246         * tests/test-getline.c (main): Likewise.
62247
62248         Move getline and getdelim into stdio.h, per POSIX 200x.
62249         * modules/getline (Files): Remove getline.h.
62250         (Depends-on): Add stdio.
62251         (configure.ac): Add module indicator.
62252         * modules/getdelim (Files): Remove getdelim.h.
62253         (Depends-on): Add stdio.
62254         (configure.ac): Add module indicator.
62255         * modules/stdio (Makefile.am): Work with new indicators.
62256         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
62257         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
62258         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
62259         * lib/getdelim.h: Delete.
62260         * lib/getline.h: Delete.
62261         * lib/stdio_.h (getdelim, getline): Declare.
62262         * modules/getdelim-tests: New module.
62263         * modules/getline-tests: Likewise.
62264         * tests/test-getdelim.c: New file.
62265         * tests/test-getline.c: Likewise.
62266         * NEWS: Document the change.
62267         * lib/getline.c: Update choice of header.
62268         * lib/csharpcomp.c: Likewise.
62269         * lib/getpass.c: Likewise.
62270         * lib/javacomp.c: Likewise.
62271         * lib/javaversion.c: Likewise.
62272         * lib/yesno.c: Likewise.
62273         * lib/getdelim.c: Likewise.
62274         (getdelim): Set errno on failure, and avoid memory leak.
62275
62276 2007-08-19  Bruno Haible  <bruno@clisp.org>
62277
62278         * modules/closein (Depends-on): Add freadahead.
62279         * lib/closein.c: Include freadahead.h.
62280         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
62281         is zero.
62282
62283 2007-08-19  Bruno Haible  <bruno@clisp.org>
62284
62285         * modules/freadahead-tests: New file.
62286         * tests/test-freadahead.sh: New file.
62287         * tests/test-freadahead.c: New file.
62288
62289         * modules/freadahead: New file.
62290         * lib/freadahead.h: New file.
62291         * lib/freadahead.c: New file.
62292         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
62293         fbufmode, fpurge, freadable, fwritable.
62294
62295 2007-08-19  Eric Blake  <ebb9@byu.net>
62296
62297         Test yesno in combination with closein.
62298         * lib/yesno.c (yesno): Document use of stdin.
62299         * modules/yesno-tests (Files): New module.
62300         * tests/test-yesno.c (main): New file.
62301         * tests/test-yesno.sh: Likewise.
62302
62303 2007-08-19  Bruno Haible  <bruno@clisp.org>
62304
62305         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
62306         * lib/fseeko.c (rpl_fseeko): Likewise.
62307         * lib/fseterr.c (fseterr): Likewise.
62308
62309 2007-08-19  Bruno Haible  <bruno@clisp.org>
62310
62311         * tests/test-lseek.c (main): Disable a test for BeOS.
62312         * doc/functions/lseek.texi: Document the BeOS bug.
62313
62314 2007-08-19  Bruno Haible  <bruno@clisp.org>
62315             Eric Blake  <ebb9@byu.net>
62316
62317         * lib/lseek.c: Include <sys/stat.h>.
62318         (rpl_lseek): Add workaround code also for Unix platforms.
62319         Needed for BeOS.
62320         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
62321         * doc/functions/lseek.texi: Document BeOS definiency.
62322
62323 2007-08-18  Bruno Haible  <bruno@clisp.org>
62324
62325         * modules/fstrcmp-tests: New file.
62326         * tests/test-fstrcmp.c: New file.
62327
62328 2007-08-18  Bruno Haible  <bruno@clisp.org>
62329
62330         * modules/fstrcmp: New file, from GNU gettext with modifications.
62331         * lib/fstrcmp.h: New file, from GNU gettext.
62332         * lib/fstrcmp.c: New file, from GNU gettext.
62333         * MODULES.html.sh (String handling): Add fstrcmp.
62334
62335 2007-08-18  Bruno Haible  <bruno@clisp.org>
62336
62337         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
62338         'bool'.
62339         (diag, compareseq): Remove const from the ctxt argument.
62340         (USE_HEURISTIC): Undefine at the end.
62341
62342 2007-08-18  Jim Meyering  <jim@meyering.net>
62343
62344         New file: lib/idcache.h
62345         * NEWS: Mention the addition.
62346         * modules/idcache (Files): Add lib/idcache.h
62347         * lib/idcache.c: Include "idcache.h".
62348         Don't include <sys/types.h>.
62349         Add a FIXME comment.
62350         Move file-scoped "static" declarations to the top.
62351         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
62352
62353 2007-08-17  Bruno Haible  <bruno@clisp.org>
62354         and Paul Eggert  <eggert@cs.ucla.edu>
62355
62356         * MODULES.html.sh: Add diffseq.
62357         * modules/diffseq: New file.
62358         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
62359         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
62360
62361 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
62362
62363         Import changes from coreutils for bootstrap script.
62364
62365         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
62366
62367         * build-aux/bootstrap (slurp): Work even in environments where
62368         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
62369         current code does not slurp files whose names start with ".", and
62370         this looks like it might be a troublesome area.
62371
62372         2007-07-11  Jim Meyering  <jim@meyering.net>
62373
62374         If there's a GPL vN copyright comment, require that N == 3.
62375
62376         2007-07-08  Jim Meyering  <jim@meyering.net>
62377
62378         Run the coreutils-specific code only if tests/Makefile.am.in exists.
62379         * build-aux/bootstrap (mam_template): Move definition out of loop.
62380
62381         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
62382
62383         * build-aux/bootstrap (symlink_to_dir): Rename function from
62384         symlink_to_gnulib.  Add a directory parameter.  Update all
62385         callers.
62386         (cp_mark_as_generated): Also check for -- and link to -- files in
62387         gl/.
62388
62389         2007-07-08  Jim Meyering  <jim@meyering.net>
62390
62391         Adapt to deeper hierarchy in gnulib.
62392         * build-aux/bootstrap (symlink_to_dir): If the destination
62393         directory doesn't exist, create it. This is required at least for
62394         "lib/uniwidth/cjk.h".
62395
62396         2007-05-15  Jim Meyering  <jim@meyering.net>
62397
62398         * build-aux/bootstrap: Now that generated Makefile.am files
62399         are no longer under version control, they must be created at
62400         bootstrap time.
62401
62402 2007-08-14  Ben Pfaff  <blp@gnu.org>
62403
62404         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
62405
62406 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
62407
62408         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
62409         given the changes below.
62410         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
62411         even on hosts that have padding bits beyond the supported 64.
62412
62413 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
62414
62415         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
62416         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
62417         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
62418         depends on it.
62419         (xstrtol_error): Remove.
62420         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
62421         but with a different signature.
62422         (ATTRIBUTE_NORETURN, __attribute__): New macros.
62423         * lib/xstrtol-error.c: Include exitfail.h.
62424         (xstrtol_fatal): New function, with a different signature from the
62425         old xstrtol_error, so that the caller need not worry about passing
62426         in an exit status, or about storage management of the option argument.
62427         (xstrtol_error): Now a static function.  Redo signature to
62428         implement xstrtol_fatal.  Output the correct number of hyphens in
62429         front of the option so that the caller need not worry about
62430         storage management.
62431         (N_): New macro.
62432         (_): Remove; not used now.
62433         * modules/xstrtol: Depend on getopt.
62434         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
62435         of old STRTOL_FATAL_ERROR macro.
62436         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
62437         of test program.
62438         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
62439         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
62440
62441 2007-08-08  Eric Blake  <ebb9@byu.net>
62442
62443         * lib/xstrtol-error.c: Add missing include.
62444
62445         Move xstrtol messages into gnulib domain, when --pobase is used.
62446         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
62447         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
62448         * modules/xstrtol (Files): Distribute new file.
62449         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
62450         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
62451         * tests/test-xstrtol.c: ...into new file.
62452         * tests/test-xstrtoul.c: Also test xstrtoul.
62453         * tests/test-xstrtoimax.c: Also test xstrtoimax.
62454         * tests/test-xstrtoumax.c: Also test xstrtoumax.
62455         * tests/test-xstrtol.sh: Drive the tests.
62456         * tests/test-xstrtoimax.sh: Likewise.
62457         * tests/test-xstrtoumax.sh: Likewise.
62458         * modules/xstrtol-tests: New module.
62459         * modules/xstrtoimax-tests: Likewise.
62460         * modules/xstrtoumax-tests: Likewise.
62461
62462 2007-08-08  Jim Meyering  <jim@meyering.net>
62463
62464         New function: mfile_name_concat.
62465         * lib/filenamecat.c (mfile_name_concat): New function, just like
62466         file_name_concat, but return NULL upon failure rather than exiting
62467         with a diagnostic.
62468         * lib/filenamecat.h: Declare it.
62469
62470 2007-08-07  Bruno Haible  <bruno@clisp.org>
62471
62472         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
62473         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
62474         warning from gcc.
62475         Reported by Eric Blake.
62476
62477 2007-08-07  Simon Josefsson  <simon@josefsson.org>
62478
62479         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
62480         * modules/crypto/arcfour (License): Likewise.
62481         * modules/crypto/des-tests (License): Likewise.
62482         * modules/crypto/gc-arctwo-tests (License): Likewise.
62483         * modules/crypto/gc-des-tests (License): Likewise.
62484         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
62485         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
62486         * modules/crypto/gc-md2-tests (License): Likewise.
62487         * modules/crypto/gc-md4-tests (License): Likewise.
62488         * modules/crypto/gc-md5-tests (License): Likewise.
62489         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
62490         * modules/crypto/gc-rijndael-tests (License): Likewise.
62491         * modules/crypto/gc-sha1-tests (License): Likewise.
62492         * modules/crypto/gc-tests (License): Likewise.
62493         * modules/crypto/hmac-md5 (License): Likewise.
62494         * modules/crypto/hmac-sha1 (License): Likewise.
62495         * modules/crypto/md2-tests (License): Likewise.
62496         * modules/crypto/md4-tests (License): Likewise.
62497         * modules/crypto/md5 (License): Likewise.
62498         * modules/crypto/rijndael (License): Likewise.
62499         * modules/crypto/sha1 (License): Likewise.
62500         * modules/memxor (License): Likewise.
62501
62502 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
62503         and Bruno Haible  <bruno@clisp.org>
62504
62505         * NEWS: Describe interface changes to human, xstrtol.
62506         * lib/human.h: Include <xstrtol.h>.
62507         (human_options): Return enum strtol_error, not int.  Remove
62508         bool arg; take int * instead.
62509         * lib/human.c: Don't include "gettext.h".
62510         (_): Remove; no longer used.
62511         Don't include <xstrtol.h>, since human.h does it.
62512         (human_options): Adjust to abovementioned interface changes.
62513         Do not report error to stderr; that's now the caller's
62514         responsibility.
62515         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
62516         interface change.
62517         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
62518         Str, Argument_type_string.  All uses changed.  Put " argument"
62519         in diagnostics to make them clearer.  Change wording of suffix
62520         message for clarity.
62521         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
62522         Argument_type_string.
62523         (STRTOL_FATAL_WARN): Remove; no longer used.
62524         * modules/human (Depends-on): Remove gettext-h.
62525
62526 2007-08-06  Simon Josefsson  <simon@josefsson.org>
62527
62528         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
62529
62530 2007-07-31  Bruno Haible  <bruno@clisp.org>
62531
62532         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
62533         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
62534         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
62535
62536 2007-07-31  Bruno Haible  <bruno@clisp.org>
62537
62538         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
62539         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
62540
62541 2007-07-30  Bruno Haible  <bruno@clisp.org>
62542
62543         * modules/base64 (License): Use the synonymous term "LGPLv2+".
62544         * modules/c-ctype (License): Likewise.
62545         * modules/c-strcase (License): Likewise.
62546         * modules/check-version (License): Likewise.
62547         * modules/iconv (License): Likewise.
62548         * modules/iconv_open (License): Likewise.
62549         * modules/read-file (License): Likewise.
62550         * modules/striconv (License): Likewise.
62551         * modules/strverscmp (License): Likewise.
62552         * modules/vasprintf (License): Likewise.
62553         * modules/crypto/des (License): Likewise.
62554         * modules/crypto/gc (License): Likewise.
62555         * modules/crypto/gc-arcfour (License): Likewise.
62556         * modules/crypto/gc-arctwo (License): Likewise.
62557         * modules/crypto/gc-des (License): Likewise.
62558         * modules/crypto/gc-hmac-md5 (License): Likewise.
62559         * modules/crypto/gc-hmac-sha1 (License): Likewise.
62560         * modules/crypto/gc-md2 (License): Likewise.
62561         * modules/crypto/gc-md4 (License): Likewise.
62562         * modules/crypto/gc-md5 (License): Likewise.
62563         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
62564         * modules/crypto/gc-random (License): Likewise.
62565         * modules/crypto/gc-rijndael (License): Likewise.
62566         * modules/crypto/gc-sha1 (License): Likewise.
62567         * modules/crypto/md2 (License): Likewise.
62568         * modules/crypto/md4 (License): Likewise.
62569
62570 2007-07-30  Jim Meyering  <jim@meyering.net>
62571
62572         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
62573         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
62574         it has valid stat data.  This bug would cause du not to count the
62575         sizes of inaccessible directories.
62576         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
62577         in <http://bugzilla.redhat.com/250077>.
62578
62579 2007-07-25  Peter O'Gorman  <peter@pogma.com>
62580             Bruno Haible  <bruno@clisp.org>
62581
62582         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
62583         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
62584         #include_next, gives a diagnostic about it, but reports no error in
62585         the exit code.
62586         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
62587
62588 2007-07-24  Ben Pfaff  <blp@gnu.org>
62589
62590         Improve name: "count-one-bits" is better than "popcount".
62591         * MODULES.html.sh: Update name.
62592         * lib/popcount.h: Renamed lib/count-one-bits.h.
62593         (popcount): Renamed count_one_bits.
62594         (popcountl): Renamed count_one_bits_l.
62595         (popcountll): Renamed count_one_bits_ll.
62596         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
62597         * modules/popcount: Renamed module/count-one-bits.
62598         * modules/popcount-tests: Renamed module/count-one-bits-tests.
62599         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
62600
62601 2007-07-23  Ben Pfaff  <blp@gnu.org>
62602
62603         * lib/popcount.h (popcount32): Reduce size of constants, to allow
62604         better code generation, and add U to large constants to avoid
62605         warnings, in non-GCC case.
62606         Suggested by Bruno Haible.
62607
62608 2007-07-23  Ben Pfaff  <blp@gnu.org>
62609
62610         * lib/popcount.h: Use verify_true instead of if...abort.
62611         * modules/popcount: Depend on verify module.
62612         Suggested by Jim Meyering.
62613
62614 2007-07-23  Bruno Haible  <bruno@clisp.org>
62615
62616         * gnulib-tool (func_import): Create a .cvsignore file also when the
62617         directory is not yet in CVS but the toplevel directory is. When
62618         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
62619         Reported by Karl Berry.
62620
62621 2007-07-22  Ben Pfaff  <blp@gnu.org>
62622
62623         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
62624         case.
62625         Suggested by Eric Blake.
62626
62627 2007-07-22  Ben Pfaff  <blp@gnu.org>
62628
62629         New module: popcount.
62630         * MODULES.html.sh: Add popcount.
62631         * modules/popcount: New file.
62632         * modules/popcount-tests: New file.
62633         * tests/test-popcount.c: New file.
62634         * lib/popcount.h: New file.
62635         * m4/popcount.m4: New file.
62636
62637 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
62638
62639         * build-aux/announce-gen: Update to GPLv3.
62640
62641         * build-aux/config.guess: Update from config.
62642
62643 2007-07-21  Bruno Haible  <bruno@clisp.org>
62644
62645         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
62646         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
62647
62648 2007-07-20  Jim Meyering  <jim@meyering.net>
62649
62650         * check-module: Diagnose a self-dependency.
62651
62652 2007-07-19  Bruno Haible  <bruno@clisp.org>
62653
62654         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
62655         empty.
62656         Reported by Eric Blake.
62657
62658 2007-07-18  Bruno Haible  <bruno@clisp.org>
62659
62660         * gnulib-tool: New options --po-base, --po-domain.
62661         (func_usage): Document them.
62662         (pobase, po_domain): New variables.
62663         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
62664         DEFAULT_TEXT_DOMAIN.
62665         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
62666         (func_import): Consider pobase and po_domain. Create a po/ directory.
62667         (func_create_testdir): Set pobase and po_domain to empty.
62668         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
62669         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
62670
62671 2007-07-18  Bruno Haible  <bruno@clisp.org>
62672
62673         * gnulib-tool (func_get_automake_snippet): Synthesize also an
62674         EXTRA_DIST augmentation for files in build-aux/.
62675
62676 2007-07-16  Bruno Haible  <bruno@clisp.org>
62677
62678         * modules/lseek (License): Use the synonymous term "LGPLv2+".
62679         * modules/getdelim (License): Likewise.
62680
62681 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62682
62683         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
62684         * modules/d-type (License): Likewise.
62685         * modules/extensions (License): Likewise.
62686         * modules/fnmatch (License): Likewise.
62687         * modules/fseeko (License): Likewise.
62688         * modules/getaddrinfo (License): Likewise.
62689         * modules/getline (License): Likewise.
62690         * modules/getlogin_r (License): Likewise.
62691         * modules/getpass (License): Likewise.
62692         * modules/gettimeofday (License): Likewise.
62693         * modules/glob (License): Likewise.
62694         * modules/inet_ntop (License): Likewise.
62695         * modules/malloc (License): Likewise.
62696         * modules/malloca (License): Likewise.
62697         * modules/memmem (License): Likewise.
62698         * modules/mempcpy (License): Likewise.
62699         * modules/memset (License): Likewise.
62700         * modules/minmax (License): Likewise.
62701         * modules/mktime (License): Likewise.
62702         * modules/netinet_in (License): Likewise.
62703         * modules/pathmax (License): Likewise.
62704         * modules/poll (License): Likewise.
62705         * modules/regex (License): Likewise.
62706         * modules/snprintf (License): Likewise.
62707         * modules/stdbool (License): Likewise.
62708         * modules/stdint (License): Likewise.
62709         * modules/stdio (License): Likewise.
62710         * modules/strcase (License): Likewise.
62711         * modules/strcasestr (License): Likewise.
62712         * modules/strdup (License): Likewise.
62713         * modules/string (License): Likewise.
62714         * modules/strndup (License): Likewise.
62715         * modules/strnlen (License): Likewise.
62716         * modules/strpbrk (License): Likewise.
62717         * modules/strptime (License): Likewise.
62718         * modules/strsep (License): Likewise.
62719         * modules/sys_select (License): Likewise.
62720         * modules/sys_socket (License): Likewise.
62721         * modules/sys_stat (License): Likewise.
62722         * modules/sys_time (License): Likewise.
62723         * modules/time (License): Likewise.
62724         * modules/time_r (License): Likewise.
62725         * modules/timegm (License): Likewise.
62726         * modules/unistd (License): Likewise.
62727         * modules/vsnprintf (License): Likewise.
62728         * modules/wctype (License): Likewise.
62729
62730 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62731
62732         * modules/argz (License): LGPLv2+.
62733
62734 2007-07-15  Karl Berry  <karl@gnu.org>
62735
62736         * doc/gnulib.texi: revise node structure per new fdl.texi.
62737
62738 2007-07-14  Bruno Haible  <bruno@clisp.org>
62739
62740         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
62741         the output file.
62742         * lib/uniname/uninames.h: Regenerated.
62743
62744 2007-07-14  Karl Berry  <karl@gnu.org>
62745
62746         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
62747         omitting sectioning and index commands.
62748
62749 2007-07-13  Bruno Haible  <bruno@clisp.org>
62750
62751         New gnulib-tool option --more-symlinks.
62752         * gnulib-tool (func_usage): Document --more-symlinks.
62753         (do_copyrights): New variable.
62754         Recognize option --more-symlinks.
62755         (func_import): Don't add a copyright notice transform to
62756         sed_transform_lib_file if do_copyrights is empty.
62757
62758 2007-07-13  Bruno Haible  <bruno@clisp.org>
62759
62760         * lib/vasnprintf.c (decimal_point_char): Define also if
62761         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
62762         && !NEED_PRINTF_DIRECTIVE_A.
62763         Reported by Clemens Koller <clemens.koller@anagramm.de> via
62764         Gary V. Vaughan <gary@gnu.org>.
62765
62766 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
62767
62768         * lib/inttypes_.h: Undo previous change, since it was fixed
62769         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
62770
62771 2007-07-13  Bruno Haible  <bruno@clisp.org>
62772
62773         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
62774         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
62775
62776 2007-07-13  Jim Meyering  <jim@meyering.net>
62777
62778         df: Don't fail for Tru64's "file-on-file mount".
62779         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
62780         so we fall through and use statfs instead.  Details here:
62781         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
62782         Reported by Albert Chin.
62783
62784 2007-07-13  Bruno Haible  <bruno@clisp.org>
62785
62786         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
62787         * modules/configmake (License): Likewise.
62788         * modules/gettext (License): Likewise.
62789         * modules/gettext-h (License): Likewise.
62790         * modules/include_next (License): Likewise.
62791         * modules/link-warning (License): Likewise.
62792         * modules/localcharset (License): Likewise.
62793         * modules/localename (License): Likewise.
62794         * modules/lock (License): Likewise.
62795         * modules/relocatable-lib-lgpl (License): Likewise.
62796         * modules/size_max (License): Likewise.
62797         * modules/vasnprintf (License): Likewise.
62798         * modules/wchar (License): Likewise.
62799         * modules/xsize (License): Likewise.
62800
62801 2007-07-13  Bruno Haible  <bruno@clisp.org>
62802
62803         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
62804         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
62805
62806 2007-07-12  Bruno Haible  <bruno@clisp.org>
62807
62808         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
62809         in the modules files.
62810
62811 2007-07-11  Karl Berry  <karl@gnu.org>
62812
62813         * MODULES.html.sh (func_module): use
62814          sed -e '\|^'"${includefile}"'$|d'
62815          instead of /.../d, to avoid errors on $includefile's containing /.
62816
62817 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
62818
62819         * gnulib-tool (func_import): Avoid duplication of --avoid
62820         statements
62821         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
62822         names to `_' in variable names.
62823
62824 2007-07-10  Eric Blake  <ebb9@byu.net>
62825
62826         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
62827         * NEWS: Document this change.
62828
62829 2007-07-08  Bruno Haible  <bruno@clisp.org>
62830
62831         Update to Unicode 5.0.
62832         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
62833         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
62834         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
62835         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
62836         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
62837         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
62838         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
62839         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
62840         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
62841         U+10A3F, U+1D242..U+1D244.
62842         (nonspacing_table_ind): Update.
62843         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
62844         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
62845
62846 2007-07-08  Bruno Haible  <bruno@clisp.org>
62847
62848         Update to Unicode 5.0.
62849         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
62850         code transform. Extend the name index field of unicode_name_to_code and
62851         unicode_code_to_name from 16 to 24 bits.
62852         * lib/uniname/uniname.c (unicode_character_name,
62853         unicode_name_character): Add the range 0x12xxx to the code transform.
62854         * lib/uniname/uninames.h: Regenerated.
62855         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
62856
62857 2007-07-07  Bruno Haible  <bruno@clisp.org>
62858
62859         * modules/wcwidth-tests: New file.
62860         * tests/test-wcwidth.c: New file.
62861
62862         Work around MacOS X wcwidth() bug.
62863         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
62864         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
62865         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
62866         original wcwidth in non-UTF-8 locales.
62867         * modules/wcwidth (Depends-on): Add localcharset, streq,
62868         uniwidth/width.
62869         * doc/functions/wcwidth.texi: Update.
62870
62871 2007-07-07  Bruno Haible  <bruno@clisp.org>
62872
62873         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
62874         (wcwidth): New declaration.
62875         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
62876         macros.
62877         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
62878         here. Prepare for creating <wchar.h> unconditionally.
62879         * modules/wchar (Depends-on): Add link-warning.
62880         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
62881         REPLACE_WCWIDTH, and GL_LINK_WARNING.
62882         * lib/wcwidth.h: Remove file.
62883         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
62884         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
62885         * modules/wcwidth (Files): Remove lib/wcwidth.h.
62886         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
62887         (Include): Replace wcwidth.h with <wchar.h>.
62888         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
62889         * lib/mbchar.h: Don't include wcwidth.h.
62890         * lib/mbswidth.c: Likewise.
62891         * NEWS: Mention the change.
62892
62893 2007-07-07  Bruno Haible  <bruno@clisp.org>
62894
62895         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
62896         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
62897         definition with an external declaration.
62898         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
62899         defined as a function. Remove AC_C_INLINE requirement.
62900         * modules/wcwidth (Files): Add lib/wcwidth.c.
62901         (Makefile.am): Remove redundant statement.
62902
62903 2007-07-07  Bruno Haible  <bruno@clisp.org>
62904
62905         * MODULES.html.sh (Unicode string functions): Add the new modules.
62906
62907         * tests/uniwidth/test-u32-strwidth.c: New file.
62908         * modules/uniwidth/u32-strwidth-tests: New file.
62909
62910         * lib/uniwidth/u32-strwidth.c: New file.
62911         * modules/uniwidth/u32-strwidth: New file.
62912
62913         * tests/uniwidth/test-u16-strwidth.c: New file.
62914         * modules/uniwidth/u16-strwidth-tests: New file.
62915
62916         * lib/uniwidth/u16-strwidth.c: New file.
62917         * modules/uniwidth/u16-strwidth: New file.
62918
62919         * tests/uniwidth/test-u8-strwidth.c: New file.
62920         * modules/uniwidth/u8-strwidth-tests: New file.
62921
62922         * lib/uniwidth/u8-strwidth.c: New file.
62923         * modules/uniwidth/u8-strwidth: New file.
62924
62925         * tests/uniwidth/test-u32-width.c: New file.
62926         * modules/uniwidth/u32-width-tests: New file.
62927
62928         * lib/uniwidth/u32-width.c: New file.
62929         * modules/uniwidth/u32-width: New file.
62930
62931         * tests/uniwidth/test-u16-width.c: New file.
62932         * modules/uniwidth/u16-width-tests: New file.
62933
62934         * lib/uniwidth/u16-width.c: New file.
62935         * modules/uniwidth/u16-width: New file.
62936
62937         * tests/uniwidth/test-u8-width.c: New file.
62938         * modules/uniwidth/u8-width-tests: New file.
62939
62940         * lib/uniwidth/u8-width.c: New file.
62941         * modules/uniwidth/u8-width: New file.
62942
62943         * tests/uniwidth/test-uc_width.c: New file.
62944         * modules/uniwidth/width-tests: New file.
62945
62946         * lib/uniwidth/width.c: New file, from GNU libiconv.
62947         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
62948         * modules/uniwidth/width: New file.
62949
62950         * lib/uniwidth.h: New file, from GNU libiconv.
62951         * modules/uniwidth/base: New file.
62952
62953 2007-07-07  Bruno Haible  <bruno@clisp.org>
62954
62955         * lib/uniname.h: New file, from GNU gettext.
62956         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
62957         * lib/uniname/uninames.h: New file, from GNU gettext.
62958         * lib/uniname/uniname.c: New file, from GNU gettext.
62959         * tests/uniname/test-uninames.sh: New file.
62960         * tests/uniname/test-uninames.c: New file, from GNU gettext.
62961         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
62962         * modules/uniname/base: New file.
62963         * modules/uniname/uniname: New file.
62964         * modules/uniname/uniname-tests: New file.
62965         * MODULES.html.sh (Unicode string functions): Add the new modules.
62966
62967 2007-07-06  Bruno Haible  <bruno@clisp.org>
62968
62969         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
62970
62971 2007-07-06  Bruno Haible  <bruno@clisp.org>
62972
62973         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
62974         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
62975         includes <cygwin/sys_time.h> which includes <sys/select.h> which
62976         include <sys/time.h>.
62977         Reported by Eric Blake.
62978
62979 2007-07-06  Eric Blake  <ebb9@byu.net>
62980
62981         Fix testing canonicalize on cygwin.
62982         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
62983         Revert patch from 2007-06-19.
62984         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
62985         canonicalize module is also in use.
62986         * tests/test-canonicalize.c: New file.
62987         * tests/test-canonicalize.sh: Likewise.
62988         * modules/canonicalize-tests: Likewise.
62989
62990 2007-07-06  Jim Meyering  <jim@meyering.net>
62991
62992         * lib/getugroups.c (getugroups): Detect getgrent failure.
62993         Adjust comment to reflect reality: this function may return -1.
62994
62995 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
62996
62997         * build-aux/bootstrap (TP_URL,get_translations): Update to use
62998         the new TP address.
62999         (usage): Fix typo
63000         (gnulib_mk): New variable.
63001
63002 2007-07-05  Jim Meyering  <jim@meyering.net>
63003
63004         Don't let endgrent clobber errno, no matter how improbable.
63005         * lib/getugroups.c (getugroups): Save and restore errno around
63006         endgrent call.
63007
63008         Close the group DB even when failing with 2^31 or more members.
63009         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
63010
63011 2007-07-04  Jim Meyering  <jim@meyering.net>
63012
63013         * lib/getugroups.h: New file.
63014         * lib/getugroups.c: Include "getugroups.h".
63015         Remove uses of "register" keyword.
63016         Move local variable, "cp", down into scope where used.
63017         Give "username" parameter the "const" attribute.
63018         * modules/getugroups (Files): Add lib/getugroups.h
63019
63020 2007-07-04  Karl Berry  <karl@gnu.org>
63021
63022         * MODULES.html.sh (func_all_modules): Complete rename of
63023         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
63024
63025 2007-07-02  Bruno Haible  <bruno@clisp.org>
63026
63027         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
63028         mode, when inttypes.h comes from gnulib.
63029         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
63030
63031 2007-07-02  Simon Josefsson  <simon@josefsson.org>
63032
63033         * NEWS: Mention lgpl module name change.
63034
63035         * modules/lgpl-2.1: Renamed from lgpl.
63036
63037         * NEWS: Mention gpl module name change.
63038
63039         * modules/gpl-3.0: New file, based on gpl-2.0.
63040
63041         * modules/gpl-2.0: Renamed from gpl.
63042
63043         * modules/gpl: Fix filename, doc/gpl.texi is now found at
63044         doc/gpl-2.0.texi.
63045
63046 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
63047
63048         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
63049         #define __STDC_LIMIT_MACROS temporarily while including
63050         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
63051         Problem reported by Joel E. Denny in
63052         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
63053
63054 2007-07-01  Bruno Haible  <bruno@clisp.org>
63055
63056         * lib/unistdio.h: New file.
63057         * lib/unistdio/u-asnprintf.h: New file.
63058         * lib/unistdio/u-asprintf.h: New file.
63059         * lib/unistdio/u-printf-args.c: New file.
63060         * lib/unistdio/u-printf-args.h: New file.
63061         * lib/unistdio/u-printf-parse.h: New file.
63062         * lib/unistdio/u-snprintf.h: New file.
63063         * lib/unistdio/u-sprintf.h: New file.
63064         * lib/unistdio/u-vasprintf.h: New file.
63065         * lib/unistdio/u-vsnprintf.h: New file.
63066         * lib/unistdio/u-vsprintf.h: New file.
63067         * lib/unistdio/ulc-asnprintf.c: New file.
63068         * lib/unistdio/ulc-asprintf.c: New file.
63069         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
63070         * lib/unistdio/ulc-printf-parse.c: New file.
63071         * lib/unistdio/ulc-snprintf.c: New file.
63072         * lib/unistdio/ulc-sprintf.c: New file.
63073         * lib/unistdio/ulc-vasnprintf.c: New file.
63074         * lib/unistdio/ulc-vasprintf.c: New file.
63075         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
63076         * lib/unistdio/ulc-vsnprintf.c: New file.
63077         * lib/unistdio/ulc-vsprintf.c: New file.
63078         * lib/unistdio/u8-asnprintf.c: New file.
63079         * lib/unistdio/u8-asprintf.c: New file.
63080         * lib/unistdio/u8-printf-parse.c: New file.
63081         * lib/unistdio/u8-snprintf.c: New file.
63082         * lib/unistdio/u8-sprintf.c: New file.
63083         * lib/unistdio/u8-vasnprintf.c: New file.
63084         * lib/unistdio/u8-vasprintf.c: New file.
63085         * lib/unistdio/u8-vsnprintf.c: New file.
63086         * lib/unistdio/u8-vsprintf.c: New file.
63087         * lib/unistdio/u8-u8-asnprintf.c: New file.
63088         * lib/unistdio/u8-u8-asprintf.c: New file.
63089         * lib/unistdio/u8-u8-snprintf.c: New file.
63090         * lib/unistdio/u8-u8-sprintf.c: New file.
63091         * lib/unistdio/u8-u8-vasnprintf.c: New file.
63092         * lib/unistdio/u8-u8-vasprintf.c: New file.
63093         * lib/unistdio/u8-u8-vsnprintf.c: New file.
63094         * lib/unistdio/u8-u8-vsprintf.c: New file.
63095         * lib/unistdio/u16-asnprintf.c: New file.
63096         * lib/unistdio/u16-asprintf.c: New file.
63097         * lib/unistdio/u16-printf-parse.c: New file.
63098         * lib/unistdio/u16-snprintf.c: New file.
63099         * lib/unistdio/u16-sprintf.c: New file.
63100         * lib/unistdio/u16-vasnprintf.c: New file.
63101         * lib/unistdio/u16-vasprintf.c: New file.
63102         * lib/unistdio/u16-vsnprintf.c: New file.
63103         * lib/unistdio/u16-vsprintf.c: New file.
63104         * lib/unistdio/u16-u16-asnprintf.c: New file.
63105         * lib/unistdio/u16-u16-asprintf.c: New file.
63106         * lib/unistdio/u16-u16-snprintf.c: New file.
63107         * lib/unistdio/u16-u16-sprintf.c: New file.
63108         * lib/unistdio/u16-u16-vasnprintf.c: New file.
63109         * lib/unistdio/u16-u16-vasprintf.c: New file.
63110         * lib/unistdio/u16-u16-vsnprintf.c: New file.
63111         * lib/unistdio/u16-u16-vsprintf.c: New file.
63112         * lib/unistdio/u32-asnprintf.c: New file.
63113         * lib/unistdio/u32-asprintf.c: New file.
63114         * lib/unistdio/u32-printf-parse.c: New file.
63115         * lib/unistdio/u32-snprintf.c: New file.
63116         * lib/unistdio/u32-sprintf.c: New file.
63117         * lib/unistdio/u32-vasnprintf.c: New file.
63118         * lib/unistdio/u32-vasprintf.c: New file.
63119         * lib/unistdio/u32-vsnprintf.c: New file.
63120         * lib/unistdio/u32-vsprintf.c: New file.
63121         * lib/unistdio/u32-u32-asnprintf.c: New file.
63122         * lib/unistdio/u32-u32-asprintf.c: New file.
63123         * lib/unistdio/u32-u32-snprintf.c: New file.
63124         * lib/unistdio/u32-u32-sprintf.c: New file.
63125         * lib/unistdio/u32-u32-vasnprintf.c: New file.
63126         * lib/unistdio/u32-u32-vasprintf.c: New file.
63127         * lib/unistdio/u32-u32-vsnprintf.c: New file.
63128         * lib/unistdio/u32-u32-vsprintf.c: New file.
63129         * tests/unistdio/test-ulc-asnprintf1.c: New file.
63130         * tests/unistdio/test-ulc-asnprintf1.h: New file.
63131         * tests/unistdio/test-ulc-printf1.h: New file.
63132         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
63133         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
63134         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
63135         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
63136         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
63137         * tests/unistdio/test-ulc-vasprintf1.c: New file.
63138         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
63139         * tests/unistdio/test-ulc-vsprintf1.c: New file.
63140         * tests/unistdio/test-u8-asnprintf1.c: New file.
63141         * tests/unistdio/test-u8-asnprintf1.h: New file.
63142         * tests/unistdio/test-u8-printf1.h: New file.
63143         * tests/unistdio/test-u8-vasnprintf1.c: New file.
63144         * tests/unistdio/test-u8-vasnprintf2.c: New file.
63145         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
63146         * tests/unistdio/test-u8-vasnprintf3.c: New file.
63147         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
63148         * tests/unistdio/test-u8-vasprintf1.c: New file.
63149         * tests/unistdio/test-u8-vsnprintf1.c: New file.
63150         * tests/unistdio/test-u8-vsprintf1.c: New file.
63151         * tests/unistdio/test-u16-asnprintf1.c: New file.
63152         * tests/unistdio/test-u16-asnprintf1.h: New file.
63153         * tests/unistdio/test-u16-printf1.h: New file.
63154         * tests/unistdio/test-u16-vasnprintf1.c: New file.
63155         * tests/unistdio/test-u16-vasnprintf2.c: New file.
63156         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
63157         * tests/unistdio/test-u16-vasnprintf3.c: New file.
63158         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
63159         * tests/unistdio/test-u16-vasprintf1.c: New file.
63160         * tests/unistdio/test-u16-vsnprintf1.c: New file.
63161         * tests/unistdio/test-u16-vsprintf1.c: New file.
63162         * tests/unistdio/test-u32-asnprintf1.c: New file.
63163         * tests/unistdio/test-u32-asnprintf1.h: New file.
63164         * tests/unistdio/test-u32-printf1.h: New file.
63165         * tests/unistdio/test-u32-vasnprintf1.c: New file.
63166         * tests/unistdio/test-u32-vasnprintf2.c: New file.
63167         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
63168         * tests/unistdio/test-u32-vasnprintf3.c: New file.
63169         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
63170         * tests/unistdio/test-u32-vasprintf1.c: New file.
63171         * tests/unistdio/test-u32-vsnprintf1.c: New file.
63172         * tests/unistdio/test-u32-vsprintf1.c: New file.
63173         * modules/unistdio/base: New file.
63174         * modules/unistdio/u-printf-args: New file.
63175         * modules/unistdio/ulc-asnprintf: New file.
63176         * modules/unistdio/ulc-asprintf: New file.
63177         * modules/unistdio/ulc-fprintf: New file.
63178         * modules/unistdio/ulc-printf-parse: New file.
63179         * modules/unistdio/ulc-snprintf: New file.
63180         * modules/unistdio/ulc-sprintf: New file.
63181         * modules/unistdio/ulc-vasnprintf: New file.
63182         * modules/unistdio/ulc-vasprintf: New file.
63183         * modules/unistdio/ulc-vfprintf: New file.
63184         * modules/unistdio/ulc-vsnprintf: New file.
63185         * modules/unistdio/ulc-vsprintf: New file.
63186         * modules/unistdio/u8-asnprintf: New file.
63187         * modules/unistdio/u8-asprintf: New file.
63188         * modules/unistdio/u8-printf-parse: New file.
63189         * modules/unistdio/u8-snprintf: New file.
63190         * modules/unistdio/u8-sprintf: New file.
63191         * modules/unistdio/u8-vasnprintf: New file.
63192         * modules/unistdio/u8-vasprintf: New file.
63193         * modules/unistdio/u8-vsnprintf: New file.
63194         * modules/unistdio/u8-vsprintf: New file.
63195         * modules/unistdio/u8-u8-asnprintf: New file.
63196         * modules/unistdio/u8-u8-asprintf: New file.
63197         * modules/unistdio/u8-u8-snprintf: New file.
63198         * modules/unistdio/u8-u8-sprintf: New file.
63199         * modules/unistdio/u8-u8-vasnprintf: New file.
63200         * modules/unistdio/u8-u8-vasprintf: New file.
63201         * modules/unistdio/u8-u8-vsnprintf: New file.
63202         * modules/unistdio/u8-u8-vsprintf: New file.
63203         * modules/unistdio/u16-asnprintf: New file.
63204         * modules/unistdio/u16-asprintf: New file.
63205         * modules/unistdio/u16-printf-parse: New file.
63206         * modules/unistdio/u16-snprintf: New file.
63207         * modules/unistdio/u16-sprintf: New file.
63208         * modules/unistdio/u16-vasnprintf: New file.
63209         * modules/unistdio/u16-vasprintf: New file.
63210         * modules/unistdio/u16-vsnprintf: New file.
63211         * modules/unistdio/u16-vsprintf: New file.
63212         * modules/unistdio/u16-u16-asnprintf: New file.
63213         * modules/unistdio/u16-u16-asprintf: New file.
63214         * modules/unistdio/u16-u16-snprintf: New file.
63215         * modules/unistdio/u16-u16-sprintf: New file.
63216         * modules/unistdio/u16-u16-vasnprintf: New file.
63217         * modules/unistdio/u16-u16-vasprintf: New file.
63218         * modules/unistdio/u16-u16-vsnprintf: New file.
63219         * modules/unistdio/u16-u16-vsprintf: New file.
63220         * modules/unistdio/u32-asnprintf: New file.
63221         * modules/unistdio/u32-asprintf: New file.
63222         * modules/unistdio/u32-printf-parse: New file.
63223         * modules/unistdio/u32-snprintf: New file.
63224         * modules/unistdio/u32-sprintf: New file.
63225         * modules/unistdio/u32-vasnprintf: New file.
63226         * modules/unistdio/u32-vasprintf: New file.
63227         * modules/unistdio/u32-vsnprintf: New file.
63228         * modules/unistdio/u32-vsprintf: New file.
63229         * modules/unistdio/u32-u32-asnprintf: New file.
63230         * modules/unistdio/u32-u32-asprintf: New file.
63231         * modules/unistdio/u32-u32-snprintf: New file.
63232         * modules/unistdio/u32-u32-sprintf: New file.
63233         * modules/unistdio/u32-u32-vasnprintf: New file.
63234         * modules/unistdio/u32-u32-vasprintf: New file.
63235         * modules/unistdio/u32-u32-vsnprintf: New file.
63236         * modules/unistdio/u32-u32-vsprintf: New file.
63237         * modules/unistdio/ulc-asnprintf-tests: New file.
63238         * modules/unistdio/ulc-vasnprintf-tests: New file.
63239         * modules/unistdio/ulc-vasprintf-tests: New file.
63240         * modules/unistdio/ulc-vsnprintf-tests: New file.
63241         * modules/unistdio/ulc-vsprintf-tests: New file.
63242         * modules/unistdio/u8-asnprintf-tests: New file.
63243         * modules/unistdio/u8-vasnprintf-tests: New file.
63244         * modules/unistdio/u8-vasprintf-tests: New file.
63245         * modules/unistdio/u8-vsnprintf-tests: New file.
63246         * modules/unistdio/u8-vsprintf-tests: New file.
63247         * modules/unistdio/u16-asnprintf-tests: New file.
63248         * modules/unistdio/u16-vasnprintf-tests: New file.
63249         * modules/unistdio/u16-vasprintf-tests: New file.
63250         * modules/unistdio/u16-vsnprintf-tests: New file.
63251         * modules/unistdio/u16-vsprintf-tests: New file.
63252         * modules/unistdio/u32-asnprintf-tests: New file.
63253         * modules/unistdio/u32-vasnprintf-tests: New file.
63254         * modules/unistdio/u32-vasprintf-tests: New file.
63255         * modules/unistdio/u32-vsnprintf-tests: New file.
63256         * modules/unistdio/u32-vsprintf-tests: New file.
63257         * MODULES.html.sh (Unicode string functions): Add the new modules.
63258
63259 2007-07-01  Bruno Haible  <bruno@clisp.org>
63260
63261         * lib/sprintf.c (sprintf): Limit the available length estimation,
63262         to avoid address wraparound.
63263         * lib/vsprintf.c (vsprintf): Likewise.
63264         * modules/sprintf-posix (Dependencies): Add stdint.
63265         * modules/vsprintf-posix (Dependencies): Likewise.
63266
63267 2007-07-01  Bruno Haible  <bruno@clisp.org>
63268
63269         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
63270         Windows PATH as well. Conservative double-quoting. Comments.
63271
63272 2007-07-01  Bruno Haible  <bruno@clisp.org>
63273             Eric Blake  <ebb9@byu.net>
63274             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63275
63276         * gnulib-tool (self_abspathname): Fix algorithm to cope with
63277         empty components in $PATH, denoting '.'.
63278
63279 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63280
63281         * gnulib-tool: Fix indentation.
63282         (func_create_megatestdir): Likewise.
63283         Report by Bruno Haible.
63284
63285 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63286
63287         Sync from Automake.
63288         * build-aux/gnupload: Fix shell portability issues with for loops.
63289         Report by Karl Berry.
63290
63291 2007-06-29  Simon Josefsson  <simon@josefsson.org>
63292
63293         * build-aux/maint.mk (POURL): Use translationproject.org.
63294
63295 2007-06-27  Simon Josefsson  <simon@josefsson.org>
63296             Bruno Haible  <bruno@clisp.org>
63297
63298         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
63299         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
63300         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
63301         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
63302         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
63303
63304 2007-06-27  Bruno Haible  <bruno@clisp.org>
63305
63306         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
63307         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
63308
63309 2007-06-26  Karl Berry  <karl@gnu.org>
63310
63311         * MODULES.html.sh: remove xreadlink-with-size.
63312
63313 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
63314
63315         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
63316         method that I hope also handles the double-include problem noted
63317         by Bruno Haible in
63318         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
63319
63320 2007-06-23  Bruno Haible  <bruno@clisp.org>
63321
63322         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
63323         Don't let the 'mostlyclean' target fail if the last subdirectory could
63324         not be removed.
63325         Reported by Karl Berry.
63326
63327 2007-06-23  Bruno Haible  <bruno@clisp.org>
63328
63329         * gnulib-tool (echo): Add a speedier workaround for ksh.
63330         * tests/test-echo.sh: Likewise.
63331
63332 2007-06-23  Bruno Haible  <bruno@clisp.org>
63333
63334         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
63335         * tests/test-echo.sh: Likewise.
63336
63337 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63338
63339         * gnulib-tool (IFS): Initialize early, so we don't set it to
63340         empty later.
63341         (self_abspathname): Rewrite algorithm to set it, reindent.
63342         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
63343         (func_create_megatestdir): Merge some sed scripts.
63344
63345 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
63346
63347         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
63348         exposed by Sun Studio 11 cc on Solaris 8.
63349
63350 2007-06-22  Bruno Haible  <bruno@clisp.org>
63351
63352         * gnulib-tool (echo): Ensure the echo primitive does not interpret
63353         backslashes.
63354         * tests/test-echo.sh: New file.
63355
63356 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63357
63358         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
63359         simplify `sed_replace_build_aux' scripts, they are portable but
63360         echoing them with `echo' is not.
63361         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
63362
63363 2007-06-21  Karl Berry  <karl@gnu.org>
63364
63365         * config/srclist.txt: guess we can't handle the licenses via
63366         srclist at the moment.
63367
63368 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
63369
63370         * MODULES.html.sh: Add include_next.
63371         * modules/include_next: New file.
63372
63373 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
63374
63375         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
63376         INCLUDE_NEXT.
63377         (gl_CHECK_NEXT_HEADERS): New macro.
63378         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
63379         the obsolescent gl_ABSOLUTE_HEADER.
63380         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
63381         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
63382         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
63383         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
63384         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
63385         * m4/math_h.m4 (gl_MATH_H): Likewise.
63386         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
63387         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
63388         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
63389         * m4/stdint.m4 (gl_STDINT_H): Likewise.
63390         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
63391         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
63392         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
63393         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
63394         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
63395         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
63396         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
63397         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
63398         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
63399         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
63400         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
63401         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
63402         * m4/inttypes.m4 (gl_INTTYPES_H): Define
63403         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
63404         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
63405         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
63406         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
63407         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
63408         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
63409         * lib/float_.h: Likewise.
63410         * lib/inttypes_.h: Likewise.
63411         * lib/math_.h: Likewise.
63412         * lib/search_.h: Likewise.
63413         * lib/signal_.h: Likewise.
63414         * lib/stdint_.h: Likewise.
63415         * lib/stdio_.h: Likewise.
63416         * lib/stdlib_.h: Likewise.
63417         * lib/string_.h: Likewise.
63418         * lib/sys_stat_.h: Likewise.
63419         * lib/sys_time_.h: Likewise.
63420         * lib/time_.h: Likewise.
63421         * lib/unistd_.h: Likewise.
63422         * lib/wchar_.h: Likewise.
63423         * lib/wctype_.h: Likewise.
63424         * lib/dirent_.h: Likewise.
63425         * lib/iconv_.h: Likewise.
63426         * lib/locale_.h: Likewise.
63427         * lib/netinet_in_.h: Likewise.
63428         * lib/sys_select_.h: Likewise.
63429         * lib/sys_socket_.h: Likewise.
63430         * lib/sysexits_.h: Likewise.
63431         * modules/fcntl (Depends-on): Depend on include_next, not
63432         absolute_header.
63433         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
63434         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
63435         * modules/fchdir: Likewise.
63436         * modules/float: Likewise.
63437         * modules/iconv_open: Likewise.
63438         * modules/inttypes: Likewise.
63439         * modules/locale: Likewise.
63440         * modules/math: Likewise.
63441         * modules/netinet_in: Likewise.
63442         * modules/search: Likewise.
63443         * modules/signal: Likewise.
63444         * modules/stdint: Likewise.
63445         * modules/stdio: Likewise.
63446         * modules/stdlib: Likewise.
63447         * modules/string: Likewise.
63448         * modules/sys_select: Likewise.
63449         * modules/sys_socket: Likewise.
63450         * modules/sys_stat: Likewise.
63451         * modules/sys_time: Likewise.
63452         * modules/sysexits: Likewise.
63453         * modules/time: Likewise.
63454         * modules/unistd: Likewise.
63455         * modules/wchar: Likewise.
63456         * modules/wctype: Likewise.
63457         * modules/sys_stat: Change maintainer to "all".
63458         * modules/unistd: Likewise.
63459
63460 2007-06-20  Karl Berry  <karl@gnu.org>
63461
63462         * config/srclist.txt: track www changes in license files.
63463
63464 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
63465
63466         * build-aux/bootstrap: Remove stray dot.
63467         Make sure build_aux settings are honored when linking
63468         gnulib_extra_files.
63469
63470 2007-06-19  Eric Blake  <ebb9@byu.net>
63471
63472         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
63473         Allow compilation on cygwin.
63474
63475 2007-06-19  Jim Meyering  <jim@meyering.net>
63476
63477         xreadlink-with-size: Remove module.  No longer used.
63478         Ex-callers now use xreadlink or mreadlink-with-size.
63479         * modules/xreadlink-with-size: Remove module.
63480         * lib/xreadlink-with-size.c: Remove file.
63481         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
63482         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
63483         just before the function definition *is* accurate.
63484
63485         Eliminate one way canonicalize_filename_mode could exit.
63486         * lib/canonicalize.c (canonicalize_filename_mode):
63487         Use mreadlink_with_size, not xreadlink_with_size.
63488
63489 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
63490
63491         Detect porting problems to FreeBSD/arm, which has time_t wider than
63492         long int.  Original problem reported for GNU diff by Xin Li in
63493         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
63494         * modules/getdate (Depends-on): Add intprops, verify.
63495         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
63496         is an integer type no wider than long int.
63497
63498 2007-06-18  Jim Meyering  <jim@meyering.net>
63499
63500         New module: mreadlink-with-size.
63501         * MODULES.html.sh: Add mreadlink-with-size.
63502         * modules/mreadlink-with-size: New module
63503         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
63504         not xreadlink-with-size.
63505         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
63506
63507 2007-06-16  Bruno Haible  <bruno@clisp.org>
63508
63509         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
63510         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
63511         Reported by Gary V. Vaughan <gary@gnu.org>.
63512
63513 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
63514
63515         Revamp lchown so that it lives in unistd.h where it belongs.
63516         * lib/lchown.h: Remove.
63517         * lib/dirchownmod.c: Don't include lib/lchown.h.
63518         * lib/fchownat.c: Likewise.
63519         * lib/openat.c: Likewise.
63520         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
63521         does not follow symlinks.
63522         (EOPNOTSUPP): Define if not defined.
63523         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
63524         is defined to 0.
63525         (lchown): New decl.
63526         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
63527         Do not check for lchown decl.
63528         Set REPLACE_LCHOWN.
63529         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
63530         REPLACE_LCHOWN.
63531         * modules/chown: Make it clear it follows symlinks.
63532         * modules/lchown: Make it clear it doesn't follow symlinks.
63533         (Files): Remove lib/lchown.h
63534         (Depends-on): Add unistd.
63535         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
63536         (Include): Include <unistd.h>, not "lchown.h".
63537         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
63538         REPLACE_LCHOWN.
63539
63540 2007-06-15  Jim Meyering  <jim@meyering.net>
63541
63542         Change license (GPL to LGPL) of fsusage and dependents.
63543         * modules/fsusage (License): Change to LGPL.
63544         * modules/full-read (License): Likewise.
63545         * modules/full-write (License): Likewise.
63546         * modules/safe-read (License): Likewise.
63547         * modules/safe-write (License): Likewise.
63548
63549 2007-06-14  Ben Pfaff  <blp@gnu.org>
63550
63551         Missing part of allocsa -> malloca transition.
63552         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
63553         gl_MALLOCA.
63554
63555 2007-06-12  Bruno Haible  <bruno@clisp.org>
63556
63557         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
63558         to ia64, x86_64, i386.
63559         Reported by Eric Blake.
63560
63561 2007-06-12  Bruno Haible  <bruno@clisp.org>
63562
63563         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
63564         cross-compiling to x86_64.
63565
63566 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
63567
63568         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
63569         glitch reported by Ralf Wildenhues in
63570         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
63571
63572         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
63573         Vin Shelton.
63574
63575 2007-06-11  Bruno Haible  <bruno@clisp.org>
63576
63577         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
63578         replacement string.
63579         Reported by Eric Blake.
63580
63581 2007-06-10  Bruno Haible  <bruno@clisp.org>
63582
63583         Prepare vasnprintf code for use with Unicode strings.
63584         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
63585         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
63586         TYPE_U32_STRING.
63587         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
63588         a_u32_string variants.
63589         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
63590         * lib/printf-args.c: Don't include config.h and the specification
63591         header if PRINTF_FETCHARGS is already defined.
63592         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
63593         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
63594         TYPE_U16_STRING, TYPE_U32_STRING.
63595         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
63596         u16_directive, u16_directives, u32_directive, u32_directives): New
63597         types.
63598         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
63599         New declarations.
63600         * lib/printf-parse.c: Don't include config.h and the specification
63601         header if PRINTF_PARSE is already defined. Eliminate the set of
63602         parameters for WIDE_CHAR_VERSION; the user of this file must provide
63603         them now. Include c-ctype.h.
63604         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
63605         directive and CHAR_T_ONLY_ASCII.
63606         * lib/vasnprintf.c: Don't include config.h and the specification header
63607         if VASNPRINTF is already defined.
63608         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
63609         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
63610         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
63611         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
63612         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
63613         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
63614         code accordingly.
63615         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
63616         pad_ourselves also in this case, with the 'c' and 's' directives, and
63617         with a different notion of "width".
63618         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
63619
63620 2007-06-10  Bruno Haible  <bruno@clisp.org>
63621
63622         * modules/unistr/u32-mbsnlen: New file.
63623         * lib/unistr/u32-mbsnlen.c: New file.
63624
63625         * modules/unistr/u16-mbsnlen: New file.
63626         * lib/unistr/u16-mbsnlen.c: New file.
63627
63628         * modules/unistr/u8-mbsnlen: New file.
63629         * lib/unistr/u8-mbsnlen.c: New file.
63630
63631         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
63632         declarations.
63633
63634 2007-06-10  Bruno Haible  <bruno@clisp.org>
63635
63636         * lib/string_.h (mbsnlen): New declaration.
63637         * lib/mbsnlen.c: New file.
63638         * m4/mbsnlen.m4: New file.
63639         * modules/mbsnlen: New file.
63640         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
63641         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
63642         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
63643
63644 2007-06-10  Bruno Haible  <bruno@clisp.org>
63645
63646         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
63647
63648 2007-06-10  Bruno Haible  <bruno@clisp.org>
63649
63650         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
63651         * lib/mbuiter.h: Likewise.
63652
63653 2007-06-10  Bruno Haible  <bruno@clisp.org>
63654
63655         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
63656         declaration.
63657
63658 2007-06-10  Karl Berry  <karl@gnu.org>
63659
63660         * config/srclist.txt: remove gettext entries, Bruno prefers
63661         to update individually.
63662
63663 2007-06-10  Bruno Haible  <bruno@clisp.org>
63664
63665         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
63666         'maxlen'. Ensure only length + width bytes are allocated, not
63667         length + 1 + width.
63668
63669 2007-06-09  Bruno Haible  <bruno@clisp.org>
63670
63671         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
63672         (CHAR_T): Remove macro.
63673         (VASNPRINTF): Update.
63674
63675 2007-06-09  Bruno Haible  <bruno@clisp.org>
63676
63677         * MODULES.html.sh (Unicode string functions): Add the new modules.
63678
63679         * modules/uniconv/u32-conv-to-enc: New file.
63680         * lib/uniconv/u32-conv-to-enc.c: New file.
63681         * modules/uniconv/u32-conv-to-enc-tests: New file.
63682         * tests/uniconv/test-u32-conv-to-enc.c: New file.
63683
63684         * modules/uniconv/u16-conv-to-enc: New file.
63685         * lib/uniconv/u16-conv-to-enc.c: New file.
63686         * lib/uniconv/u-conv-to-enc.h: New file.
63687         * modules/uniconv/u16-conv-to-enc-tests: New file.
63688         * tests/uniconv/test-u16-conv-to-enc.c: New file.
63689
63690         * modules/uniconv/u8-conv-to-enc: New file.
63691         * lib/uniconv/u8-conv-to-enc.c: New file.
63692         * modules/uniconv/u8-conv-to-enc-tests: New file.
63693         * tests/uniconv/test-u8-conv-to-enc.c: New file.
63694
63695         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
63696         u32_conv_to_encoding): New declarations.
63697
63698 2007-06-09  Bruno Haible  <bruno@clisp.org>
63699
63700         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
63701
63702 2007-06-09  Bruno Haible  <bruno@clisp.org>
63703
63704         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
63705         * modules/malloca: Renamed from modules/allocsa, updated.
63706         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
63707         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
63708         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
63709         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
63710         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
63711         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
63712         * modules/xmalloca: Renamed from modules/xallocsa, updated.
63713         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
63714         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
63715         * modules/c-strcasestr (Depends-on): Update.
63716         * lib/c-strcasestr.c: Update.
63717         * modules/c-strstr (Depends-on): Update.
63718         * lib/c-strstr.c: Update.
63719         * modules/canonicalize-lgpl (Depends-on): Update.
63720         * lib/canonicalize-lgpl.c: Update.
63721         * modules/clean-temp (Depends-on): Update.
63722         * lib/clean-temp.c: Update.
63723         * modules/csharpcomp (Depends-on): Update.
63724         * lib/csharpcomp.c: Update.
63725         * modules/csharpexec (Depends-on): Update.
63726         * lib/csharpexec.c: Update.
63727         * modules/javacomp (Depends-on): Update.
63728         * lib/javacomp.c: Update.
63729         * modules/javaexec (Depends-on): Update.
63730         * lib/javaexec.c: Update.
63731         * modules/mbscasestr (Depends-on): Update.
63732         * lib/mbscasestr.c: Update.
63733         * modules/mbsstr (Depends-on): Update.
63734         * lib/mbsstr.c: Update.
63735         * modules/setenv (Depends-on): Update.
63736         * lib/setenv.c: Update.
63737         * modules/strcasestr (Depends-on): Update.
63738         * lib/strcasestr.c: Update.
63739         * modules/striconveha (Depends-on): Update.
63740         * lib/striconveha.c: Update.
63741         * modules/relocatable-prog-wrapper (Files): Update.
63742         * lib/relocwrapper.c: Update.
63743         * build-aux/install-reloc: Update.
63744         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
63745
63746 2007-06-08  Bruno Haible  <bruno@clisp.org>
63747
63748         Port to uClibc.
63749         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
63750         * lib/fpurge.c (fpurge): Likewise.
63751         * lib/freading.c (freading): Likewise.
63752         * lib/fseeko.c (rpl_fseeko): Likewise.
63753         * lib/fseterr.c (fseterr): Likewise.
63754         * lib/fwriting.c (fwriting): Likewise.
63755         * tests/test-fflush.c (main): Avoid a failure on uClibc.
63756
63757 2007-06-08  Bruno Haible  <bruno@clisp.org>
63758
63759         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
63760         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
63761         * modules/gettext (Files): Add m4/intlmacosx.m4.
63762
63763 2007-06-07  Bruno Haible  <bruno@clisp.org>
63764
63765         * modules/localename-tests: New file.
63766         * tests/test-localename.c: New file.
63767
63768         New module 'localename'.
63769         * lib/localename.h: New file.
63770         * lib/localename.c: New file, from GNU gettext.
63771         * m4/localename.m4: New file.
63772         * modules/localename: New file.
63773
63774 2007-06-07  Bruno Haible  <bruno@clisp.org>
63775
63776         Work around the lack of <wchar.h> on some builds of uClibc.
63777         * doc/headers/wchar.texi: Update.
63778         * lib/wchar_.h: Include <wchar.h> only if it exists.
63779         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
63780         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
63781         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
63782         doesn't exist.
63783         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
63784         * modules/mbfile (Depends-on): Add wchar.
63785         * modules/mbiter (Depends-on): Likewise.
63786         * modules/mbuiter (Depends-on): Likewise.
63787         Reported by Simon Josefsson.
63788
63789 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
63790
63791         Work around problem reported by Steven M. Schweda in
63792         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
63793         Tru64 5.1B with the Compaq compiler environment installed declares
63794         an 'isblank' function but does not define it in the C library.
63795         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
63796         * lib/regex_internal.h (isblank): Likewise.
63797         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
63798         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
63799
63800 2007-06-05  Bruno Haible  <bruno@clisp.org>
63801
63802         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
63803         ia64.
63804         * modules/printf-safe: New file.
63805         * modules/fprintf-posix (Depends-on): Add printf-safe.
63806         * modules/printf-posix (Depends-on): Likewise.
63807         * modules/snprintf-posix (Depends-on): Likewise.
63808         * modules/sprintf-posix (Depends-on): Likewise.
63809         * modules/vasnprintf-posix (Depends-on): Likewise.
63810         * modules/vasprintf-posix (Depends-on): Likewise.
63811         * modules/vfprintf-posix (Depends-on): Likewise.
63812         * modules/vprintf-posix (Depends-on): Likewise.
63813         * modules/vsnprintf-posix (Depends-on): Likewise.
63814         * modules/vsprintf-posix (Depends-on): Likewise.
63815         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
63816         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
63817         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
63818         "no" on i386, x86_64, ia64.
63819         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
63820         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63821         on i386, x86_64, ia64.
63822         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
63823         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63824         on i386, x86_64, ia64.
63825         * tests/test-vasnprintf-posix.c: Include float.h.
63826         (LDBL80_WORDS): New macro.
63827         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63828         on i386, x86_64, ia64.
63829         * tests/test-vasprintf-posix.c: Include float.h.
63830         (LDBL80_WORDS): New macro.
63831         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63832         on i386, x86_64, ia64.
63833         * tests/test-snprintf-posix.c: Include float.h.
63834         * tests/test-sprintf-posix.c: Likewise.
63835         * tests/test-vsnprintf-posix.c: Likewise.
63836         * tests/test-vsprintf-posix.c: Likewise.
63837
63838 2007-06-05  Bruno Haible  <bruno@clisp.org>
63839
63840         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
63841         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
63842         non-IEEE numbers on i386, x86_64, ia64.
63843         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
63844         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
63845         * tests/test-isnanl.h: Include float.h.
63846         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
63847
63848 2007-06-05  Bruno Haible  <bruno@clisp.org>
63849
63850         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
63851         also the %a / %A. Handle the %a / %A code before this extra handling.
63852
63853 2007-06-05  Bruno Haible  <bruno@clisp.org>
63854
63855         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
63856         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
63857
63858 2007-06-05  Bruno Haible  <bruno@clisp.org>
63859
63860         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
63861         typo in variable name.
63862
63863 2007-06-05  Eric Blake  <ebb9@byu.net>
63864
63865         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
63866         Reported by Simon Josefsson.
63867
63868 2007-06-04  Bruno Haible  <bruno@clisp.org>
63869
63870         Avoid test failures on some PowerPC platforms.
63871         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
63872         Define differently for PowerPC.
63873         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
63874         Reported by Gary V. Vaughan <gary@gnu.org>.
63875
63876 2007-06-02  Bruno Haible  <bruno@clisp.org>
63877
63878         Fix test-stdint failure on FreeBSD/ia64.
63879         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
63880         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
63881         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
63882         * doc/headers/stdint.texi: Update.
63883
63884 2007-06-01  Bruno Haible  <bruno@clisp.org>
63885
63886         * tests/test-binary-io.c (main): Pass a third argument to open().
63887         Reported by Gary V. Vaughan <gary@gnu.org>.
63888
63889 2007-06-01  Bruno Haible  <bruno@clisp.org>
63890
63891         * doc/functions/frexpl.texi: Update for mingw.
63892
63893 2007-06-01  Bruno Haible  <bruno@clisp.org>
63894
63895         * tests/test-lseek.c (main): Disable test of errno for invalid third
63896         argument.
63897         * doc/functions/lseek.texi: Update.
63898         Reported by Gary V. Vaughan <gary@gnu.org>.
63899
63900 2007-05-28  Bruno Haible  <bruno@clisp.org>
63901
63902         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
63903
63904 2007-05-31  Eric Blake  <ebb9@byu.net>
63905
63906         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
63907         cross compiling.
63908
63909 2007-05-30  Eric Blake  <ebb9@byu.net>
63910         and Bruno Haible  <bruno@clisp.org>
63911
63912         Work around mingw test failures exposed by m4-1.4.9b.
63913         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
63914         * tests/test-unistd.c: Disable uid_t and git_t tests for the
63915         moment.
63916
63917 2007-05-30  Bruno Haible  <bruno@clisp.org>
63918
63919         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
63920         assuming that they are closed. Needed on HP-UX 11.
63921
63922 2007-05-29  Bruno Haible  <bruno@clisp.org>
63923
63924         Fix a problem with #include_next.
63925         * lib/dirent_.h: Split the double-inclusion guard.
63926         * lib/fcntl_.h: Likewise.
63927         * lib/float_.h: Likewise.
63928         * lib/iconv_.h: Likewise.
63929         * lib/inttypes_.h: Likewise.
63930         * lib/locale_.h: Likewise.
63931         * lib/math_.h: Likewise.
63932         * lib/netinet_in_.h: Likewise.
63933         * lib/search_.h: Likewise.
63934         * lib/signal_.h: Likewise.
63935         * lib/stdint_.h: Likewise.
63936         * lib/stdio_.h: Likewise.
63937         * lib/stdlib_.h: Likewise.
63938         * lib/string_.h: Likewise.
63939         * lib/sys_select_.h: Likewise.
63940         * lib/sys_socket_.h: Likewise.
63941         * lib/sys_stat_.h: Likewise.
63942         * lib/sys_time_.h: Likewise.
63943         * lib/sysexits_.h: Likewise.
63944         * lib/time_.h: Likewise.
63945         * lib/unistd_.h: Likewise.
63946         * lib/wchar_.h: Likewise.
63947         * lib/wctype_.h: Likewise.
63948
63949 2007-05-29  Bruno Haible  <bruno@clisp.org>
63950
63951         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
63952         for the moment.
63953
63954 2007-05-29  Bruno Haible  <bruno@clisp.org>
63955
63956         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
63957         invocation.
63958         Reported by Eric Blake.
63959
63960 2007-05-29  Bruno Haible  <bruno@clisp.org>
63961
63962         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
63963         compiling case.
63964
63965 2007-05-29  Eric Blake  <ebb9@byu.net>
63966             Bruno Haible  <bruno@clisp.org>
63967
63968         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
63969         cross compiles.
63970
63971 2007-05-28  Eric Blake  <ebb9@byu.net>
63972
63973         * modules/closein-tests (test_closein_LDADD): Support test on
63974         cygwin with libtool.
63975
63976 2007-05-28  Bruno Haible  <bruno@clisp.org>
63977
63978         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
63979         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
63980         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
63981         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
63982         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
63983         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
63984         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
63985         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
63986         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
63987
63988 2007-05-28  Eric Blake  <ebb9@byu.net>
63989
63990         Unconditionally include <config.h> in unit tests.
63991         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
63992         * tests/test-allocsa.c, tests/test-arcfour.c,
63993         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
63994         tests/test-array_list.c, tests/test-array_oset.c,
63995         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
63996         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
63997         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
63998         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
63999         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
64000         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
64001         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
64002         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
64003         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
64004         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
64005         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
64006         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
64007         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
64008         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
64009         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
64010         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
64011         test-md5.c, test-memmem.c, test-printf-posix.c,
64012         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
64013         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
64014         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
64015         test-strcasestr.c, test-striconv.c, test-striconveh.c,
64016         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
64017         test-vasnprintf-posix2.c, test-vasnprintf.c,
64018         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
64019         test-vfprintf-posix.c, test-vprintf-posix.c,
64020         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
64021         test-xvasprintf.c: Likewise.
64022
64023 2007-05-28  Bruno Haible  <bruno@clisp.org>
64024
64025         * gnulib-tool (func_import): Remember the --with-tests command-line
64026         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
64027         Reported by Eric Blake.
64028
64029 2007-05-28  Bruno Haible  <bruno@clisp.org>
64030
64031         * modules/ftell-tests: New file.
64032         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
64033         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
64034
64035         * lib/ftell.c: New file.
64036         * modules/ftell: New file.
64037         * m4/ftell.m4: New file.
64038         * doc/functions/ftell.texi: Update.
64039         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
64040         REPLACE_FTELL.
64041         * lib/stdio_.h (rpl_ftell): New declaration.
64042         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
64043         REPLACE_FTELL.
64044
64045 2007-05-28  Eric Blake  <ebb9@byu.net>
64046
64047         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
64048
64049 2007-05-28  Bruno Haible  <bruno@clisp.org>
64050
64051         * modules/fseek-tests: New file.
64052         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
64053         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
64054
64055         * lib/fseek.c: New file.
64056         * modules/fseek: New file.
64057         * m4/fseek.m4: New file.
64058         * doc/functions/fseek.texi: Update.
64059         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
64060         REPLACE_FSEEK.
64061         * lib/stdio_.h (rpl_fseek): New declaration.
64062         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
64063         REPLACE_FSEEK.
64064
64065 2007-05-28  Bruno Haible  <bruno@clisp.org>
64066
64067         * lib/stdio_.h (fflush): More comments.
64068
64069 2007-05-28  Bruno Haible  <bruno@clisp.org>
64070
64071         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
64072         runtime test.
64073
64074 2007-05-28  Eric Blake  <ebb9@byu.net>
64075
64076         Improve lseek module.
64077         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
64078         * lib/unistd_.h (lseek): Scale back link warning message.
64079         * tests/test-lseek.c: Beef up test.
64080         * tests/test-lseek.sh: Exercise more facets of lseek.
64081         Reported by Bruno Haible.
64082
64083 2007-05-28  Bruno Haible  <bruno@clisp.org>
64084
64085         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
64086         to define.
64087
64088 2007-05-27  Bruno Haible  <bruno@clisp.org>
64089
64090         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
64091
64092 2007-05-27  Bruno Haible  <bruno@clisp.org>
64093
64094         * modules/openmp: New file.
64095         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
64096         Noah Misch.
64097
64098 2007-05-26  Bruno Haible  <bruno@clisp.org>
64099
64100         * modules/chdir-long (Depends-on): Add fchdir.
64101         * modules/chdir-safer (Depends-on): Likewise.
64102         * modules/fts (Depends-on): Likewise.
64103         * modules/fts-lgpl (Depends-on): Likewise.
64104         * modules/openat (Depends-on): Likewise.
64105         * modules/savewd (Depends-on): Likewise.
64106
64107 2007-05-24  Eric Blake  <ebb9@byu.net>
64108
64109         Fix lseek on mingw.
64110         * modules/lseek: New module.
64111         * m4/lseek.m4: New file.
64112         * lib/lseek.c: New file.
64113         * modules/lseek-tests: New file.
64114         * tests/test-lseek.c: New file.
64115         * tests/test-lseek.sh: New file.
64116         * MODULES.html.sh: Document lseek module.
64117         * modules/fflush (Depends-on): Add lseek, fseeko.
64118         * modules/fseeko (Depends-on): Likewise.
64119         * modules/ftello (Depends-on): Likewise.
64120         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
64121         broken.
64122         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
64123         broken.
64124         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
64125         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
64126         * lib/ftello.c (rpl_ftello): Likewise.
64127         * tests/test-fseeko.c (main): Test this.
64128         * tests/test-fseeko.sh: Likewise.
64129         * tests/test-ftello.c (main): Likewise.
64130         * tests/test-ftello.sh: Likewise.
64131         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
64132         implies replacing fseek.
64133         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
64134         HAVE_FTELLO.
64135         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
64136         * modules/unistd (Makefile.am): Likewise.
64137         * lib/unistd_.h (lseek): Declare a replacement.
64138         * doc/functions/lseek.texi (lseek): Document this fix.
64139         * doc/functions/fseek.texi (fseek): Likewise.
64140         * doc/functions/ftell.texi (ftell): Likewise.
64141
64142 2007-05-24  Bruno Haible  <bruno@clisp.org>
64143
64144         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
64145         in the printed representation of a NaN.
64146         * tests/test-vasprintf-posix.c (test_function): Likewise.
64147         * tests/test-snprintf-posix.h (test_function): Likewise.
64148         * tests/test-sprintf-posix.h (test_function): Likewise.
64149         Reported by Eric Blake.
64150
64151 2007-05-23  Eric Blake  <ebb9@byu.net>
64152
64153         Fix fseeko/ftello on cygwin 1.5.24.
64154         * doc/functions/fseeko.texi (fseeko): Document the fix.
64155         * doc/functions/ftello.texi (ftello): Document the fix.
64156         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
64157         * doc/functions/stdout.text (stdout): New file.
64158         * doc/functions/stderr.text (stderr): New file.
64159         * doc/gnulib.texi (Function Substitutes): Use new files.
64160         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
64161         prior to 1.7.0.
64162         * tests/test-ftello.c (main): Likewise for ftello.
64163         * tests/test-fseeko.sh: New file.
64164         * tests/test-ftello.sh: New file.
64165         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
64166         with seekable stdin.
64167         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
64168         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
64169         (gl_REPLACE_FSEEKO): New macro.
64170         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
64171         * modules/fseeko (Files): Distribute fseeko.c.
64172         * modules/ftello (Files): Distribute ftello.c.
64173         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
64174         mode.
64175         * lib/ftello.c (rpl_ftello): New file.
64176         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
64177         fseeko, ftello.
64178         (gl_STDIN_LARGE_OFFSET): New macro.
64179         * modules/stdio (Makefile.am): Perform the replacement.
64180         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
64181
64182 2007-05-23  Bruno Haible  <bruno@clisp.org>
64183
64184         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
64185         GNULIB_POSIXCHECK is defined.
64186
64187 2007-05-21  Bruno Haible  <bruno@clisp.org>
64188
64189         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
64190         Check also the output for NaN arguments. When cross-compiling, guess
64191         no on IRIX.
64192         * lib/vasnprintf.c: Update comments.
64193         * tests/test-vasnprintf-posix.c (strisnan): New function.
64194         (test_function): Use it.
64195         * tests/test-vasprintf-posix.c (strisnan): New function.
64196         (test_function): Use it.
64197         * tests/test-snprintf-posix.h (strisnan): New function.
64198         (test_function): Use it.
64199         * tests/test-sprintf-posix.h (strisnan): New function.
64200         (test_function): Use it.
64201         Reported by Eric Blake.
64202
64203 2007-05-20  Bruno Haible  <bruno@clisp.org>
64204
64205         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
64206         numbers that fails on BeOS.
64207         * doc/functions/frexpl.texi: Update.
64208
64209 2007-05-20  Jim Meyering  <jim@meyering.net>
64210
64211         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
64212         forced upon us by glibc-2.6.
64213
64214 2007-05-20  Bruno Haible  <bruno@clisp.org>
64215
64216         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
64217         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
64218         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
64219         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
64220         NEED_PRINTF_INFINITE.
64221         (is_infinitel): New function.
64222         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
64223         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
64224         gl_PREREQ_VASNPRINTF_INFINITE.
64225         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
64226         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64227         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
64228         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
64229         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
64230         gl_PREREQ_VASNPRINTF_INFINITE.
64231         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64232         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64233         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64234         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64235         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64236         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64237         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64238         * doc/functions/fprintf.texi: Update.
64239         * doc/functions/printf.texi: Update.
64240         * doc/functions/snprintf.texi: Update.
64241         * doc/functions/sprintf.texi: Update.
64242         * doc/functions/vfprintf.texi: Update.
64243         * doc/functions/vprintf.texi: Update.
64244         * doc/functions/vsnprintf.texi: Update.
64245         * doc/functions/vsprintf.texi: Update.
64246
64247 2007-05-20  Bruno Haible  <bruno@clisp.org>
64248
64249         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
64250         was not found in libc.
64251         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
64252
64253 2007-05-20  Bruno Haible  <bruno@clisp.org>
64254
64255         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
64256         printed as "-nan" instead of "nan".
64257         * tests/test-vasprintf-posix.c (test_function): Likewise.
64258         * tests/test-snprintf-posix.h (test_function): Likewise.
64259         * tests/test-sprintf-posix.h (test_function): Likewise.
64260         Needed for HP-UX 11.
64261
64262 2007-05-20  Jim Meyering  <jim@meyering.net>
64263
64264         Fix buggy test for the fchownat-deref bug.
64265         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
64266         symlink required for the run-test.  Without it, this test would
64267         always declare that fchownat doesn't work, and client code would
64268         unnecessarily use the replacement function with fixed libc.
64269         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
64270         Reported by Greg Schafer.
64271
64272 2007-05-19  Bruno Haible  <bruno@clisp.org>
64273
64274         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
64275         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
64276         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
64277         Needed for IRIX 6.5 and Solaris 2.5.1.
64278
64279 2007-05-19  Bruno Haible  <bruno@clisp.org>
64280
64281         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
64282         (test_function): Skip tests involving -0.0 on platforms where
64283         -0.0 = 0.0.
64284         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
64285         (test_function): Skip tests involving -0.0 on platforms where
64286         -0.0 = 0.0.
64287         * tests/test-snprintf-posix.h (have_minus_zero): New function.
64288         (test_function): Skip tests involving -0.0 on platforms where
64289         -0.0 = 0.0.
64290         * tests/test-sprintf-posix.h (have_minus_zero): New function.
64291         (test_function): Skip tests involving -0.0 on platforms where
64292         -0.0 = 0.0.
64293         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
64294         tests.
64295         * tests/test-printf-posix.h (test_function): Likewise.
64296         * tests/test-printf-posix.output: Remove all -0.0 related results.
64297         Needed for IRIX 6.5.
64298
64299 2007-05-19  Bruno Haible  <bruno@clisp.org>
64300
64301         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
64302         printed as "nan0x7fffffff" instead of "nan".
64303         * tests/test-vasprintf-posix.c (test_function): Likewise.
64304         * tests/test-snprintf-posix.h (test_function): Likewise.
64305         * tests/test-sprintf-posix.h (test_function): Likewise.
64306         * tests/test-fprintf-posix.h (NaN): Remove macro.
64307         (test_function): Remove all NaN related tests.
64308         * tests/test-printf-posix.h (NaN): Remove macro.
64309         (test_function): Remove all NaN related tests.
64310         * tests/test-printf-posix.output: Remove all NaN related results.
64311         Needed for IRIX 6.5.
64312
64313 2007-05-19  Bruno Haible  <bruno@clisp.org>
64314
64315         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
64316         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
64317
64318 2007-05-19  Bruno Haible  <bruno@clisp.org>
64319
64320         * lib/float_.h: New file.
64321         * m4/float_h.m4: New file.
64322         * modules/float: New file.
64323         * modules/isnanl (Dependencies): Add float.
64324         * modules/isnanl-nolibm (Dependencies): Likewise.
64325         * modules/mathl (Dependencies): Likewise.
64326         * modules/printf-frexpl (Dependencies): Likewise.
64327         * modules/signbit (Dependencies): Likewise.
64328         * modules/vasnprintf (Dependencies): Likewise.
64329         * doc/headers/float.texi: Update.
64330
64331 2007-05-19  Jim Meyering  <jim@meyering.net>
64332
64333         * lib/utimens.c (gl_futimens): Rename from futimens,
64334         now that glibc-2.6 declares futimens.
64335         * lib/utimens.h: Likewise.
64336
64337 2007-05-19  Bruno Haible  <bruno@clisp.org>
64338
64339         Avoid test failures on mingw.
64340         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
64341         * tests/test-printf-posix.sh: Likewise.
64342         * tests/test-vfprintf-posix.sh: Likewise.
64343         * tests/test-vprintf-posix.sh: Likewise.
64344
64345 2007-05-19  Bruno Haible  <bruno@clisp.org>
64346
64347         Fix *printf result for NaN, Inf, -0.0 on mingw.
64348         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
64349         * lib/vasnprintf.c: Include math.h and isnan.h.
64350         (is_infinite_or_zero): New function.
64351         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
64352         values in the %f, %F, %e, %E, %g, %G directives.
64353         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
64354         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64355         gl_PRINTF_INFINITE and test its result. Invoke
64356         gl_PREREQ_VASNPRINTF_INFINITE.
64357         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64358         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64359         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64360         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64361         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64362         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64363         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64364         * doc/functions/fprintf.texi: Update.
64365         * doc/functions/printf.texi: Update.
64366         * doc/functions/snprintf.texi: Update.
64367         * doc/functions/sprintf.texi: Update.
64368         * doc/functions/vfprintf.texi: Update.
64369         * doc/functions/vprintf.texi: Update.
64370         * doc/functions/vsnprintf.texi: Update.
64371         * doc/functions/vsprintf.texi: Update.
64372
64373 2007-05-19  Bruno Haible  <bruno@clisp.org>
64374
64375         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
64376         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
64377         Instead of multiplying with 10^k, set extra_zeroes to k.
64378         (scale10_round_long_double): Remove function.
64379
64380 2007-05-18  Bruno Haible  <bruno@clisp.org>
64381
64382         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
64383         introduced on 2007-05-06.
64384
64385 2007-05-18  Bruno Haible  <bruno@clisp.org>
64386
64387         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
64388         %g directives.
64389         * tests/test-vasprintf-posix.c (test_function): Likewise.
64390         * tests/test-snprintf-posix.h (test_function): Likewise.
64391         * tests/test-sprintf-posix.h (test_function): Likewise.
64392
64393 2007-05-18  Bruno Haible  <bruno@clisp.org>
64394
64395         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
64396         (strmatch): New function.
64397         (test_function): Test the %f directive on numbers of various exponents.
64398         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
64399         (strmatch): New function.
64400         (test_function): Test the %f directive on numbers of various exponents.
64401         * tests/test-snprintf-posix.h (strmatch): New function.
64402         (test_function): Test the %f directive on numbers of various exponents.
64403         * tests/test-sprintf-posix.h (strmatch): New function.
64404         (test_function): Test the %f directive on numbers of various exponents.
64405         * tests/test-snprintf-posix.c (SIZEOF): New macro.
64406         * tests/test-sprintf-posix.c (SIZEOF): New macro.
64407         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
64408         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
64409
64410 2007-05-18  Bruno Haible  <bruno@clisp.org>
64411
64412         Add support for 'long double' number output.
64413         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
64414         * lib/vasnprintf.c: Include math.h and float+.h.
64415         (mp_limb_t): New type.
64416         (GMP_LIMB_BITS): New macro.
64417         (mp_twolimb_t): New type.
64418         (GMP_TWOLIMB_BITS): New macro.
64419         (mpn_t): New type.
64420         (multiply, divide, convert_to_decimal, decode_long_double,
64421         scale10_round_long_double, scale10_round_decimal_long_double,
64422         floorlog10l): New functions.
64423         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
64424         for the %f, %F, %e, %E, %g, %G directives.
64425         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
64426         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64427         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
64428         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
64429         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64430         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64431         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64432         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64433         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64434         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64435         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64436         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
64437         * modules/snprintf-posix (Depends-on): Likewise.
64438         * modules/sprintf-posix (Depends-on): Likewise.
64439         * modules/vasnprintf-posix (Depends-on): Likewise.
64440         * modules/vasprintf-posix (Depends-on): Likewise.
64441         * modules/vfprintf-posix (Depends-on): Likewise.
64442         * modules/vsnprintf-posix (Depends-on): Likewise.
64443         * modules/vsprintf-posix (Depends-on): Likewise.
64444         * modules/vasnprintf (Files): Add lib/float+.h.
64445         * doc/functions/fprintf.texi: Update.
64446         * doc/functions/printf.texi: Update.
64447         * doc/functions/snprintf.texi: Update.
64448         * doc/functions/sprintf.texi: Update.
64449         * doc/functions/vfprintf.texi: Update.
64450         * doc/functions/vprintf.texi: Update.
64451         * doc/functions/vsnprintf.texi: Update.
64452         * doc/functions/vsprintf.texi: Update.
64453
64454 2007-05-18  Bruno Haible  <bruno@clisp.org>
64455
64456         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
64457
64458 2007-05-18  Bruno Haible  <bruno@clisp.org>
64459
64460         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
64461         for printing 64-bit integers. Needed for mingw.
64462
64463 2007-05-18  Bruno Haible  <bruno@clisp.org>
64464
64465         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
64466         gl_FUNC_FREXPL_WORKS.
64467         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
64468
64469 2007-05-18  Bruno Haible  <bruno@clisp.org>
64470
64471         * modules/frexpl-nolibm-tests: New file.
64472
64473         * modules/frexpl-nolibm: New file.
64474         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
64475
64476 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
64477
64478         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
64479         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
64480         GCC 4.2, which otherwise issues a lot of warnings.
64481         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
64482         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
64483         Likewise.
64484         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
64485         * modules/iconv_open (iconv.h): Likewise.
64486         * modules/locale (locale.h): Likewise.
64487         * modules/netinet_in (netinet/in.h): Likewise.
64488         * modules/sys_select (sys_select.h): Likewise.
64489         * modules/sys_socket (sys/socket.h): Likewise.
64490         * modules/sys_stat (sys/stat.h): Likewise.
64491         * modules/sysexits (sysexits.h): Likewise.
64492         * modules/unistd (unistd.h): Likewise.
64493
64494 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64495
64496         * modules/closein-tests (Makefile.am): Distribute
64497         `test-closein.sh'.
64498
64499 2007-05-17  Bruno Haible  <bruno@clisp.org>
64500
64501         * tests/test-printf-posix.output: Renamed from
64502         tests/test-fprintf-posix.out.
64503         * modules/fprintf-posix-tests: Update.
64504         * modules/printf-posix-tests: Update.
64505         * modules/vfprintf-posix-tests: Update.
64506         * modules/vprintf-posix-tests: Update.
64507         * tests/test-fprintf-posix.sh: Update.
64508         * tests/test-printf-posix.sh: Update.
64509         * tests/test-vfprintf-posix.sh: Update.
64510         * tests/test-vprintf-posix.sh: Update.
64511         Reported by Ralf Wildenhues.
64512
64513 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
64514
64515         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
64516         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
64517         GCC 4.2, which otherwise issues a lot of warnings.
64518         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
64519         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
64520         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
64521         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
64522         it should no longer be needed.
64523         * lib/string_.h: Likewise.
64524         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
64525         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
64526         * modules/inttypes (inttypes.h): Likewise.
64527         * modules/math (math.h): Likewise.
64528         * modules/search (search.h): Likewise.
64529         * modules/signal (signal.h): Likewise.
64530         * modules/stdint (stdint.h): Likewise.
64531         * modules/stdio (stdio.h): Likewise.
64532         * modules/stdlib (stdlib.h): Likewise.
64533         * modules/string (string.h): Likewise.
64534         * modules/sys_time (sys/time.h): Likewise.
64535         * modules/time (time.h): Likewise.
64536         * modules/wchar (wchar.h): Likewise.
64537         * modules/wctype (wtype.h): Likewise.
64538
64539 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
64540
64541         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
64542
64543 2007-05-13  Bruno Haible  <bruno@clisp.org>
64544
64545         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
64546         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
64547         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
64548         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
64549         (gl_PREREQ_STRTOK_R): Don't require it here.
64550
64551 2007-05-13  Bruno Haible  <bruno@clisp.org>
64552
64553         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
64554         when used in C++ mode.
64555
64556 2007-05-12  Bruno Haible  <bruno@clisp.org>
64557
64558         * lib/linebuffer.h: Tweak doc.
64559         * lib/linebuffer.c: Likewise.
64560
64561 2007-05-12  James Youngman  <jay@gnu.org>
64562
64563         * lib/linebuffer.c (readlinebuffer_delim): New function,
64564         like readlinebuffer, but use a caller-specified delimiter.
64565         (readlinebuffer): Just call readlinebuffer_delim with '\n'
64566         as the delimiter.
64567         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
64568
64569 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
64570
64571         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
64572         * modules/openat (Files): Remove openat-die.c.
64573         (Depends-on): Add openat-die.
64574         * modules/openat-die: New module.
64575
64576 2007-05-06  Bruno Haible  <bruno@clisp.org>
64577
64578         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
64579         Update with info about Cygwin.
64580         * doc/functions/fprintf.texi: Update.
64581         * doc/functions/printf.texi: Update.
64582         * doc/functions/snprintf.texi: Update.
64583         * doc/functions/sprintf.texi: Update.
64584         * doc/functions/vfprintf.texi: Update.
64585         * doc/functions/vprintf.texi: Update.
64586         * doc/functions/vsnprintf.texi: Update.
64587         * doc/functions/vsprintf.texi: Update.
64588         Reported by Eric Blake.
64589
64590 2007-05-06  Bruno Haible  <bruno@clisp.org>
64591
64592         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
64593         padding ourselves for the floating-point directives.
64594         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
64595         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
64596         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64597         gl_PRINTF_FLAG_ZERO and test its result. Invoke
64598         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
64599         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64600         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
64601         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64602         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64603         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64604         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64605         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64606         * tests/test-snprintf-posix.h (test_function): Also check the width
64607         and some flags in the %f directive.
64608         * tests/test-sprintf-posix.h (test_function): Likewise.
64609         * tests/test-vasnprintf-posix.c (test_function): Likewise.
64610         * tests/test-vasprintf-posix.c (test_function): Likewise.
64611         * doc/functions/fprintf.texi: Update.
64612         * doc/functions/printf.texi: Update.
64613         * doc/functions/snprintf.texi: Update.
64614         * doc/functions/sprintf.texi: Update.
64615         * doc/functions/vfprintf.texi: Update.
64616         * doc/functions/vprintf.texi: Update.
64617         * doc/functions/vsnprintf.texi: Update.
64618         * doc/functions/vsprintf.texi: Update.
64619
64620 2007-05-06  Bruno Haible  <bruno@clisp.org>
64621
64622         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
64623         pass the ' flag character to sprintf or snprintf.
64624         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
64625         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
64626         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64627         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
64628         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
64629         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64630         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
64631         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64632         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64633         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64634         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64635         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64636         * tests/test-snprintf-posix.h (test_function): Also check the grouping
64637         flag.
64638         * tests/test-sprintf-posix.h (test_function): Likewise.
64639         * tests/test-vasnprintf-posix.c (test_function): Likewise.
64640         * tests/test-vasprintf-posix.c (test_function): Likewise.
64641         * doc/functions/fprintf.texi: Update.
64642         * doc/functions/printf.texi: Update.
64643         * doc/functions/snprintf.texi: Update.
64644         * doc/functions/sprintf.texi: Update.
64645         * doc/functions/vfprintf.texi: Update.
64646         * doc/functions/vprintf.texi: Update.
64647         * doc/functions/vsnprintf.texi: Update.
64648         * doc/functions/vsprintf.texi: Update.
64649
64650 2007-05-01  Bruno Haible  <bruno@clisp.org>
64651
64652         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
64653
64654 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
64655
64656         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
64657         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
64658
64659 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
64660
64661         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
64662         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
64663         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
64664
64665 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
64666
64667         * lib/argp-help.c (struct hol_entry): New member `ord'.
64668         (HOL_ENTRY_PTRCMP): Use ord for comparison
64669         (hol_sort): Initialize ord.
64670
64671 2007-05-01  Bruno Haible  <bruno@clisp.org>
64672
64673         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
64674         Reported by Eric Blake.
64675         * doc/gnulib.texi (Function Substitutes): Update.
64676
64677 2007-05-01  Bruno Haible  <bruno@clisp.org>
64678
64679         * doc/functions.texi: Remove file, now redundant through
64680         doc/functions/*.texi.
64681
64682 2007-05-01  Bruno Haible  <bruno@clisp.org>
64683
64684         * modules/argp (Depends-on): Add sleep.
64685
64686 2007-05-01  Bruno Haible  <bruno@clisp.org>
64687
64688         * modules/sleep-tests: New file.
64689         * tests/test-sleep.c: New file.
64690
64691         * modules/sleep: New file.
64692         * lib/sleep.c: New file.
64693         * m4/sleep.m4: New file.
64694         * lib/unistd_.h (sleep): New declaration.
64695         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
64696         HAVE_SLEEP.
64697         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
64698         * doc/functions/sleep.texi: Document the sleep module.
64699
64700 2007-05-01  Bruno Haible  <bruno@clisp.org>
64701
64702         * lib/sigprocmask.h: Remove file.
64703         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
64704         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
64705         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
64706         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
64707         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
64708         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
64709         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
64710         HAVE_SIGSET_T as a shell variable.
64711         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
64712         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
64713         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
64714         (Depends-on): Add signal. Remove verify.
64715         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
64716         (Include): Mention <signal.h> instead of sigprocmask.h.
64717         * NEWS: Mention the change.
64718         * lib/fatal-signal.c: Don't include sigprocmask.h.
64719
64720 2007-05-01  Bruno Haible  <bruno@clisp.org>
64721
64722         * modules/signal: New file.
64723         * lib/signal_.h: New file.
64724         * m4/signal_h.m4: New file.
64725
64726 2007-05-01  Bruno Haible  <bruno@clisp.org>
64727
64728         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
64729         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
64730         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
64731         HAVE_WCTYPE_CTMP_BUG into wctype.h.
64732
64733 2007-05-01  Bruno Haible  <bruno@clisp.org>
64734
64735         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
64736         configure time.
64737         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
64738         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
64739         * modules/sys_stat (Makefile.am): Substitute their values into
64740         sys/stat.h.
64741
64742 2007-05-01  Bruno Haible  <bruno@clisp.org>
64743
64744         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
64745         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
64746         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
64747
64748 2007-05-01  Bruno Haible  <bruno@clisp.org>
64749
64750         * doc/header/assert.texi: Undo last change: don't mention the gnulib
64751         'assert' module here.
64752
64753 2007-05-01  Bruno Haible  <bruno@clisp.org>
64754
64755         * doc/functions/*.texi: New files.
64756         * doc/functions/google-ranking.txt: New file.
64757         * doc/gnulib.texi (Function Substitutes): New chapter.
64758         (ctime, inet_ntoa): Remove sections.
64759         * doc/ctime.texi: Remove file.
64760         * doc/inet_ntoa.texi: Remove file.
64761         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
64762         dependencies.
64763         (%.info): New rule, specifying a --reference-limit.
64764
64765 2007-05-01  Bruno Haible  <bruno@clisp.org>
64766
64767         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
64768
64769 2007-05-01  Bruno Haible  <bruno@clisp.org>
64770
64771         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
64772         the portability of 'mkdir' to mingw systems.
64773
64774 2007-05-01  Bruno Haible  <bruno@clisp.org>
64775
64776         * doc/headers/google-ranking.txt: New file.
64777
64778 2007-04-30  Eric Blake  <ebb9@byu.net>
64779
64780         Prefer fseeko to fseek.
64781         * modules/getpass (Depends-on): Add fseeko.
64782         * lib/getpass.c (getpass): Use fseeko, not fseek.
64783
64784 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
64785
64786         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
64787         assumes the sorting is stable, while most qsort implementations
64788         are not.  Use argument addresses to ensure they never compare as
64789         equal.
64790
64791         * tests/test-argp-2.sh (usage-indent test): Fix output
64792         (func_compare): Restore diff options
64793         * tests/test-argp.c: Restore #include "progname.h"
64794
64795 2007-04-29  Bruno Haible  <bruno@clisp.org>
64796
64797         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
64798         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64799         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
64800         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64801         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
64802         (configure.ac): Define CHECK_SNPRINTF_POSIX.
64803         (TESTS, check_PROGRAMS): Add test-snprintf.
64804         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
64805         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
64806         (TESTS, check_PROGRAMS): Add test-vsnprintf.
64807         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
64808         assertions that fail on HP-UX, OSF/1, or IRIX.
64809         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
64810
64811 2007-04-29  Bruno Haible  <bruno@clisp.org>
64812
64813         * MODULES.html.sh (posix_functions): Remove 'contents'.
64814
64815 2007-04-29  Karl Berry  <karl@gnu.org>
64816
64817         * config/srclist.txt (gendocs_template_min): new entry.
64818
64819 2007-04-29  Bruno Haible  <bruno@clisp.org>
64820
64821         Work around fpurge bug on BSD systems.
64822         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
64823         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
64824         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
64825         fpurge to rpl_fpurge if the system already has this function.
64826         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
64827         the case where the system already has this function. Correct invariants
64828         on BSD systems.
64829         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
64830         BSD systems.
64831
64832 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
64833
64834         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
64835         proposed by Sven Verdoolaege.
64836
64837         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
64838         options.
64839         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
64840         (usage and help tests): Update
64841
64842 2007-04-29  Bruno Haible  <bruno@clisp.org>
64843
64844         * tests/test-fflush.c (main): Use a file of size 17, not 10.
64845         Print more information in case of failure. Disable a test on BeOS.
64846
64847 2007-04-29  Bruno Haible  <bruno@clisp.org>
64848
64849         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
64850         This helps debugging on systems on which no gdb is available.
64851
64852 2007-04-29  Bruno Haible  <bruno@clisp.org>
64853
64854         * lib/freading.h: Improve comments.
64855         * lib/fwriting.h: Likewise.
64856         * tests/test-freading.c (main): Don't check freading immediately after
64857         repositioning. Needed for glibc.
64858
64859 2007-04-29  Bruno Haible  <bruno@clisp.org>
64860
64861         * lib/freading.c (freading): Trivial simplification.
64862
64863 2007-04-28  Bruno Haible  <bruno@clisp.org>
64864
64865         * tests/test-fwriting.c (main): Also test the interaction between
64866         fflush and fwriting.
64867         * modules/fwriting-tests (Depends-on): Add fflush.
64868
64869         * tests/test-freading.c (main): Also test the interaction between
64870         fflush and freading.
64871         * modules/freading-tests (Depends-on): Add fflush.
64872
64873 2007-04-28  Bruno Haible  <bruno@clisp.org>
64874
64875         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
64876         fseeko and ftello.
64877         Suggested by Eric Blake.
64878
64879 2007-04-28  Jim Meyering  <jim@meyering.net>
64880
64881         Avoid false-negative in gl_STDINT_H's C99 conformance test.
64882         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
64883         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
64884
64885 2007-04-27  Eric Blake  <ebb9@byu.net>
64886
64887         * doc/headers/assert.texi (assert.h): Document assert module use.
64888
64889 2007-04-27  Bruno Haible  <bruno@clisp.org>
64890
64891         * doc/headers/*.texi: New files.
64892         * doc/gnulib.texi (Header File Substitutes): New chapter.
64893         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
64894         dependencies.
64895         (standards.info ,standards.html, standards.dvi): Update dependencies.
64896         (mostlyclean, clean): New targets.
64897
64898 2007-04-27  Bruno Haible  <bruno@clisp.org>
64899
64900         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
64901         * modules/sysexits (Files, Makefile.am): Update.
64902
64903         * lib/sys_socket_.h: Renamed from lib/socket_.h.
64904         * modules/sys_socket (Files, Makefile.am): Update.
64905
64906         * lib/sys_stat_.h: Renamed from lib/stat_.h.
64907         * modules/sys_stat (Files, Makefile.am): Update.
64908
64909 2007-04-27  Eric Blake  <ebb9@byu.net>
64910
64911         * lib/freading.h: Improve comments.
64912         * lib/fwriting.h: Likewise.
64913         * lib/fflush.c: Likewise.
64914
64915         Fix closein for mingw.
64916         * modules/closein-tests: Add tests for closein.
64917         * tests/test-closein.c: New file.
64918         * tests/test-closein.sh: Likewise.
64919         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
64920         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
64921
64922 2007-04-27  Bruno Haible  <bruno@clisp.org>
64923
64924         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
64925         version is < 6.
64926         * lib/math_.h [__DECC]: Likewise.
64927         * lib/stdio_.h [__DECC]: Likewise.
64928         * lib/stdlib_.h [__DECC]: Likewise.
64929         * lib/string_.h [__DECC]: Likewise.
64930         * lib/time_.h [__DECC]: Likewise.
64931         * lib/wchar_.h [__DECC]: Likewise.
64932         * lib/wctype_.h [__DECC]: Likewise.
64933
64934 2007-04-27  Bruno Haible  <bruno@clisp.org>
64935
64936         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
64937
64938 2007-04-27  Bruno Haible  <bruno@clisp.org>
64939
64940         * lib/fflush.c: Add comments.
64941         * modules/fpurge-tests (Depends-on): Add fflush.
64942         * modules/freadable-tests (Depends-on): Likewise.
64943         * modules/fwritable-tests (Depends-on): Likewise.
64944
64945 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
64946
64947         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
64948         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
64949         Report by Bruno Haible <bruno@clisp.org>.
64950
64951 2007-04-26  Eric Blake  <ebb9@byu.net>
64952
64953         Fix fflush on mingw.
64954         * modules/fflush (Depends-on): Add freading.
64955         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
64956         but unread data.
64957
64958 2007-04-26  Eric Blake  <ebb9@byu.net>
64959         and Bruno Haible  <bruno@clisp.org>
64960
64961         Implement freading and fwriting.
64962         * lib/freading.c: New file.
64963         * lib/freading.h: Likewise.
64964         * m4/freading.m4: Likewise.
64965         * modules/freading: Likewise.
64966         * modules/freading-tests: Likewise.
64967         * tests/test-freading.c: Likewise.
64968         * lib/fwriting.c: New file.
64969         * lib/fwriting.h: Likewise.
64970         * m4/fwriting.m4: Likewise.
64971         * modules/fwriting: Likewise.
64972         * modules/fwriting-tests: Likewise.
64973         * tests/test-fwriting.c: Likewise.
64974         * MODULES.html.sh (File stream based Input/Output): Mention them.
64975
64976 2007-04-26  Bruno Haible  <bruno@clisp.org>
64977
64978         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
64979         'long' when we assume it.
64980         Suggested by Eric Blake.
64981
64982 2007-04-26  Bruno Haible  <bruno@clisp.org>
64983
64984         Ensure fseeko, ftello are declared on glibc systems.
64985         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
64986         * modules/fseeko (configure.ac-early): Likewise.
64987         * modules/ftello (configure.ac-early): Likewise.
64988         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
64989         AC_FUNC_FSEEKO for this.
64990         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
64991         (gl_CHECK_FSEEKO): Remove macro.
64992
64993 2007-04-26  Bruno Haible  <bruno@clisp.org>
64994
64995         * tests/test-fflush.c (main): Also check the ftell result after
64996         fflush and fseek/fseeko.
64997         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
64998         file descriptor position cache in the stream.
64999         * lib/fseeko.c (rpl_fseeko): Likewise.
65000
65001 2007-04-26  Bruno Haible  <bruno@clisp.org>
65002
65003         * modules/fflush-tests (Depends-on): Add fseeko.
65004
65005 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
65006             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65007
65008         * lib/argz_.h: ensure error_t definition is obtained in same
65009         mechanism system argz.h would have.
65010         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
65011         argz facilities are known bad.  Err on the side of caution if
65012         cross-compiling.
65013
65014 2007-04-25  Eric Blake  <ebb9@byu.net>
65015
65016         * lib/fpurge.c (includes): Use stdlib.h for free.
65017         * tests/test-fflush.c (main): Also test fflush-fseeko.
65018
65019 2007-04-25  Bruno Haible  <bruno@clisp.org>
65020
65021         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
65022         * lib/fseeko.c: New file.
65023         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
65024         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
65025         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
65026         gl_FUNC_FSEEKO.
65027         (gl_FUNC_FSEEKO): Invoke it.
65028         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
65029         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
65030         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
65031
65032 2007-04-25  Bruno Haible  <bruno@clisp.org>
65033
65034         * modules/fflush (Depends-on): Add ftello.
65035
65036 2007-04-25  Bruno Haible  <bruno@clisp.org>
65037
65038         * modules/ftello-tests: New file.
65039         * tests/test-ftello.c: New file.
65040
65041         * modules/ftello: New file.
65042         * m4/ftello.m4: New file.
65043         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
65044         HAVE_FTELLO.
65045         * lib/stdio_.h (ftello): New declaration.
65046         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
65047         HAVE_FTELLO.
65048
65049 2007-04-25  Bruno Haible  <bruno@clisp.org>
65050
65051         * modules/fseeko-tests: New file.
65052         * tests/test-fseeko.c: New file.
65053
65054         * modules/fseeko: New file.
65055         * m4/fseeko.m4: New file.
65056         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
65057         HAVE_FSEEKO.
65058         * lib/stdio_.h (fseeko): New declaration.
65059         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
65060         HAVE_FSEEKO.
65061
65062 2007-04-25  Bruno Haible  <bruno@clisp.org>
65063
65064         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
65065
65066 2007-04-25  Bruno Haible  <bruno@clisp.org>
65067
65068         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
65069         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
65070         * tests/test-unistd.c: Likewise.
65071         * tests/test-fcntl.c: Likewise.
65072
65073 2007-04-23  Eric Blake  <ebb9@byu.net>
65074
65075         * lib/fflush.c: Fix missing include.
65076         Reported by Bruno Haible.
65077
65078 2007-04-23  Bruno Haible  <bruno@clisp.org>
65079
65080         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
65081         Reported by Eric Blake.
65082
65083 2007-04-23  Bruno Haible  <bruno@clisp.org>
65084
65085         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
65086
65087 2007-04-23  Bruno Haible  <bruno@clisp.org>
65088
65089         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
65090
65091 2007-04-23  Bruno Haible  <bruno@clisp.org>
65092
65093         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
65094         Needed on HP-UX 11.
65095
65096 2007-04-16  Eric Blake  <ebb9@byu.net>
65097
65098         Make fflush rely on fpurge.
65099         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
65100         open coding all variants.
65101         * modules/fflush (Depends-on): Add fpurge and unistd.
65102         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
65103         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
65104
65105         Fix --with-tests compilation on cygwin.
65106         * modules/argmatch-tests (Makefile.am): List gnulib library first
65107         in LDADD.
65108         * modules/argp-tests (Makefile.am): Likewise.
65109         * modules/array-list-tests (Makefile.am): Likewise.
65110         * modules/array-oset-tests (Makefile.am): Likewise.
65111         * modules/avltree-list-tests (Makefile.am): Likewise.
65112         * modules/avltree-oset-tests (Makefile.am): Likewise.
65113         * modules/avltreehash-list-tests (Makefile.am): Likewise.
65114         * modules/carray-list-tests (Makefile.am): Likewise.
65115         * modules/dirname-tests (Makefile.am): Likewise.
65116         * modules/frexp-tests (Makefile.am): Likewise.
65117         * modules/isnanl-tests (Makefile.am): Likewise.
65118         * modules/linked-list-tests (Makefile.am): Likewise.
65119         * modules/linkedhash-list-tests (Makefile.am): Likewise.
65120         * modules/lock-tests (Makefile.am): Likewise.
65121         * modules/rbtree-list-tests (Makefile.am): Likewise.
65122         * modules/rbtree-oset-tests (Makefile.am): Likewise.
65123         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
65124         * modules/tls-tests (Makefile.am): Likewise.
65125         * modules/tsearch-tests (Makefile.am): Likewise.
65126         * modules/xvasprintf-tests (Makefile.am): Likewise.
65127
65128         Fix fpurge for cygwin.
65129         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
65130         value.
65131         * modules/fpurge-tests (Depends-on): Clean up trash.
65132
65133 2007-04-16  Simon Josefsson  <simon@josefsson.org>
65134
65135         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
65136
65137         * m4/autobuild.m4: Re-indent.
65138
65139 2007-04-13  Bruno Haible  <bruno@clisp.org>
65140
65141         * modules/fpurge-tests: New file.
65142         * tests/test-fpurge.c: New file.
65143
65144         * modules/fpurge: New file.
65145         * lib/fpurge.h: New file.
65146         * lib/fpurge.c: New file.
65147         * m4/fpurge.m4: New file.
65148
65149 2007-04-13  Bruno Haible  <bruno@clisp.org>
65150
65151         * modules/fbufmode-tests: New file.
65152         * tests/test-fbufmode.c: New file.
65153
65154         * modules/fbufmode: New file.
65155         * lib/fbufmode.h: New file.
65156         * lib/fbufmode.c: New file.
65157         * m4/fbufmode.m4: New file.
65158
65159 2007-04-13  Bruno Haible  <bruno@clisp.org>
65160
65161         * modules/fwritable-tests: New file.
65162         * tests/test-fwritable.c: New file.
65163
65164         * modules/fwritable: New file.
65165         * lib/fwritable.h: New file.
65166         * lib/fwritable.c: New file.
65167         * m4/fwritable.m4: New file.
65168
65169 2007-04-13  Bruno Haible  <bruno@clisp.org>
65170
65171         * modules/freadable-tests: New file.
65172         * tests/test-freadable.c: New file.
65173
65174         * modules/freadable: New file.
65175         * lib/freadable.h: New file.
65176         * lib/freadable.c: New file.
65177         * m4/freadable.m4: New file.
65178
65179 2007-04-13  Bruno Haible  <bruno@clisp.org>
65180
65181         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
65182         MOSTLYCLEANFILES.
65183
65184 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
65185
65186         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
65187         gzip bootstrap.conf to avoid dragging in i18n machinery.
65188         (gnulib_tool_option): Use it.
65189
65190 2007-04-13  Bruno Haible  <bruno@clisp.org>
65191
65192         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
65193         %F directives.
65194         * tests/test-vasprintf-posix.c (test_function): Likewise.
65195         * tests/test-snprintf-posix.h (test_function): Likewise.
65196         * tests/test-sprintf-posix.h (test_function): Likewise.
65197         * tests/test-fprintf-posix.h (test_function): Likewise.
65198         * tests/test-printf-posix.h (test_function): Likewise.
65199         * tests/test-fprintf-posix.out: Likewise.
65200
65201 2007-04-13  Bruno Haible  <bruno@clisp.org>
65202
65203         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
65204         * modules/tls-tests (configure.ac): Likewise.
65205         Reported by Arto C. Nirkko <anirkko@insel.ch>.
65206
65207 2007-04-13  Bruno Haible  <bruno@clisp.org>
65208
65209         * lib/tls.c (glthread_tls_get): Fix return type.
65210         Patch by Arto C. Nirkko <anirkko@insel.ch>.
65211
65212 2007-04-12  Eric Blake  <ebb9@byu.net>
65213
65214         * modules/gettime (Depends-on): Remove gettime.
65215         Reported by Dmitry V. Levin.
65216
65217 2007-04-12  Bruno Haible  <bruno@clisp.org>
65218
65219         * modules/fflush (Include): Mention <stdio.h>.
65220         * modules/strtoimax (Include): Mention <inttypes.h>.
65221         * modules/strtoumax (Include): Likewise.
65222
65223 2007-04-12  Eric Blake  <ebb9@byu.net>
65224
65225         * .cvsignore: New file.
65226         * .gitignore: Likewise.
65227
65228 2007-04-12  Bruno Haible  <bruno@clisp.org>
65229
65230         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
65231         not before, since $(LDADD) often contains libgnu.a.
65232         * modules/striconv-tests (test_striconv_LDADD): Likewise.
65233         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
65234         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
65235         Needed on Cygwin.
65236
65237 2007-04-12  Eric Blake  <ebb9@byu.net>
65238
65239         Work around glibc's failure to flush stdin on fclose.
65240         * lib/closein.c (close_stdin): Flush stdin before closing.
65241
65242         Work around glibc's failure to reset seekable stdin on exit.
65243         * modules/closein: New module.
65244         * lib/closein.c: New file.
65245         * lib/closein.h: Likewise.
65246         * m4/closein.m4: Likewise.
65247         * MODULES.html.sh (File stream based Input/Output): Document it.
65248
65249 2007-04-12  Simon Josefsson  <simon@josefsson.org>
65250
65251         * gnulib-tool: Rename generated 'autobuild' script to
65252         'do-autobuild' in --create-megatestdir output.
65253
65254         * doc/gnulib.texi (Build robot for gnulib): Fix.
65255
65256 2007-04-12  Simon Josefsson  <simon@josefsson.org>
65257
65258         * modules/sysexits (Depends-on): Add absolute-header.
65259
65260 2007-04-12  Eric Blake  <ebb9@byu.net>
65261
65262         No need to preserve errno on success.
65263         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
65264         Reported by Bruno Haible.
65265
65266 2007-04-12  Simon Josefsson  <simon@josefsson.org>
65267
65268         * MODULES.html.sh (Support for maintaining and releasing
65269         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
65270
65271 2007-04-12  Simon Josefsson  <simon@josefsson.org>
65272
65273         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
65274
65275 2007-04-12  Simon Josefsson  <simon@josefsson.org>
65276
65277         * modules/autobuild: New module.
65278
65279         * m4/autobuild.m4: New file.
65280
65281 2007-04-11  Bruno Haible  <bruno@clisp.org>
65282
65283         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
65284         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
65285         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
65286         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
65287         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65288         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
65289         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
65290         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
65291         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
65292         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
65293         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
65294         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
65295         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
65296         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
65297         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
65298         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
65299         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
65300         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
65301         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
65302         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
65303         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
65304         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
65305         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
65306         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
65307         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
65308         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
65309         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
65310         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
65311         Reported by Eric Blake.
65312
65313 2007-04-11  Bruno Haible  <bruno@clisp.org>
65314
65315         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
65316
65317 2007-04-10  Bruno Haible  <bruno@clisp.org>
65318
65319         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
65320         for NaN and Infinity. Needed on FreeBSD 6.1.
65321         * tests/test-vasnprintf-posix.c (test_function): Undo last change
65322         regarding results for "%010a" of Infinity and NaN.
65323         * tests/test-vasprintf-posix.c (test_function): Likewise.
65324         * tests/test-snprintf-posix.h (test_function): Likewise.
65325         * tests/test-sprintf-posix.h (test_function): Likewise.
65326         * tests/test-fprintf-posix.h (test_function): Likewise.
65327         * tests/test-printf-posix.h (test_function): Likewise.
65328         * tests/test-fprintf-posix.out: Likewise.
65329
65330 2007-04-10  Bruno Haible  <bruno@clisp.org>
65331
65332         * modules/locale-tests: New file.
65333         * tests/test-locale.c: New file.
65334
65335         * modules/locale: New file.
65336         * lib/locale_.h: New file.
65337         * m4/locale_h.m4: New file.
65338
65339 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
65340             Bruno Haible  <bruno@clisp.org>
65341
65342         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
65343         be determined, test for availability of the copysignf, copysign,
65344         copysignl functions.
65345         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
65346         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
65347         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
65348
65349 2007-04-09  Eric Blake  <ebb9@byu.net>
65350
65351         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
65352         * modules/stdio (Makefile.am): Support fflush.
65353         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
65354         * modules/fflush: New file.
65355         * lib/fflush.c: Likewise.
65356         * m4/fflush.m4: Likewise.
65357         * modules/fflush-tests: New test.
65358         * tests/test-fflush.c: Likewise.
65359         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
65360
65361 2007-04-06  Bruno Haible  <bruno@clisp.org>
65362
65363         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
65364         (VASNPRINTF): Use signbit for faster determination whether to print a
65365         minus sign.
65366         * modules/vasnprintf (Files): Remove lib/float+.h.
65367         * modules/fprintf-posix (Depends-on): Add signbit.
65368         * modules/snprintf-posix (Depends-on): Likewise.
65369         * modules/sprintf-posix (Depends-on): Likewise.
65370         * modules/vasnprintf-posix (Depends-on): Likewise.
65371         * modules/vasprintf-posix (Depends-on): Likewise.
65372         * modules/vfprintf-posix (Depends-on): Likewise.
65373         * modules/vsnprintf-posix (Depends-on): Likewise.
65374         * modules/vsprintf-posix (Depends-on): Likewise.
65375
65376 2007-04-06  Bruno Haible  <bruno@clisp.org>
65377
65378         * tests/test-frexp.c (main): Test also the sign bit of zero results.
65379         * tests/test-frexpl.c (main): Likewise.
65380         * tests/test-ldexpl.c (main): Likewise.
65381         * modules/frexp-tests (Depends-on): Add signbit.
65382         * modules/frexpl-tests (Depdends-on): Likewise.
65383         * modules/ldexpl-tests (Depdends-on): Likewise.
65384
65385 2007-04-06  Bruno Haible  <bruno@clisp.org>
65386
65387         * modules/signbit-tests: New file.
65388         * tests/test-signbit.c: New file.
65389
65390         * modules/signbit: New file.
65391         * lib/signbitf.c: New file.
65392         * lib/signbitd.c: New file.
65393         * lib/signbitl.c: New file.
65394         * m4/signbit.m4: New file.
65395         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
65396         (signbit): New macro.
65397         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
65398         REPLACE_SIGNBIT.
65399         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
65400         REPLACE_FREXPL into math.h.
65401
65402 2007-04-06  Bruno Haible  <bruno@clisp.org>
65403
65404         * modules/isnanf-nolibm-tests: New file.
65405         * tests/test-isnanf.c: New file.
65406
65407         * modules/isnanf-nolibm: New file.
65408         * lib/isnanf.h: New file.
65409         * lib/isnanf.c: New file.
65410         * lib/isnan.c: Consider the USE_FLOAT macro.
65411         * m4/isnanf.m4: New file.
65412
65413 2007-04-06  Bruno Haible  <bruno@clisp.org>
65414
65415         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
65416         (Link): New section.
65417
65418         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
65419
65420 2007-04-06  Bruno Haible  <bruno@clisp.org>
65421
65422         Assume the 'long double' type.
65423         * m4/longdouble.m4: Remove file.
65424         * config/srclist.txt: Don't mention longdouble.m4.
65425         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
65426         * lib/float+.h: Likewise.
65427         * lib/frexp.c: Likewise.
65428         * lib/printf-args.h: Likewise.
65429         * lib/printf-args.c: Likewise.
65430         * lib/printf-frexp.c: Likewise.
65431         * lib/printf-parse.c: Likewise.
65432         * lib/vasnprintf.c: Likewise.
65433         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
65434         * m4/intl.m4: Likewise.
65435         * m4/isnanl.m4: Likewise.
65436         * m4/printf.m4: Likewise.
65437         * m4/printf-frexpl.m4: Likewise.
65438         * m4/vasnprintf.m4: Likewise.
65439         * modules/allocsa (Files): Remove m4/longdouble.m4.
65440         * modules/gettext (Files): Likewise.
65441         * modules/relocatable-prog-wrapper (Files): Likewise.
65442         * modules/vasnprintf (Files): Likewise.
65443         * modules/isnanl (Files): Likewise.
65444         (Include): Simplify.
65445         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
65446         (Include): Simplify.
65447         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
65448         (Include): Simplify.
65449         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
65450         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
65451         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
65452         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
65453         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
65454         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
65455         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
65456         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
65457         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
65458         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
65459         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
65460         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
65461         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
65462         * tests/test-isnanl.c: Likewise.
65463         * tests/test-snprintf-posix.h: Likewise.
65464         * tests/test-sprintf-posix.h: Likewise.
65465         * tests/test-vasnprintf-posix.c: Likewise.
65466         * tests/test-vasnprintf-posix2.c: Likewise.
65467         * tests/test-vasprintf-posix.c: Likewise.
65468
65469 2007-04-06  Bruno Haible  <bruno@clisp.org>
65470
65471         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
65472         * lib/math_.h [__DECC]: Include the overridden include file through
65473         #include_next, outside the double-inclusion guard.
65474         * lib/stdio_.h [__DECC]: Likewise.
65475         * lib/stdlib_.h [__DECC]: Likewise.
65476         * lib/string_.h [__DECC]: Likewise.
65477         * lib/time_.h [__DECC]: Likewise.
65478         * lib/wchar_.h [__DECC]: Likewise.
65479         * lib/wctype_.h [__DECC]: Likewise.
65480         * lib/inttypes_.h [__DECC]: Likewise.
65481         Reported by Albert Chin <china@thewrittenword.com> in
65482         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
65483
65484 2007-04-04  Eric Blake  <ebb9@byu.net>
65485
65486         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
65487         1.5.x.
65488
65489 2007-04-04  Bruno Haible  <bruno@clisp.org>
65490
65491         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
65492         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
65493
65494 2007-04-04  Bruno Haible  <bruno@clisp.org>
65495
65496         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
65497         results for "%010a" of Infinity and NaN.
65498         * tests/test-vasprintf-posix.c (test_function): Likewise.
65499         * tests/test-snprintf-posix.h (test_function): Likewise.
65500         * tests/test-sprintf-posix.h (test_function): Likewise.
65501         * tests/test-fprintf-posix.h (test_function): Remove these tests.
65502         * tests/test-printf-posix.h (test_function): Likewise.
65503         * tests/test-fprintf-posix.out: Update.
65504         Needed for FreeBSD 6.1.
65505
65506 2007-04-04  Bruno Haible  <bruno@clisp.org>
65507
65508         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
65509         directly used by the gnulib modules nor by gnulib-tool.
65510
65511 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
65512
65513         * DEPENDENCIES: Give overall description of version dependency
65514         desirability.  Use more-typical names for apps.
65515         Add shell, coreutils, diffutils, grep, tar, gzip.
65516
65517 2007-04-04  Simon Josefsson  <simon@josefsson.org>
65518
65519         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
65520
65521 2007-04-04  Karl Berry  <karl@gnu.org>
65522
65523         * MODULES.html.sh (func_module): missing '.
65524
65525 2007-04-03  Bruno Haible  <bruno@clisp.org>
65526
65527         * modules/argmatch-tests (Makefile.am): New variable
65528         test_argmatch_LDADD.
65529         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
65530         * modules/array-list-tests (Makefile.am): New variable
65531         test_array_list_LDADD.
65532         * modules/array-oset-tests (Makefile.am): New variable
65533         test_array_oset_LDADD.
65534         * modules/avltree-list-tests (Makefile.am): New variable
65535         test_avltree_list_LDADD.
65536         * modules/avltree-oset-tests (Makefile.am): New variable
65537         test_avltree_oset_LDADD.
65538         * modules/avltreehash-list-tests (Makefile.am): New variable
65539         test_avltreehash_list_LDADD.
65540         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
65541         test_canonicalize_lgpl_LDADD.
65542         * modules/carray-list-tests (Makefile.am): New variable
65543         test_carray_list_LDADD.
65544         * modules/dirname-tests (Makefile.am): New variable
65545         test_dirname_LDADD.
65546         * modules/linked-list-tests (Makefile.am): New variable
65547         test_linked_list_LDADD.
65548         * modules/linkedhash-list-tests (Makefile.am): New variable
65549         test_linkedhash_list_LDADD.
65550         * modules/rbtree-list-tests (Makefile.am): New variable
65551         test_rbtree_list_LDADD.
65552         * modules/rbtree-oset-tests (Makefile.am): New variable
65553         test_rbtree_oset_LDADD.
65554         * modules/rbtreehash-list-tests (Makefile.am): New variable
65555         test_rbtreehash_list_LDADD.
65556         * modules/xvasprintf-tests (Makefile.am): New variable
65557         test_xvasprintf_LDADD.
65558         Reported by Eric Blake.
65559
65560 2007-04-03  Eric Blake  <ebb9@byu.net>
65561
65562         * DEPENDENCIES: Weaken m4 requirements.
65563
65564 2007-04-03  Bruno Haible  <bruno@clisp.org>
65565
65566         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
65567         * modules/isnanl-tests (configure.ac): Likewise.
65568
65569 2007-04-03  Ben Pfaff  <blp@gnu.org>
65570
65571         * modules/iconv_open: Add $(srcdir)/ to source directory
65572         references in Makefile fragments that call gperf, to fix VPATH
65573         builds.
65574
65575 2007-04-03  Bruno Haible  <bruno@clisp.org>
65576
65577         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
65578         * lib/ldexpl.c: Undo last change.
65579
65580 2007-04-03  Bruno Haible  <bruno@clisp.org>
65581
65582         * modules/printf-frexpl (Depends-on): Undo last change.
65583         (Files): Add m4/ldexpl.m4.
65584
65585 2007-04-03  Bruno Haible  <bruno@clisp.org>
65586
65587         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
65588         * modules/isnanl (Link): New section.
65589
65590         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
65591         * modules/frexp (Link): New section.
65592
65593         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
65594         * modules/frexpl (Link): New section.
65595
65596         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
65597         * modules/ldexpl (Link): New section.
65598
65599 2007-04-03  Bruno Haible  <bruno@clisp.org>
65600
65601         * modules/TEMPLATE-EXTENDED: New file.
65602         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
65603
65604 2007-04-03  Bruno Haible  <bruno@clisp.org>
65605
65606         * DEPENDENCIES: New file.
65607         Suggested by Simon Josefsson.
65608
65609 2007-04-03  Bruno Haible  <bruno@clisp.org>
65610
65611         * doc/gnulib.texi: Escape @.
65612
65613 2007-04-03  James Youngman  <jay@gnu.org>
65614         and Paul Eggert  <eggert@cs.ucla.edu>
65615
65616         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
65617         birthtime on all systems that have birthtime, not just those which
65618         use st_birthtimensec rather than st_birthtim.  Putting zero in
65619         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
65620         that the birth time is not available for files on an NFS mount.
65621
65622 2007-04-03  Simon Josefsson  <simon@josefsson.org>
65623
65624         * modules/memxor: Move back from crypto/, suggested by Bruno.
65625         * modules/crypto/hmac-sha1: Fix memxor dependency.
65626
65627         * modules/crypto/gc: Moved from ../.
65628
65629 2007-04-02  Eric Blake  <ebb9@byu.net>
65630
65631         * lib/ldexpl.c (includes): Avoid libm.
65632
65633         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
65634
65635 2007-04-02  Bruno Haible  <bruno@clisp.org>
65636
65637         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
65638         on IRIX.
65639
65640 2007-04-02  Bruno Haible  <bruno@clisp.org>
65641
65642         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
65643         x86 or x86_64 platforms running MacOS X.
65644         Reported by Ryan Schmidt <@ryandesign.com>.
65645
65646 2007-04-02  Bruno Haible  <bruno@clisp.org>
65647
65648         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
65649         i386.
65650
65651 2007-04-01  Simon Josefsson  <simon@josefsson.org>
65652
65653         * modules/crypto/arcfour: Moved from ../.
65654         * modules/crypto/arcfour-tests: Moved from ../.
65655         * modules/crypto/arctwo: Moved from ../.
65656         * modules/crypto/arctwo-tests: Moved from ../.
65657         * modules/crypto/des: Moved from ../.
65658         * modules/crypto/des-tests: Moved from ../.
65659         * modules/crypto/gc-arcfour: Moved from ../.
65660         * modules/crypto/gc-arcfour-tests: Moved from ../.
65661         * modules/crypto/gc-arctwo: Moved from ../.
65662         * modules/crypto/gc-arctwo-tests: Moved from ../.
65663         * modules/crypto/gc-des: Moved from ../.
65664         * modules/crypto/gc-des-tests: Moved from ../.
65665         * modules/crypto/gc-hmac-md5: Moved from ../.
65666         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
65667         * modules/crypto/gc-hmac-sha1: Moved from ../.
65668         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
65669         * modules/crypto/gc-md2: Moved from ../.
65670         * modules/crypto/gc-md2-tests: Moved from ../.
65671         * modules/crypto/gc-md4: Moved from ../.
65672         * modules/crypto/gc-md4-tests: Moved from ../.
65673         * modules/crypto/gc-md5: Moved from ../.
65674         * modules/crypto/gc-md5-tests: Moved from ../.
65675         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
65676         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
65677         * modules/crypto/gc-random: Moved from ../.
65678         * modules/crypto/gc-rijndael: Moved from ../.
65679         * modules/crypto/gc-rijndael-tests: Moved from ../.
65680         * modules/crypto/gc-sha1: Moved from ../.
65681         * modules/crypto/gc-sha1-tests: Moved from ../.
65682         * modules/crypto/gc-tests: Moved from ../.
65683         * modules/crypto/hmac-md5: Moved from ../.
65684         * modules/crypto/hmac-md5-tests: Moved from ../.
65685         * modules/crypto/hmac-sha1: Moved from ../.
65686         * modules/crypto/hmac-sha1-tests: Moved from ../.
65687         * modules/crypto/md2: Moved from ../.
65688         * modules/crypto/md2-tests: Moved from ../.
65689         * modules/crypto/md4: Moved from ../.
65690         * modules/crypto/md4-tests: Moved from ../.
65691         * modules/crypto/md5: Moved from ../.
65692         * modules/crypto/md5-tests: Moved from ../.
65693         * modules/crypto/memxor: Moved from ../.
65694         * modules/crypto/rijndael: Moved from ../.
65695         * modules/crypto/rijndael-tests: Moved from ../.
65696         * modules/crypto/sha1: Moved from ../.
65697
65698 2007-03-30  James Youngman  <jay@gnu.org>
65699
65700         * tests/test-stat-time.c (prepare_test): use chmod() rather than
65701         rename() to change the ctime of a file (because ctime is unaffected
65702         by rename on jfs2 on AIX 5.1).
65703         (main): Start by doing cleanup, in case a previous run failed leaving
65704         test files behind.
65705
65706 2007-03-31  Bruno Haible  <bruno@clisp.org>
65707
65708         Support old proprietary implementations of iconv.
65709         * modules/iconv_open: New file.
65710         * lib/iconv_.h: New file.
65711         * m4/iconv_h.m4: New file.
65712         * lib/iconv_open.c: New file.
65713         * lib/iconv_open-aix.gperf: New file.
65714         * lib/iconv_open-hpux.gperf: New file.
65715         * lib/iconv_open-irix.gperf: New file.
65716         * lib/iconv_open-osf.gperf: New file.
65717         * m4/iconv_open.m4: New file.
65718         * modules/linebreak (Depends-on): Add iconv_open.
65719         * modules/striconv (Depends-on): Likewise.
65720         * modules/striconveh (Depends-on): Likewise.
65721         * modules/unicodeio (Depends-on): Likewise.
65722         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
65723         (iconv_t)(-1).
65724         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
65725         conversion if cd is (iconv_t)(-1).
65726         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
65727         is not possible.
65728
65729 2007-03-31  Bruno Haible  <bruno@clisp.org>
65730
65731         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
65732         work on Solaris either. Protect also second use of "autodetect_jp".
65733
65734 2007-03-31  Bruno Haible  <bruno@clisp.org>
65735
65736         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
65737         the function is not present.
65738
65739 2007-03-31  Bruno Haible  <bruno@clisp.org>
65740
65741         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
65742         the function is not present.
65743
65744 2007-03-31  Bruno Haible  <bruno@clisp.org>
65745
65746         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
65747         a bug in HP-UX iconv_open().
65748
65749 2007-03-31  Bruno Haible  <bruno@clisp.org>
65750
65751         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
65752         (Mathematics <math.h>): New section, add fpieee.
65753         (Input/output <stdio.h>): Add fseterr.
65754         (Mathematics <math.h>): New section, add printf-frexp.
65755         (Container data structures): Add sublist.
65756         (Core language properties): Add fpucw, inline.
65757         (Functions for greatest-width integer types <inttypes.h>): Add
65758         imaxabs, imaxdiv, inttypes.
65759         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
65760         isnanl-nolibm, ldexp.
65761         (Mathematics <math.h>): New section, add printf-frexpl.
65762         (Support for systems lacking POSIX:2001): Add fprintf-posix,
65763         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
65764         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
65765         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
65766         (Unicode string functions): Add unistr/u*-mbtoucr.
65767         (Java): Add javacomp-script, javaexec-script.
65768         (C#): Add csharpcomp-script, csharpexec-script.
65769         (Support for building libraries and executables): Add havelib,
65770         relocatable-*.
65771         (Support for maintaining and releasing projects): Renamed from
65772         'Support for maintaining and release projects'. Add announce-gen.
65773
65774 2007-03-31  Bruno Haible  <bruno@clisp.org>
65775
65776         * README: Talk primarily about git.
65777         (git and CVS): Renamed from CVS.
65778         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
65779         gnulib is available through git.
65780         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
65781
65782 2007-03-30  Bruno Haible  <bruno@clisp.org>
65783
65784         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
65785         * lib/poll_.h: Likewise.
65786         * lib/stat_.h: Likewise.
65787         * lib/sys_time_.h: Likewise.
65788         * lib/sysexit_.h: Likewise.
65789         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
65790         * lib/stdbool_.h: Likewise.
65791         * lib/byteswap_.h: Add double-inclusion guard.
65792
65793 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
65794
65795         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
65796
65797 2007-03-30  Karl Berry  <karl@gnu.org>
65798
65799         * config/srclist-update: double space after USA in the license
65800         substitution, since that's how it's usually (?) written.
65801
65802 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
65803
65804         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
65805         reported by Bruno Haible.
65806
65807 2007-03-29  Bruno Haible  <bruno@clisp.org>
65808
65809         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
65810         a bug in AIX iconv().
65811
65812 2007-03-29  Bruno Haible  <bruno@clisp.org>
65813
65814         * modules/ldexpl-tests: New file.
65815         * tests/test-ldexpl.c: New file.
65816
65817 2007-03-29  Bruno Haible  <bruno@clisp.org>
65818
65819         * lib/ldexpl.c: Include fpucw.h.
65820         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
65821         multiplication.
65822         * modules/ldexpl (Depends-on): Add fpucw.
65823
65824 2007-03-29  Bruno Haible  <bruno@clisp.org>
65825
65826         * modules/ldexpl: New file.
65827         * m4/ldexpl.m4: New file.
65828         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
65829         set.
65830         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
65831         REPLACE_LDEXPL.
65832         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
65833         REPLACE_LDEXPL.
65834         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
65835         gl_FUNC_LDEXPL_WORKS.
65836         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
65837         * modules/mathl (Files): Remove lib/ldexpl.c.
65838         (Depends-on): Add ldexpl.
65839
65840 2007-03-29  Bruno Haible  <bruno@clisp.org>
65841
65842         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
65843
65844 2007-03-29  Bruno Haible  <bruno@clisp.org>
65845
65846         * tests/test-striconveh.c (main): Don't assume that a direct conversion
65847         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
65848         and possibly also HP-UX.
65849         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
65850         work on AIX, IRIX, HP-UX, OSF/1.
65851         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
65852         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
65853         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
65854         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
65855         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
65856         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
65857
65858 2007-03-29  Bruno Haible  <bruno@clisp.org>
65859
65860         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
65861
65862 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
65863
65864         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
65865         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
65866
65867 2007-03-29  Eric Blake  <ebb9@byu.net>
65868
65869         * lib/acl-internal.h: Remove redundant include.
65870         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
65871         Cygwin when a file is locked.
65872
65873 2007-03-29  Bruno Haible  <bruno@clisp.org>
65874
65875         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
65876         file.
65877         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
65878
65879 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
65880
65881         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
65882         try to remove a parent directory if the child couldn't be removed
65883         (except for the first rmdir, which could fail because the child
65884         doesn't exist).  Problem reported by Jeff Blaine in
65885         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
65886
65887 2007-03-28  Bruno Haible  <bruno@clisp.org>
65888
65889         * lib/striconveh.c (utf8conv_carefully): New function.
65890         (mem_cd_iconveh_internal): Invoke it.
65891
65892 2007-03-28  Bruno Haible  <bruno@clisp.org>
65893
65894         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
65895         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
65896         input.
65897         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
65898         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
65899         unistr/u8-uctomb.
65900
65901 2007-03-28  Bruno Haible  <bruno@clisp.org>
65902
65903         * modules/unistr/u8-mbtoucr: New file.
65904         * lib/unistr/u8-mbtoucr.c: New file.
65905         * modules/unistr/u16-mbtoucr: New file.
65906         * lib/unistr/u16-mbtoucr.c: New file.
65907         * modules/unistr/u16-mbtoucr: New file.
65908         * lib/unistr/u16-mbtoucr.c: New file.
65909         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
65910
65911 2007-03-27  Simon Josefsson  <simon@josefsson.org>
65912             Bruno Haible  <bruno@clisp.org>
65913
65914         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
65915         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
65916         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
65917
65918         * m4/stdio_h.m4: Add stubs for vasprintf too.
65919
65920         * modules/stdio: Support vasprintf in sed command.
65921
65922         * modules/vasprintf: Depend on stdio for prototypes.  Remove
65923         vasprintf.h.  Add stdio module indicator.
65924
65925         * lib/stdio_.h: Declare asprintf and vasprintf, based on
65926         vasprintf.h.
65927
65928         * lib/vasprintf.h: File removed.
65929
65930         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
65931         * lib/vasprintf.c: Ditto.
65932         * lib/xvasprintf.c: Ditto.
65933         * tests/test-vasprintf-posix.c: Ditto.
65934         * tests/test-vasprintf.c: Ditto.
65935
65936 2007-03-27  Bruno Haible  <bruno@clisp.org>
65937
65938         Make vasnprintf multithread-safe.
65939         * lib/vasnprintf.c (decimal_point_char): New function.
65940         (VASNPRINTF): Use it.
65941         Suggested by Simon Josefsson.
65942
65943 2007-03-27  Eric Blake  <ebb9@byu.net>
65944
65945         Support sub-second birthtime on cygwin.
65946         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
65947         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
65948         (get_stat_birthtime): Also work with st_birthtim.
65949
65950 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
65951
65952         * lib/stat-time.h (USE_BIRTHTIME): Remove.
65953         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
65954         (get_stat_birthtime_ns): Do not try to use "spare" fields.
65955         (get_stat_birthtime_ns): Simplify compile-time tests.
65956         (get_stat_birthtime): Change the API to look like
65957         get_stat_mtime etc., except return a negative tv_nsec on error.
65958         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
65959         Don't check for "spare" fields.
65960         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
65961         or for struct stat.st_birthtime, as these tests aren't used.
65962         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
65963
65964 2007-03-27  Bruno Haible  <bruno@clisp.org>
65965
65966         * lib/stat-time.h: Include <sys/stat.h>.
65967
65968 2007-03-27  James Youngman  <jay@gnu.org>
65969
65970         * lib/stat-time.h (get_stat_birthtime): New function for
65971           retrieving st_birthtime as provided by UFS2 (hence *BSD).
65972         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
65973           and its variants.
65974         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
65975         * modules/stat-time-test: New file.
65976         * tests/test-stat-time.c: New test, devised by Bruno Haible.
65977
65978 2007-03-26  Bruno Haible  <bruno@clisp.org>
65979
65980         Better support of signalling NaNs.
65981         * lib/atanl.c: Include isnanl.h.
65982         (atanl): Perform test for NaN at the beginning of the function and
65983         through a call to isnanl.
65984         * lib/cosl.c: Include isnanl.h.
65985         (cosl): Perform test for NaN at the beginning of the function and
65986         through a call to isnanl.
65987         * lib/ldexpl.c: Include isnanl.h.
65988         (ldexpl): Perform test for NaN through a call to isnanl.
65989         * lib/logl.c: Include isnanl.h.
65990         (logl): Perform test for NaN at the beginning of the function and
65991         through a call to isnanl.
65992         * lib/sinl.c: Include isnanl.h.
65993         (sinl): Perform test for NaN at the beginning of the function and
65994         through a call to isnanl.
65995         * lib/sqrtl.c: Include isnanl.h.
65996         (sqrtl): Perform test for NaN at the beginning of the function and
65997         through a call to isnanl.
65998         * lib/tanl.c: Include isnanl.h.
65999         (tanl): Perform test for NaN at the beginning of the function and
66000         through a call to isnanl.
66001         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
66002         * modules/mathl (Depends-on): Add isnanl.
66003
66004 2007-03-26  Eric Blake  <ebb9@byu.net>
66005
66006         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
66007         regression in logic sense of previous patch.
66008
66009 2007-03-26  Bruno Haible  <bruno@clisp.org>
66010
66011         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
66012         unportable shell command "if ! ...".
66013         Reported by Ralf Wildenhues.
66014
66015 2007-03-25  Bruno Haible  <bruno@clisp.org>
66016
66017         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
66018         <sysexits.h> file, and only add EX_CONFIG.
66019         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
66020         absolute file name and whether it is sufficient. Substitute also
66021         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
66022         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
66023         ABSOLUTE_SYSEXITS_H into sysexits.h.
66024
66025 2007-03-25  Bruno Haible  <bruno@clisp.org>
66026
66027         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
66028         hints is NULL.
66029
66030 2007-03-25  Bruno Haible  <bruno@clisp.org>
66031
66032         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
66033         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
66034
66035 2007-03-25  Bruno Haible  <bruno@clisp.org>
66036
66037         * lib/vasnprintf.c: Include langinfo.h.
66038         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
66039         multithread-safe.
66040         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
66041         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
66042         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66043         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66044         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66045         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66046         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66047         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
66048         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66049         Reported by Simon Josefsson.
66050
66051 2007-03-25  Bruno Haible  <bruno@clisp.org>
66052
66053         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
66054         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
66055         * modules/vasnprintf (Depends-on): Add stdint.
66056
66057 2007-03-25  Bruno Haible  <bruno@clisp.org>
66058
66059         * modules/fpieee: New file.
66060         * m4/fpieee.m4: New file.
66061         * modules/isnan-nolibm (Depends-on): Add fpieee.
66062         * modules/isnanl-nolibm (Depends-on): Add fpieee.
66063         * modules/isnanl (Depends-on): Add fpieee.
66064
66065 2007-03-25  Bruno Haible  <bruno@clisp.org>
66066
66067         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
66068
66069 2007-03-25  Bruno Haible  <bruno@clisp.org>
66070
66071         Avoid test failures on IRIX 6.5.
66072         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
66073         (main): Use it.
66074         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
66075         macros.
66076         (main): Use them.
66077
66078 2007-03-25  Bruno Haible  <bruno@clisp.org>
66079
66080         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
66081         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
66082         exists but doesn't work.
66083         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
66084         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
66085         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
66086         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
66087         math.h.
66088
66089 2007-03-25  Bruno Haible  <bruno@clisp.org>
66090
66091         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
66092         returns inf. Needed on IRIX 6.5.
66093
66094 2007-03-25  Bruno Haible  <bruno@clisp.org>
66095
66096         * tests/test-frexpl.c: Include isnanl-nolibm.h.
66097         (main): Use isnanl instead of x != x idiom.
66098         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
66099
66100         * tests/test-frexp.c: Include isnan.h.
66101         (main): Use isnan instead of x != x idiom.
66102         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
66103
66104 2007-03-25  Bruno Haible  <bruno@clisp.org>
66105
66106         * tests/test-frexp.c (NaN): New function/macro.
66107         (main): Use it instead of 0.0 / 0.0.
66108         * tests/test-isnan.c (NaN): New function/macro.
66109         (main): Use it instead of 0.0 / 0.0.
66110         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
66111         (test_function): Use it instead of 0.0 / 0.0.
66112         * tests/test-vasprintf-posix.c (NaN): New function/macro.
66113         (test_function): Use it instead of 0.0 / 0.0.
66114         * tests/test-snprintf-posix.h (NaN): New function/macro.
66115         (test_function): Use it instead of 0.0 / 0.0.
66116         * tests/test-sprintf-posix.h (NaN): New function/macro.
66117         (test_function): Use it instead of 0.0 / 0.0.
66118         * tests/test-fprintf-posix.h (NaN): New function/macro.
66119         (test_function): Use it instead of 0.0 / 0.0.
66120         * tests/test-printf-posix.h (NaN): New function/macro.
66121         (test_function): Use it instead of 0.0 / 0.0.
66122
66123         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
66124
66125 2007-03-25  Bruno Haible  <bruno@clisp.org>
66126
66127         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
66128
66129 2007-03-25  Bruno Haible  <bruno@clisp.org>
66130
66131         * lib/regexec.c (merge_state_with_log): Make static.
66132
66133 2007-03-25  Bruno Haible  <bruno@clisp.org>
66134
66135         * lib/trigl.c (kernel_rem_pio2): Make static.
66136
66137 2007-03-25  Bruno Haible  <bruno@clisp.org>
66138
66139         * lib/sincosl.c (sincosl_table): Make static.
66140
66141 2007-03-25  Bruno Haible  <bruno@clisp.org>
66142
66143         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
66144         if the compiler does not support C99.
66145
66146 2007-03-25  Bruno Haible  <bruno@clisp.org>
66147
66148         * modules/time (Makefile.am): Ensure all rule action lines start with a
66149         tab.
66150
66151 2007-03-24  Bruno Haible  <bruno@clisp.org>
66152
66153         * modules/tsearch-tests: New file.
66154         * tests/test-tsearch.sh: New file.
66155         * tests/test-tsearch.c: New file, mostly copied from glibc.
66156
66157         * modules/search-tests: New file.
66158         * tests/test-search.c: New file.
66159
66160         * modules/search: New file.
66161         * lib/search_.h: New file, incorporating lib/tsearch.h.
66162         * m4/search_h.m4: New file.
66163         * lib/tsearch.h: Remove file.
66164         * lib/tsearch.c: Include search.h instead of tsearch.h.
66165         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
66166         HAVE_TSEARCH.
66167         * modules/tsearch (Files): Remove lib/tsearch.h.
66168         (Depends-on): Add search.
66169         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
66170         (Include): Change tsearch.h into search.h.
66171
66172 2007-03-24  Bruno Haible  <bruno@clisp.org>
66173
66174         * modules/fpucw: New file.
66175         * lib/fpucw.h: New file.
66176         * lib/frexp.c: Include fpucw.h.
66177         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
66178         (FUNC): Use them.
66179         * lib/printf-frexp.c: Include fpucw.h.
66180         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
66181         (FUNC): Use them.
66182         * lib/vasnprintf.c: Include fpucw.h.
66183         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
66184         'long double' calculations.
66185         * tests/test-frexpl.c: Include fpucw.h.
66186         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
66187         * tests/test-printf-frexpl.c: Include fpucw.h.
66188         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
66189         * modules/frexpl (Depends-on): Add fpucw.
66190         * modules/printf-frexpl (Depends-on): Likewise.
66191         * modules/fprintf-posix (Depends-on): Likewise.
66192         * modules/snprintf-posix (Depends-on): Likewise.
66193         * modules/sprintf-posix (Depends-on): Likewise.
66194         * modules/vasnprintf-posix (Depends-on): Likewise.
66195         * modules/vasprintf-posix (Depends-on): Likewise.
66196         * modules/vfprintf-posix (Depends-on): Likewise.
66197         * modules/vsnprintf-posix (Depends-on): Likewise.
66198         * modules/vsprintf-posix (Depends-on): Likewise.
66199         * modules/frexpl-tests (Depends-on): Likewise.
66200         * modules/printf-frexpl-tests (Depends-on): Likewise.
66201
66202 2007-03-24  Bruno Haible  <bruno@clisp.org>
66203
66204         * lib/float+.h: New file.
66205         * lib/isnan.c: Include float+.h.
66206         (SIZE): New macro.
66207         (FUNC): Compare only SIZE bytes of the value.
66208         * lib/vasnprintf.c: Include float+.h.
66209         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
66210         SIZEOF_LDBL or SIZEOF_DBL bytes.
66211         * modules/isnan-nolibm (Files): Add lib/float+.h.
66212         * modules/isnanl-nolibm (Files): Add lib/float+.h.
66213         * modules/isnanl (Files): Add lib/float+.h.
66214         * modules/vasnprintf (Files): Add lib/float+.h.
66215
66216 2007-03-24  Bruno Haible  <bruno@clisp.org>
66217
66218         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
66219         include isnanl-nolibm.h.
66220
66221 2007-03-24  Bruno Haible  <bruno@clisp.org>
66222
66223         * tests/test-read-file.c (main): Don't produce spurious output for
66224         expected situations. Make the test fail if it encountered unexpected
66225         results.
66226
66227 2007-03-24  Bruno Haible  <bruno@clisp.org>
66228
66229         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
66230         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
66231
66232 2007-03-24  Bruno Haible  <bruno@clisp.org>
66233
66234         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
66235
66236 2007-03-24  Bruno Haible  <bruno@clisp.org>
66237
66238         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
66239         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
66240
66241         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
66242         * modules/utf8-ucs4: Turn into a symbolic link to module
66243         unistr/u8-mbtouc.
66244
66245         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
66246         utf8-ucs4-unsafe.
66247         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
66248         unistr/u8-mbtouc-unsafe.
66249
66250         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
66251         * modules/utf16-ucs4: Turn into a symbolic link to module
66252         unistr/u16-mbtouc.
66253
66254         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
66255         utf16-ucs4-unsafe.
66256         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
66257         unistr/u16-mbtouc-unsafe.
66258
66259         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
66260         * modules/ucs4-utf8: Turn into a symbolic link to module
66261         unistr/u8-ubtomb.
66262
66263         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
66264         * modules/ucs4-utf16: Turn into a symbolic link to module
66265         unistr/u16-ubtomb.
66266
66267 2007-03-24  Bruno Haible  <bruno@clisp.org>
66268
66269         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
66270         Enable the function only if HAVE_INLINE.
66271         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
66272         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
66273         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
66274         Enable the function only if HAVE_INLINE.
66275         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
66276         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
66277         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
66278         Enable the function only if HAVE_INLINE.
66279         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
66280         Enable the function only if HAVE_INLINE.
66281         * modules/utf8-ucs4: Update.
66282         * modules/utf8-ucs4-unsafe: Update.
66283         * modules/utf16-ucs4: Update.
66284         * modules/utf16-ucs4-unsafe: Update.
66285         * modules/ucs4-utf8: Update.
66286         * modules/ucs4-utf16: Update.
66287
66288 2007-03-24  Bruno Haible  <bruno@clisp.org>
66289
66290         * lib/utf8-ucs4.h: Remove file.
66291         * lib/utf8-ucs4-unsafe.h: Remove file.
66292         * lib/utf16-ucs4.h: Remove file.
66293         * lib/utf16-ucs4-unsafe.h: Remove file.
66294         * lib/ucs4-utf8.h: Remove file.
66295         * lib/ucs4-utf16.h: Remove file.
66296         * lib/unistr.h: Include their previous contents.
66297         * m4/utf-ucs4.m4: Remove file.
66298         * m4/ucs4-utf.m4: Remove file.
66299         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
66300         (Depends-on): Add unistr/base.
66301         (configure.ac): Remove gl_UTF_UCS4.
66302         (Makefile.am): Update.
66303         (Include): Change to unistr.h.
66304         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
66305         (Depends-on): Add unistr/base.
66306         (configure.ac): Remove gl_UTF_UCS4.
66307         (Makefile.am): Update.
66308         (Include): Change to unistr.h.
66309         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
66310         (Depends-on): Add unistr/base.
66311         (configure.ac): Remove gl_UTF_UCS4.
66312         (Makefile.am): Update.
66313         (Include): Change to unistr.h.
66314         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
66315         (Depends-on): Add unistr/base.
66316         (configure.ac): Remove gl_UTF_UCS4.
66317         (Makefile.am): Update.
66318         (Include): Change to unistr.h.
66319         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
66320         (Depends-on): Add unistr/base.
66321         (configure.ac): Remove gl_UCS4_UTF.
66322         (Makefile.am): Update.
66323         (Include): Change to unistr.h.
66324         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
66325         (Depends-on): Add unistr/base.
66326         (configure.ac): Remove gl_UCS4_UTF.
66327         (Makefile.am): Update.
66328         (Include): Change to unistr.h.
66329         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
66330         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
66331         utf8-ucs4-unsafe.h.
66332         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
66333         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
66334         utf16-ucs4-unsafe.h.
66335         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
66336         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
66337         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
66338         * lib/unistr/u8-strchr.c: Likewise.
66339         * lib/unistr/u8-strrchr.c: Likewise.
66340         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
66341         * lib/unistr/u16-strchr.c: Likewise.
66342         * lib/unistr/u16-strrchr.c: Likewise.
66343         * lib/striconveh.c: Update.
66344         * lib/linebreak.c: Update.
66345
66346 2007-03-24  Bruno Haible  <bruno@clisp.org>
66347
66348         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
66349         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
66350
66351 2007-03-22  Bruno Haible  <bruno@clisp.org>
66352
66353         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
66354
66355 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
66356
66357         * MODULES.html.sh (File system functions): New module write-any-file.
66358         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
66359         * m4/write-any-file.m4: New files.
66360
66361 2007-03-23  Eric Blake  <ebb9@byu.net>
66362
66363         * gnulib-tool: Rearrange space-tab sequences, since some editors
66364         like to eat them.
66365
66366 2007-03-23  Eric Blake  <ebb9@byu.net>
66367
66368         * lib/version-etc.c (version_etc_va): Update license wording to
66369         be more concise.  Recommended by Richard Stallman.
66370
66371 2007-03-22  Bruno Haible  <bruno@clisp.org>
66372
66373         * lib/poll.c (MSG_PEEK): New fallback definition.
66374
66375 2007-03-22  Bruno Haible  <bruno@clisp.org>
66376
66377         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
66378         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
66379         (main): Update.
66380         Fixes a compilation error on BeOS.
66381
66382 2007-03-22  Bruno Haible  <bruno@clisp.org>
66383
66384         * modules/frexpl-tests: New file.
66385         * tests/test-frexpl.c: New file.
66386
66387         * modules/frexpl: New file.
66388         * m4/frexpl.m4: New file.
66389         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
66390         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
66391         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
66392         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
66393         (Depends-on): Add frexpl. Remove isnanl-nolibm.
66394         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
66395
66396 2007-03-22  Bruno Haible  <bruno@clisp.org>
66397
66398         * lib/frexpl.c: Share code with lib/frexp.c.
66399         * modules/mathl (Files): Add lib/frexp.c.
66400         (Depends-on): Add isnanl-nolibm.
66401
66402 2007-03-22  Bruno Haible  <bruno@clisp.org>
66403
66404         * modules/printf-frexp (Files): Add m4/frexp.m4.
66405         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
66406         only if the found frexp function actually works.
66407
66408 2007-03-22  Bruno Haible  <bruno@clisp.org>
66409
66410         * lib/frexp.c: Remove older implementation that uses divisions.
66411
66412 2007-03-21  Bruno Haible  <bruno@clisp.org>
66413
66414         * modules/frexp-tests: New file.
66415         * tests/test-frexp.c: New file.
66416
66417         * modules/frexp: New file.
66418         * lib/frexp.c: New file.
66419         * m4/frexp.m4: New file.
66420         * lib/math_.h (frexp): New declaration.
66421         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
66422         REPLACE_FREXP.
66423         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
66424
66425 2007-03-21  Bruno Haible  <bruno@clisp.org>
66426
66427         * modules/isnanl-tests: New file.
66428         * tests/test-isnanl.c: New file.
66429
66430         * modules/isnanl: New file.
66431         * lib/isnanl.h: New file.
66432         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
66433         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
66434         gl_FUNC_ISNANL_WORKS.
66435         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
66436         New macros.
66437
66438 2007-03-21  Bruno Haible  <bruno@clisp.org>
66439
66440         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
66441         lib/isnanl.h.
66442         (Include): Update.
66443         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
66444         * lib/vasnprintf.c: Update.
66445         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
66446         tests/test-isnanl.h, remove tests/test-isnanl.c.
66447         (Makefile.am): Update.
66448         * tests/test-isnanl-nolibm.c: New file.
66449         * tests/test-isnanl.h: New file.
66450         * tests/test-isnanl.c: Remove file.
66451
66452 2007-03-21  Jim Meyering  <jim@meyering.net>
66453
66454         When trying to open ".", treat ESTALE like EACCES.
66455         * lib/savewd.c (savewd_save): Resort to forking not just upon
66456         failure with EACCES, but also when errno is ESTALE.
66457
66458 2007-03-20  Bruno Haible  <bruno@clisp.org>
66459
66460         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
66461         Needed on AIX 5.1. Reported by Matthew Woehlke.
66462
66463 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
66464
66465         Suggestions by Bruno Haible:
66466         * lib/acl-internal.h: Include "gettext.h" rather than rolling
66467         our own.
66468         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
66469         * modules/acl (Depends-on): Add gettext.
66470
66471 2007-03-19  Bruno Haible  <bruno@clisp.org>
66472
66473         * modules/iconvme: Remove file.
66474         * lib/iconvme.h: Remove file.
66475         * lib/iconvme.c: Remove file.
66476         * m4/iconvme.m4: Remove file.
66477
66478 2007-03-19  Bruno Haible  <bruno@clisp.org>
66479
66480         * doc/relocatable-maint.texi: Break long shell script line.
66481         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
66482
66483 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
66484
66485         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
66486         handle file_has_acl.
66487         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
66488         * lib/acl.c: Move header inclusions and related macro defns into
66489         lib/acl-internal.h.
66490         (S_ISLNK): Remove defn, since that's now done for us.
66491         (file_has_acl): Move to lib/file-has-acl.c.
66492         Call acl_trivial if available.  This is the crucial part of the fix.
66493         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
66494         shared within the library.  Rewrite a bit, partly to make it compatible
66495         with the GNU coding style.
66496         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
66497         Remove unnecessary double-quotes.
66498         Don't test for acl_to_text; the build will catch that.
66499         Replace acl_entries if it doesn't exist and it is needed.
66500         Check for -lsec and acl_trivial (as used on Solaris 10).
66501         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
66502         lib/file-has-acl.c.
66503         (Depends-on): Add sys_stat, for S_ISLNK.
66504
66505 2007-03-19  Ben Pfaff  <blp@gnu.org>
66506
66507         * doc/gnulib.texi: Fix typos.
66508         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
66509
66510 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
66511
66512         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
66513         If size is zero here, buf must be zero.
66514
66515 2007-03-19  Simon Josefsson  <simon@josefsson.org>
66516
66517         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
66518         <bruno@clisp.org>.
66519
66520 2007-03-18  Bruno Haible  <bruno@clisp.org>
66521
66522         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
66523         Suggested by Eric Blake.
66524
66525 2007-03-18  Ben Pfaff  <blp@gnu.org>
66526
66527         * doc/relocatable.texi: Recommend using as prefix a directory
66528         that does not exist and will never be created.  Based on
66529         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
66530         and others.
66531
66532 2007-03-17  Bruno Haible  <bruno@clisp.org>
66533
66534         * lib/fchownat.c: Include lchown.h.
66535
66536 2007-03-17  Bruno Haible  <bruno@clisp.org>
66537
66538         Fix endless loop when the given allocated size was > INT_MAX.
66539         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
66540         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
66541         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
66542         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
66543         * lib/sprintf.c (sprintf): Likewise.
66544
66545 2007-03-17  Bruno Haible  <bruno@clisp.org>
66546
66547         * tests/test-argp-2.sh (func_compare): Output a context diff.
66548
66549 2007-03-17  Bruno Haible  <bruno@clisp.org>
66550
66551         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
66552         locale's decimal-point character.
66553
66554 2007-03-17  Bruno Haible  <bruno@clisp.org>
66555
66556         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
66557         before comparing it. Needed because on some platforms (e.g. x86) a
66558         'long double' occupies less bytes than sizeof (long double).
66559
66560 2007-03-17  Bruno Haible  <bruno@clisp.org>
66561
66562         * tests/test-crc.c (main): Make printf statements 64-bit clean.
66563         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
66564         * tests/test-getaddrinfo.c (simple): Likewise.
66565         * tests/test-read-file.c (main): Likewise.
66566
66567 2007-03-17  Bruno Haible  <bruno@clisp.org>
66568
66569         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
66570
66571 2007-03-17  Bruno Haible  <bruno@clisp.org>
66572
66573         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
66574         unused variable.
66575
66576 2007-03-17  Bruno Haible  <bruno@clisp.org>
66577
66578         * tests/test-c-strcasecmp.c: Include c-strcase.h.
66579         * tests/test-c-strncasecmp.c: Likewise.
66580
66581 2007-03-17  Bruno Haible  <bruno@clisp.org>
66582
66583         * modules/stdlib (Depends-on): Add unistd.
66584         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
66585         Needed for MacOS X 10.3.
66586
66587 2007-03-17  Bruno Haible  <bruno@clisp.org>
66588
66589         * lib/unistr/u-strdup.h: Include <stdlib.h>.
66590
66591 2007-03-17  Bruno Haible  <bruno@clisp.org>
66592
66593         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
66594
66595 2007-03-17  Bruno Haible  <bruno@clisp.org>
66596
66597         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
66598         to reflect files copied from gnulib (with or without modifications).
66599         Suggested by Jim Meyering.
66600
66601 2007-03-17  Eric Blake  <ebb9@byu.net>
66602
66603         * NEWS: Document stdlib change from 2007-02-18.
66604
66605 2007-03-17  Jim Meyering  <jim@meyering.net>
66606
66607         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
66608         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
66609         someone uses a name containing shell meta-characters.
66610         Reported by Alfred M. Szmidt.
66611
66612         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
66613
66614 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
66615
66616         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
66617         and copy gettext configuration files only if configure.ac contains
66618         a use of AM_GNU_GETTEXT_VERSION.
66619
66620 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
66621
66622         * build-aux/bootstrap (gnulib_name): New variable.
66623         (gnulib_tool_options): Use it.
66624
66625 2007-03-13  Simon Josefsson  <simon@josefsson.org>
66626
66627         * tests/test-des.c: Use new namespace.
66628
66629 2007-03-15  Bruno Haible  <bruno@clisp.org>
66630
66631         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
66632         Reported by James Youngman <jay@gnu.org>.
66633
66634 2007-03-15  Bruno Haible  <bruno@clisp.org>
66635
66636         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
66637         declared prototype. Needed with cc on OSF/1 5.1.
66638
66639 2007-03-15  Bruno Haible  <bruno@clisp.org>
66640
66641         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
66642         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
66643         (struct gl_list_implementation): Add dispose_fn argument to the
66644         'create_empty', 'create' methods.
66645         (struct gl_list_impl_base): Add field 'dispose_fn'.
66646         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
66647         argument.
66648         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
66649         dispose_fn argument.
66650         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
66651         dispose_fn on the dropped values.
66652         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
66653         dispose_fn argument.
66654         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
66655         dropped values.
66656         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
66657         (gl_tree_remove_node): Call dispose_fn on the dropped value.
66658         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
66659         (gl_tree_remove_node): Call dispose_fn on the dropped value.
66660         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
66661         argument.
66662         (gl_tree_list_free): Call dispose_fn on the dropped values.
66663         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
66664         the dropped values.
66665         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
66666         Add dispose_fn argument.
66667         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
66668         Call dispose_fn on the dropped values.
66669         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
66670         Add dispose_fn argument.
66671         (gl_sublist_create): Initialize the 'dispose_fn' field.
66672         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
66673         * tests/test-array_list.c (main): Update.
66674         * tests/test-carray_list.c (main): Update.
66675         * tests/test-avltree_list.c (main): Update.
66676         * tests/test-rbtree_list.c (main): Update.
66677         * tests/test-avltreehash_list.c (main): Update.
66678         * tests/test-rbtreehash_list.c (main): Update.
66679         * tests/test-linked_list.c (main): Update.
66680         * tests/test-linkedhash_list.c (main): Update.
66681         * tests/test-array_oset.c (main): Update.
66682
66683 2007-03-15  Bruno Haible  <bruno@clisp.org>
66684
66685         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
66686         (gl_oset_create_empty): Add dispose_fn argument.
66687         (struct gl_oset_implementation): Add dispose_fn argument to
66688         'create_empty' method.
66689         (struct gl_oset_impl_base): Add dispose_fn field.
66690         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
66691         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
66692         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
66693         values.
66694         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
66695         (gl_tree_oset_free): Call dispose_fn on the dropped values.
66696         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
66697         dropped value.
66698         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
66699         dropped value.
66700         * tests/test-array_oset.c (main): Update.
66701         * tests/test-avltree_oset.c (main): Update.
66702         * tests/test-rbtree_oset.c (main): Update.
66703         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
66704
66705 2007-03-13  Bruno Haible  <bruno@clisp.org>
66706
66707         * tests/test-stdbool.c (i): Update after last patch.
66708
66709 2007-03-12  Bruno Haible  <bruno@clisp.org>
66710
66711         * lib/quotearg.c: Include <wctype.h> early, before the definition of
66712         the iswprint macro. Needed on Solaris 2.5.1.
66713
66714 2007-03-12  Bruno Haible  <bruno@clisp.org>
66715
66716         * tests/test-printf-frexp.c (main): Declare x as volatile.
66717
66718 2007-03-12  Simon Josefsson  <simon@josefsson.org>
66719
66720         * doc/gnulib.texi (Build robot for gnulib): New section.
66721
66722 2007-03-12  Jim Meyering  <jim@meyering.net>
66723
66724         * build-aux/bootstrap: New file.
66725         * build-aux/bootstrap.conf: New file, from coreutils.
66726
66727 2007-03-11  Bruno Haible  <bruno@clisp.org>
66728
66729         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
66730
66731 2007-03-12  Simon Josefsson  <simon@josefsson.org>
66732
66733         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
66734         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
66735         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
66736
66737 2007-03-11  Bruno Haible  <bruno@clisp.org>
66738
66739         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
66740         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
66741
66742 2007-03-11  Bruno Haible  <bruno@clisp.org>
66743
66744         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
66745         formula. Needed for SunPRO C 5.0.
66746
66747 2007-03-11  Bruno Haible  <bruno@clisp.org>
66748
66749         * modules/long-options (Depends-on): Add getopt.
66750
66751 2007-03-11  Bruno Haible  <bruno@clisp.org>
66752
66753         * modules/modechange (Depends-on): Add stdbool.
66754
66755 2007-03-11  Bruno Haible  <bruno@clisp.org>
66756
66757         * modules/i-ring (Depends-on): Add stdbool.
66758
66759 2007-03-11  Bruno Haible  <bruno@clisp.org>
66760
66761         * modules/gc-des (Depends-on): Add stdbool.
66762
66763 2007-03-11  Bruno Haible  <bruno@clisp.org>
66764
66765         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
66766
66767 2007-03-11  Bruno Haible  <bruno@clisp.org>
66768
66769         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
66770
66771 2007-03-11  Bruno Haible  <bruno@clisp.org>
66772
66773         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
66774
66775 2007-03-11  Bruno Haible  <bruno@clisp.org>
66776
66777         * lib/vasnprintf.c (sprintf): Undefine.
66778
66779 2007-03-11  Bruno Haible  <bruno@clisp.org>
66780
66781         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
66782         initializers in SunPRO C and Compaq C compilers.
66783
66784 2007-03-11  Bruno Haible  <bruno@clisp.org>
66785
66786         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
66787         decrementing code ANSI C compliant.
66788
66789 2007-03-11  Bruno Haible  <bruno@clisp.org>
66790
66791         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
66792         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
66793
66794 2007-03-11  Bruno Haible  <bruno@clisp.org>
66795
66796         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
66797         <stdbool.h> substitute doesn't pass.
66798
66799 2007-03-11  Bruno Haible  <bruno@clisp.org>
66800
66801         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
66802
66803 2007-03-11  Bruno Haible  <bruno@clisp.org>
66804
66805         * gnulib-tool (func_create_megatestdir): Create also an autobuild
66806         script, for submission to autobuild.josefsson.org.
66807
66808 2007-03-10  Bruno Haible  <bruno@clisp.org>
66809
66810         * modules/canonicalize-lgpl-tests: New file.
66811         * tests/test-canonicalize-lgpl.sh: New file.
66812         * tests/test-canonicalize-lgpl.c: New file.
66813
66814         * modules/c-strcase-tests: New file.
66815         * tests/test-c-strcase.sh: New file.
66816         * tests/test-c-strcasecmp.c: New file.
66817         * tests/test-c-strncasecmp.c: New file.
66818
66819         * modules/atexit-tests: New file.
66820         * tests/test-atexit.sh: New file.
66821         * tests/test-atexit.c: New file.
66822
66823 2007-03-10  Bruno Haible  <bruno@clisp.org>
66824
66825         * tests/test-binary-io.sh: Use temporary filenames that are not so
66826         likely to clash with those of other tests (in a parallel make).
66827         * tests/test-binary-io.c: Likewise.
66828
66829 2007-03-10  Bruno Haible  <bruno@clisp.org>
66830
66831         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
66832         fallback; use #error instead.
66833         Suggested by Simon Josefsson.
66834
66835 2007-03-10  Bruno Haible  <bruno@clisp.org>
66836
66837         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
66838         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
66839         first and the last.
66840
66841 2007-03-10  Bruno Haible  <bruno@clisp.org>
66842
66843         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
66844
66845 2007-03-10  Bruno Haible  <bruno@clisp.org>
66846
66847         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
66848         "make distcheck".
66849         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
66850         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
66851         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
66852
66853 2007-03-10  Bruno Haible  <bruno@clisp.org>
66854
66855         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
66856         variable.
66857         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
66858         variable.
66859
66860 2007-03-09  Eric Blake  <ebb9@byu.net>
66861         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
66862
66863         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
66864         types are not being provided by gnulib.
66865         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
66866         types are supported.
66867
66868 2007-03-10  Bruno Haible  <bruno@clisp.org>
66869
66870         * lib/stdio_.h (__attribute__): New macro.
66871         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
66872         vsprintf): Specify __attribute__ __format__ for GCC.
66873         Suggested by Eric Blake.
66874
66875 2007-03-09  Bruno Haible  <bruno@clisp.org>
66876
66877         * modules/printf-posix-tests: New file.
66878         * tests/test-printf-posix.sh: New file.
66879         * tests/test-printf-posix.c: New file.
66880
66881         * modules/printf-posix: New file.
66882         * lib/printf.c: New file.
66883         * m4/printf-posix-rpl.m4: New file.
66884         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
66885         REPLACE_PRINTF.
66886         * lib/stdio_.h (printf): New declaration.
66887         (format, __format__, ____printf____, ____scanf____, ____strftime____,
66888         ____strfmon____): New macros.
66889         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
66890         REPLACE_PRINTF.
66891
66892 2007-03-09  Bruno Haible  <bruno@clisp.org>
66893
66894         * tests/test-vasnprintf-posix2.sh: New file.
66895         * tests/test-vasnprintf-posix2.c: New file.
66896         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
66897         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
66898         (Makefile.am): Activate test-vasnprintf-posix2.sh.
66899
66900         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
66901         a locale dependent decimal point, rather than always '.'.
66902
66903 2007-03-09  Eric Blake  <ebb9@byu.net>
66904
66905         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
66906         spite of platforms like Tandem/NSK that define it to -1.
66907
66908 2007-03-08  Bruno Haible  <bruno@clisp.org>
66909
66910         * modules/vprintf-posix-tests: New file.
66911         * tests/test-vprintf-posix.sh: New file.
66912         * tests/test-vprintf-posix.c: New file.
66913         * tests/test-printf-posix.h: New file.
66914
66915         * modules/vprintf-posix: New file.
66916         * lib/vprintf.c: New file.
66917         * m4/vprintf-posix.m4: New file.
66918         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
66919         REPLACE_VPRINTF.
66920         * lib/stdio_.h (vprintf): New declaration.
66921         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
66922         REPLACE_VPRINTF.
66923
66924 2007-03-08  Bruno Haible  <bruno@clisp.org>
66925
66926         * modules/fprintf-posix-tests: New file.
66927         * tests/test-fprintf-posix.sh: New file.
66928         * tests/test-fprintf-posix.c: New file.
66929
66930         * modules/fprintf-posix: New file.
66931         * lib/fprintf.c: New file.
66932         * m4/fprintf-posix.m4: New file.
66933         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
66934         REPLACE_FPRINTF.
66935         * lib/stdio_.h (fprintf): New declaration.
66936         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
66937         REPLACE_FPRINTF.
66938
66939 2007-03-08  Bruno Haible  <bruno@clisp.org>
66940
66941         * modules/vfprintf-posix-tests: New file.
66942         * tests/test-vfprintf-posix.sh: New file.
66943         * tests/test-vfprintf-posix.c: New file.
66944         * tests/test-fprintf-posix.h: New file.
66945         * tests/test-fprintf-posix.out: New file.
66946
66947         * modules/vfprintf-posix: New file.
66948         * lib/vfprintf.c: New file.
66949         * m4/vfprintf-posix.m4: New file.
66950         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
66951         REPLACE_VFPRINTF.
66952         * lib/stdio_.h (vfprintf): New declaration.
66953         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
66954         REPLACE_VFPRINTF.
66955
66956 2007-03-08  Bruno Haible  <bruno@clisp.org>
66957
66958         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
66959
66960 2007-03-08  Bruno Haible  <bruno@clisp.org>
66961
66962         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
66963         instead of 'expr' invocations.
66964         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66965         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66966         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66967         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66968         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66969         Suggested by Paul Eggert.
66970
66971 2007-03-08  Bruno Haible  <bruno@clisp.org>
66972
66973         * modules/fseterr-tests: New file.
66974         * tests/test-fseterr.c: New file.
66975
66976         * modules/fseterr: New file.
66977         * lib/fseterr.h: New file.
66978         * lib/fseterr.c: New file.
66979
66980 2007-03-08  Bruno Haible  <bruno@clisp.org>
66981
66982         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
66983         * lib/getopt_.h: Likewise.
66984         * lib/mbswidth.h: Likewise.
66985         * lib/setenv.h: Likewise.
66986         * lib/vasnprintf.h: Likewise.
66987         * lib/vasprintf.h: Likewise.
66988         * lib/verror.h: Likewise.
66989         * lib/xsetenv.h: Likewise.
66990         * lib/xvasprintf.h: Likewise.
66991
66992 2007-03-08  Jim Meyering  <jim@meyering.net>
66993
66994         * users.txt: Add parted.
66995
66996         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
66997
66998 2007-03-07  Bruno Haible  <bruno@clisp.org>
66999
67000         * m4/printf.m4: Make the shell script snippets copy&pastable.
67001
67002 2007-03-02  Bruno Haible  <bruno@clisp.org>
67003
67004         * lib/netinet_in_.h: New file.
67005         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
67006         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
67007         * modules/netinet_in (Files): Add lib/netinet_in_.h.
67008         (Depends-on): Add absolute-header.
67009         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
67010         into netinet/in.h.
67011
67012 2007-03-03  Bruno Haible  <bruno@clisp.org>
67013
67014         * lib/sys_select_.h: New file.
67015         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
67016         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
67017         * modules/sys_select (Files): Add lib/sys_select_.h.
67018         (Depends-on): Add absolute-header.
67019         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
67020         into sys/select.h.
67021
67022 2007-03-02  Bruno Haible  <bruno@clisp.org>
67023
67024         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
67025         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
67026         values.
67027         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
67028         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
67029         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
67030         * modules/sys_socket (Depends-on): Add absolute-header.
67031         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
67032         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
67033         (Include): Remove requirement of inclusion of <sys/types.h>.
67034
67035 2007-03-02  Bruno Haible  <bruno@clisp.org>
67036
67037         * lib/byteswap_.h (bswap_32): Fix formula.
67038
67039 2007-03-06  Bruno Haible  <bruno@clisp.org>
67040
67041         * modules/sprintf-posix-tests: New file.
67042         * tests/test-sprintf-posix.c: New file.
67043
67044         * modules/sprintf-posix: New file.
67045         * lib/sprintf.c: New file.
67046         * m4/sprintf-posix.m4: New file.
67047         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
67048         REPLACE_SPRINTF.
67049         * lib/stdio_.h (sprintf): New declaration.
67050         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
67051         REPLACE_SPRINTF.
67052
67053 2007-03-06  Bruno Haible  <bruno@clisp.org>
67054
67055         * modules/vsprintf-posix-tests: New file.
67056         * tests/test-vsprintf-posix.c: New file.
67057         * tests/test-sprintf-posix.h: New file.
67058
67059         * modules/vsprintf-posix: New file.
67060         * lib/vsprintf.c: New file.
67061         * m4/vsprintf-posix.m4: New file.
67062         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
67063         REPLACE_VSPRINTF.
67064         * lib/stdio_.h (vsprintf): New declaration.
67065         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
67066         REPLACE_VSPRINTF.
67067
67068 2007-03-06  Bruno Haible  <bruno@clisp.org>
67069
67070         * modules/vsnprintf (Depend-on): Remove minmax.
67071
67072 2007-03-06  Bruno Haible  <bruno@clisp.org>
67073
67074         * modules/snprintf-posix-tests: New file.
67075         * tests/test-snprintf-posix.c: New file.
67076
67077         * modules/snprintf-posix: New file.
67078         * m4/snprintf-posix.m4: New file.
67079         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
67080         gl_FUNC_SNPRINTF.
67081         (gl_FUNC_SNPRINTF): Invoke it.
67082         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
67083         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
67084         is set.
67085         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
67086
67087 2007-03-06  Bruno Haible  <bruno@clisp.org>
67088
67089         * modules/vsnprintf-posix-tests: New file.
67090         * tests/test-vsnprintf-posix.c: New file.
67091         * tests/test-snprintf-posix.h: New file.
67092
67093         * modules/vsnprintf-posix: New file.
67094         * m4/vsnprintf-posix.m4: New file.
67095         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
67096         gl_FUNC_VSNPRINTF.
67097         (gl_FUNC_VSNPRINTF): Invoke it.
67098         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
67099         * lib/stdio_.h (vsnprintf): Define as a replacement if
67100         REPLACE_VSNPRINTF is set.
67101         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
67102
67103 2007-03-06  Bruno Haible  <bruno@clisp.org>
67104
67105         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
67106         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
67107
67108 2007-03-06  Bruno Haible  <bruno@clisp.org>
67109
67110         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
67111         (asinl): Declare also if HAVE_DECL_ASINL is set.
67112         (atanl): Declare also if HAVE_DECL_ATANL is set.
67113         (ceill): Declare also if HAVE_DECL_CEILL is set.
67114         (cosl): Declare also if HAVE_DECL_COSL is set.
67115         (expl): Declare also if HAVE_DECL_EXPL is set.
67116         (floorl): Declare also if HAVE_DECL_FLOORL is set.
67117         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
67118         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
67119         (logl): Declare also if HAVE_DECL_LOGL is set.
67120         (sinl): Declare also if HAVE_DECL_SINL is set.
67121         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
67122         (tanl): Declare also if HAVE_DECL_TANL is set.
67123         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
67124         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
67125         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
67126         declaration of frexpl, ldexpl.
67127         * modules/printf-frexpl (Depends-on): Add math.
67128         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
67129
67130 2007-03-05  Bruno Haible  <bruno@clisp.org>
67131
67132         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
67133         frexpl and ldexpl are declared.
67134         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
67135
67136 2007-03-05  Bruno Haible  <bruno@clisp.org>
67137
67138         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
67139         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
67140
67141 2007-03-05  Bruno Haible  <bruno@clisp.org>
67142
67143         * lib/stdio_.h: Include <stddef.h>.
67144
67145 2007-03-05  Bruno Haible  <bruno@clisp.org>
67146
67147         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
67148
67149 2007-03-05  Bruno Haible  <bruno@clisp.org>
67150
67151         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
67152         NetBSD 4, from Ralf Wildenhues.
67153
67154 2007-03-04  Bruno Haible  <bruno@clisp.org>
67155
67156         * lib/vasprintf.h: Update #if logic for the case when the functions
67157         exist but are overridden.
67158
67159 2007-03-04  Bruno Haible  <bruno@clisp.org>
67160
67161         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
67162         implementations: glibc-2.4 and MacOS X 10.3.
67163         * tests/test-vasnprintf-posix.c (test_function): Test also the case
67164         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
67165         * tests/test-vasprintf-posix.c (test_function): Likewise.
67166
67167 2007-03-04  Bruno Haible  <bruno@clisp.org>
67168
67169         * modules/vasprintf-posix-tests: New file.
67170         * tests/test-vasprintf-posix.c: New file.
67171
67172         * modules/vasprintf-posix: New file.
67173         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
67174         defined.
67175         * m4/vasprintf-posix.m4: New file.
67176         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
67177         gl_FUNC_VASPRINTF.
67178         (gl_FUNC_VASPRINTF): Invoke it.
67179         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
67180         here.
67181         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
67182
67183 2007-03-04  Bruno Haible  <bruno@clisp.org>
67184
67185         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
67186         REPLACE_GETTIMEOFDAY.
67187         * modules/sys_time (Makefile.am): Likewise.
67188         * m4/sys_time_h.m4: Likewise.
67189         * m4/gettimeofday.m4: Likewise.
67190
67191 2007-03-04  Bruno Haible  <bruno@clisp.org>
67192
67193         * modules/vasnprintf-posix-tests: New file.
67194         * tests/test-vasnprintf-posix.c: New file.
67195
67196         * modules/vasnprintf-posix: New file.
67197         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
67198         printf-frexpl.h.
67199         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
67200         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
67201         REPLACE_VASNPRINTF is defined.
67202         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
67203         gl_FUNC_VASNPRINTF.
67204         (gl_FUNC_VASNPRINTF): Invoke it.
67205         * m4/vasnprintf-posix.m4: New file.
67206         * m4/printf.m4: New file.
67207
67208 2007-03-04  Bruno Haible  <bruno@clisp.org>
67209
67210         Compile progreloc.c only if --enable-relocatable is specified.
67211         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
67212         if --enable-relocatable was specified.
67213         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
67214         lib_SOURCES.
67215
67216 2007-03-04  Jim Meyering  <jim@meyering.net>
67217
67218         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
67219         Use it consistently, rather than enumerating errno constants.
67220
67221 2007-03-04  Bruno Haible  <bruno@clisp.org>
67222
67223         * modules/xvasprintf-tests: New file.
67224         * tests/test-xvasprintf.c: New file.
67225
67226         * modules/vasprintf-tests: New file.
67227         * tests/test-vasprintf.c: New file.
67228
67229         * modules/vasnprintf-tests: New file.
67230         * tests/test-vasnprintf.c: New file.
67231
67232         * modules/vsnprintf-tests: New file.
67233         * tests/test-vsnprintf.c: New file.
67234
67235         * modules/snprintf-tests: New file.
67236         * tests/test-snprintf.c: New file.
67237
67238 2007-03-04  Bruno Haible  <bruno@clisp.org>
67239
67240         Compile relocatable.c only if --enable-relocatable is specified.
67241         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
67242         gl_RELOCATABLE_LIBRARY.
67243         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
67244         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
67245         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
67246         gl_RELOCATABLE_LIBRARY.
67247         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
67248         (Makefile.am): Remove lib_SOURCES.
67249         * modules/relocatable-lib-lgpl (configure.ac): Invoke
67250         gl_RELOCATABLE_LIBRARY.
67251         (Makefile.am): Remove lib_SOURCES.
67252         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
67253         always.
67254         * modules/relocatable-prog-wrapper (configure.ac): Invoke
67255         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
67256
67257 2007-03-04  Bruno Haible  <bruno@clisp.org>
67258
67259         * modules/argmatch-tests: New file.
67260         * tests/test-argmatch.c: New file.
67261
67262         * tests/test-allocsa.c (main): Halve the number of loop runs.
67263
67264         * modules/alloca-opt-tests: New file.
67265         * tests/test-alloca-opt.c: New file.
67266
67267 2007-03-04  Jim Meyering  <jim@meyering.net>
67268
67269         Work around difference between Linux ACLs and Solaris 10 ZFS.
67270         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
67271         for EINVAL.
67272
67273 2007-03-03  Bruno Haible  <bruno@clisp.org>
67274
67275         * modules/relocatable-prog (Depends-on): Add back progreloc's
67276         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
67277
67278 2007-03-03  Bruno Haible  <bruno@clisp.org>
67279
67280         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
67281         * modules/relocatable-lib: New file.
67282
67283 2007-03-03  Bruno Haible  <bruno@clisp.org>
67284
67285         * modules/relocatable-prog: Renamed from modules/relocatable.
67286         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
67287
67288 2007-03-03  Bruno Haible  <bruno@clisp.org>
67289
67290         * modules/relocatable-script (Files): Add doc/relocatable.texi,
67291         m4/relocatable-lib.m4.
67292         (Depends-on): Remove 'relocatable'.
67293         (configure.ac): Add gl_RELOCATABLE_NOP.
67294
67295 2007-03-03  Bruno Haible  <bruno@clisp.org>
67296
67297         * modules/relocatable-prog-wrapper: New file.
67298         * modules/relocatable (Depends-on): Add it. Remove all other
67299         dependencies except progname.
67300         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
67301
67302         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
67303         (gl_FUNC_STRERROR): Nop.
67304         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
67305
67306         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
67307         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
67308
67309         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
67310         (gl_FUNC_READLINK): Update.
67311
67312         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
67313
67314 2007-03-03  Bruno Haible  <bruno@clisp.org>
67315
67316         * lib/xreadlink.c: Include <unistd.h> unconditionally.
67317         * modules/xreadlink (Depends-on): Add unistd.
67318         * modules/xreadlink-with-size (Depends-on): Likewise.
67319
67320 2007-03-03  Bruno Haible  <bruno@clisp.org>
67321
67322         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
67323         extracted from gt_FUNC_SETENV.
67324         (gt_FUNC_SETENV): Remove macro.
67325         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
67326         remove gt_FUNC_SETENV.
67327
67328 2007-03-03  Bruno Haible  <bruno@clisp.org>
67329
67330         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
67331         ENABLE_RELOCATABLE here.
67332         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
67333
67334 2007-03-03  Bruno Haible  <bruno@clisp.org>
67335
67336         * modules/rbtreehash-list-tests (Depends-on): Add progname.
67337         * tests/test-rbtreehash_list.c: Include progname.h.
67338         (main): Call set_program_name.
67339
67340         * modules/rbtree-oset-tests (Depends-on): Add progname.
67341         * tests/test-rbtree_oset.c: Include progname.h.
67342         (main): Call set_program_name.
67343
67344         * modules/rbtree-list-tests (Depends-on): Add progname.
67345         * tests/test-rbtree_list.c: Include progname.h.
67346         (main): Call set_program_name.
67347
67348         * modules/linked-list-tests (Depends-on): Add progname.
67349         * tests/test-linked_list.c: Include progname.h.
67350         (main): Call set_program_name.
67351
67352 2007-03-03  Bruno Haible  <bruno@clisp.org>
67353
67354         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
67355         All uses of __restrict changed to _Restrict_.
67356         * lib/glob_.h (__restrict): Remove macro.
67357
67358 2007-03-02  Bruno Haible  <bruno@clisp.org>
67359
67360         * modules/gettext (configure.ac): Require gettext infrastructure
67361         from version 0.16.1.
67362
67363 2007-03-02  Bruno Haible  <bruno@clisp.org>
67364
67365         * modules/linkedhash-list-tests (Depends-on): Add progname.
67366         * tests/test-linkedhash_list.c: Include progname.h.
67367         (main): Call set_program_name.
67368
67369         * modules/carray-list-tests (Depends-on): Add progname.
67370         * tests/test-carray_list.c: Include progname.h.
67371         (main): Call set_program_name.
67372
67373         * modules/avltreehash-list-tests (Depends-on): Add progname.
67374         * tests/test-avltreehash_list.c: Include progname.h.
67375         (main): Call set_program_name.
67376
67377         * modules/avltree-oset-tests (Depends-on): Add progname.
67378         * tests/test-avltree_oset.c: Include progname.h.
67379         (main): Call set_program_name.
67380
67381         * modules/avltree-list-tests (Depends-on): Add progname.
67382         * tests/test-avltree_list.c: Include progname.h.
67383         (main): Call set_program_name.
67384
67385         * modules/array-oset-tests (Depends-on): Add progname.
67386         * tests/test-array_oset.c: Include progname.h.
67387         (main): Call set_program_name.
67388
67389         * modules/array-list-tests (Depends-on): Add progname.
67390         * tests/test-array_list.c: Include progname.h.
67391         (main): Call set_program_name.
67392
67393         * modules/argp-tests (Depends-on): Add progname.
67394         * tests/test-argp.c: Include argp.h first. Include progname.h.
67395         (main): Call set_program_name.
67396
67397 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
67398
67399         * doc/gnulib-tool.texi (Initial import): Reword description of
67400         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
67401         limited effect even if defined after the first system include.
67402
67403 2007-03-01  Bruno Haible  <bruno@clisp.org>
67404
67405         * build-aux/config.libpath: Update to libtool-1.5.22.
67406         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
67407
67408 2007-03-01  Bruno Haible  <bruno@clisp.org>
67409
67410         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
67411         foo_CFLAGS.
67412         Reported by Ralf Wildenhues.
67413
67414 2007-03-01  Bruno Haible  <bruno@clisp.org>
67415
67416         * build-aux/install-reloc: Remove object files left over by some
67417         compilers.
67418         Reported by Ralf Wildenhues.
67419
67420 2007-03-01  Bruno Haible  <bruno@clisp.org>
67421
67422         * build-aux/install-reloc: Break long lines.
67423
67424 2007-03-01  Bruno Haible  <bruno@clisp.org>
67425
67426         * doc/relocatable.texi: Document that it may not work on OpenBSD.
67427         Reported by Ralf Wildenhues.
67428
67429 2007-03-01  Bruno Haible  <bruno@clisp.org>
67430
67431         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
67432         include ordering constraints.
67433
67434 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67435
67436         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
67437         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
67438         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
67439         as another example.
67440         * lib/time_.h: Fix misspelling.
67441         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
67442         Require gl_HEADER_TIME_H_DEFAULTS.
67443         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
67444         * m4/time_r.m4 (gl_TIME_R): Likewise.
67445         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
67446
67447 2007-03-01  Bruno Haible  <bruno@clisp.org>
67448
67449         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
67450         * m4/utimens.m4 (gl_UTIMENS): Likewise.
67451
67452 2007-03-01  Jim Meyering  <jim@meyering.net>
67453
67454         * modules/xreadlink (Maintainer): Add my name.
67455         * modules/xreadlink-with-size (Depends-on): Alphabetize.
67456
67457 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
67458             Bruno Haible  <bruno@clisp.org>
67459
67460         * build-aux/install-reloc: Compile also c-ctype.c.
67461         * build-aux/relocatable.sh.in: New file.
67462         * doc/relocatable.texi: New file.
67463         * doc/relocatable-maint.texi: New file.
67464         * doc/gnulib.texi: Include relocatable-maint.texi.
67465         * lib/progreloc.c: Include unistd.h unconditionally.
67466         * lib/relocwrapper.c: Include unistd.h unconditionally.
67467         Include c-ctype.h.
67468         (add_dotbin): Use c_tolower.
67469         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
67470         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
67471         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
67472         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
67473         to m4/relocatable-lib.m4.
67474         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
67475         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
67476         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
67477         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
67478         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
67479         * modules/relocatable: New file.
67480         * modules/relocatable-lib: New file.
67481         * modules/relocatable-script: New file.
67482
67483 2007-02-28  Bruno Haible  <bruno@clisp.org>
67484
67485         Import --enable-relocatable infrastructure.
67486         * build-aux/config.libpath: New file, from GNU gettext.
67487         * build-aux/install-reloc: New file, from GNU gettext.
67488         * build-aux/reloc-ldflags: New file, from GNU gettext.
67489         * lib/relocatable.h: New file, from GNU gettext.
67490         * lib/relocatable.c: New file, from GNU gettext.
67491         * lib/relocwrapper.c: New file, from GNU gettext.
67492         * m4/relocatable.m4: New file, from GNU gettext.
67493
67494 2007-02-28  Bruno Haible  <bruno@clisp.org>
67495
67496         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
67497
67498         * modules/xreadlink: New file, from GNU gettext with modifications.
67499         * lib/xreadlink.c: New file, from GNU gettext.
67500         * lib/xreadlink.h: Add comments.
67501         (xreadlink): New declaration.
67502
67503         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
67504         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
67505         lib/xreadlink-with-size.c.
67506         (configure.ac): Remove gl_XREADLINK invocation.
67507         (Makefile.am): Augment lib_SOURCES.
67508         * m4/xreadlink.m4: Remove file.
67509         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
67510         (xreadlink_with_size): Renamed from xreadink.
67511         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
67512         * modules/canonicalize (Depends-on): Replace xreadlink with
67513         xreadlink-with-size.
67514         * lib/canonicalize.c (canonicalize_filename_mode): Update.
67515
67516 2007-02-25  Jim Meyering  <jim@meyering.net>
67517
67518         * build-aux/announce-gen: When complaining about excess arguments,
67519         list them.
67520
67521 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
67522
67523         * README: Document signed integer overflow situation more
67524         accurately.
67525
67526 2007-02-25  Bruno Haible  <bruno@clisp.org>
67527
67528         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
67529         'a' or 'A' conversion.
67530
67531 2007-02-25  Bruno Haible  <bruno@clisp.org>
67532
67533         * modules/filename: Renamed from modules/pathname.
67534         (Files): Replace lib/pathname.h with lib/filename.h. Replace
67535         lib/concatpath.c with lib/concat-filename.c.
67536         (Makefile.am): Update.
67537         (Include): Replace pathname.h with filename.h.
67538         * lib/filename.h: Renamed from lib/pathname.h.
67539         (concatenated_filename): Renamed from concatenated_pathname.
67540         * lib/concat-filename.c: Renamed from lib/concatpath.c.
67541         (concatenated_filename): Renamed from concatenated_pathname.
67542         * lib/findprog.c: Include filename.h instead of pathname.h.
67543         (find_in_path): Update.
67544         * lib/javacomp.c: Include filename.h instead of pathname.h.
67545         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
67546         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
67547         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
67548         is_oldgcj_14_13_usable, is_javac_usable): Update.
67549         * lib/javaexec.c: Include filename.h instead of pathname.h.
67550         (execute_java_class): Update.
67551         * modules/findprog: Update.
67552         * modules/javacomp: Update.
67553         * modules/javaexec: Update.
67554         * MODULES.html.sh (File system functions): Add 'filename', remove
67555         'pathname'.
67556
67557 2007-02-25  Bruno Haible  <bruno@clisp.org>
67558
67559         * modules/printf-frexpl-tests: New file.
67560         * tests/test-printf-frexpl.c: New file.
67561
67562         * modules/printf-frexpl: New file.
67563         * lib/printf-frexpl.h: New file.
67564         * lib/printf-frexpl.c: New file.
67565         * m4/printf-frexpl.m4: New file.
67566
67567 2007-02-25  Bruno Haible  <bruno@clisp.org>
67568
67569         * modules/printf-frexp-tests: New file.
67570         * tests/test-printf-frexp.c: New file.
67571
67572         * modules/printf-frexp: New file.
67573         * lib/printf-frexp.h: New file.
67574         * lib/printf-frexp.c: New file.
67575         * m4/printf-frexp.m4: New file.
67576
67577 2007-02-25  Bruno Haible  <bruno@clisp.org>
67578
67579         Assume automake >= 1.10 for the tests.
67580         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
67581         * modules/arctwo-tests: Likewise.
67582         * modules/argp-tests: Likewise.
67583         * modules/avltree-list-tests: Likewise.
67584         * modules/avltree-oset-tests: Likewise.
67585         * modules/avltreehash-list-tests: Likewise.
67586         * modules/carray-list-tests: Likewise.
67587         * modules/crc-tests: Likewise.
67588         * modules/des-tests: Likewise.
67589         * modules/gc-arcfour-tests: Likewise.
67590         * modules/gc-arctwo-tests: Likewise.
67591         * modules/gc-des-tests: Likewise.
67592         * modules/gc-hmac-md5-tests: Likewise.
67593         * modules/gc-hmac-sha1-tests: Likewise.
67594         * modules/gc-md2-tests: Likewise.
67595         * modules/gc-md4-tests: Likewise.
67596         * modules/gc-md5-tests: Likewise.
67597         * modules/gc-pbkdf2-sha1-tests: Likewise.
67598         * modules/gc-rijndael-tests: Likewise.
67599         * modules/gc-sha1-tests: Likewise.
67600         * modules/gc-tests: Likewise.
67601         * modules/getaddrinfo-tests: Likewise.
67602         * modules/hmac-md5-tests: Likewise.
67603         * modules/hmac-sha1-tests: Likewise.
67604         * modules/linked-list-tests: Likewise.
67605         * modules/linkedhash-list-tests: Likewise.
67606         * modules/lock-tests: Likewise.
67607         * modules/md2-tests: Likewise.
67608         * modules/md4-tests: Likewise.
67609         * modules/md5-tests: Likewise.
67610         * modules/rbtree-list-tests: Likewise.
67611         * modules/rbtree-oset-tests: Likewise.
67612         * modules/rbtreehash-list-tests: Likewise.
67613         * modules/read-file-tests: Likewise.
67614         * modules/rijndael-tests: Likewise.
67615         * modules/stdint-tests: Likewise.
67616         * modules/tls-tests: Likewise.
67617
67618 2007-02-24  Bruno Haible  <bruno@clisp.org>
67619
67620         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
67621         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
67622         function; instead check whether isnan with a double argument links.
67623         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
67624         function; instead check whether isnan with a 'long double' argument
67625         links.
67626         Reported by Eric Blake <ebb9@byu.net>.
67627
67628 2007-02-24  Bruno Haible  <bruno@clisp.org>
67629
67630         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
67631         defined.
67632         * lib/isnanl.c: Remove all code. Just include isnan.c.
67633         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
67634
67635 2007-02-25  Jim Meyering  <jim@meyering.net>
67636
67637         Avoid conflicting types for 'unsetenv' on FreeBSD.
67638         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
67639         conflicting with FreeBSD's (5.0 and 6.1) function declaration
67640         in stdlib.h.
67641
67642 2007-02-24  Bruno Haible  <bruno@clisp.org>
67643
67644         * modules/isnanl-nolibm-tests: New file.
67645         * tests/test-isnanl.c: New file.
67646
67647         * modules/isnanl-nolibm: New file.
67648         * lib/isnanl.h: New file.
67649         * lib/isnanl.c: New file.
67650         * m4/isnanl.m4: New file.
67651
67652 2007-02-24  Bruno Haible  <bruno@clisp.org>
67653
67654         * modules/isnan-nolibm-tests: New file.
67655         * tests/test-isnan.c: New file.
67656
67657         * modules/isnan-nolibm: New file.
67658         * lib/isnan.h: New file.
67659         * lib/isnan.c: New file.
67660         * m4/isnan.m4: New file.
67661
67662 2007-02-24  Bruno Haible  <bruno@clisp.org>
67663
67664         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
67665         assume that an exponent fits in 20 bits.
67666
67667 2007-02-24  Jim Meyering  <jim@meyering.net>
67668
67669         * m4/regex.m4: Update the description of the configure-time option,
67670         --without-included-regex, to state accurately what the defaults are,
67671         and perhaps to give people an idea why using this option is risky.
67672
67673 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
67674
67675         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
67676         loops on small arguments.  This attempts to avoid the problem
67677         Bruno Haible reported for AIX 4.3.2 in
67678         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
67679
67680 2007-02-23  Bruno Haible  <bruno@clisp.org>
67681
67682         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
67683         Needed for help2man.
67684
67685 2007-02-23  Karl Berry  <karl@gnu.org>
67686
67687         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
67688         exists, foo.h should be cvs-ignored, not committed.
67689
67690 2007-02-23  Eric Blake  <ebb9@byu.net>
67691
67692         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
67693         * lib/stat-time.h (includes): Likewise.
67694         * lib/utimecmp.c (includes): Likewise.
67695         * lib/utimens.h (includes): Likewise.
67696         * lib/getdate.y (includes): Also include "timespec.h" for use
67697         internal to the module.
67698         * modules/utimens (Depends-on): Revert yesterday's patch.
67699         * modules/nanosleep (Depends-on): Add missing dependency.
67700
67701 2007-02-22  Bruno Haible  <bruno@clisp.org>
67702
67703         * lib/glob.c: Don't include getlogin_r.h.
67704
67705 2007-02-22  Jim Meyering  <jim@meyering.net>
67706
67707         * modules/utimens (Depends-on): Add timespec, required for
67708         utimens.h's inclusion of timespec.h.
67709
67710 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
67711
67712         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
67713         long unreadable paths in GNU/Linux.  Problem reported by Andreas
67714         Schwab in
67715         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
67716         I'll try to think of a better way to fix the Solaris problem.
67717
67718         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
67719         like glibc; on Solaris 10, it fails with errno == EINVAL.
67720         POSIX says the behavior is unspecified if the first argument is NULL,
67721         so play it safe and never pass NULL to the system getcwd.
67722
67723 2007-02-21  Jim Meyering  <jim@meyering.net>
67724
67725         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
67726         of gettimeofday.  It would conflict with the one now always
67727         provided via sys_time_.h.  Reported by Matthew Woehlke, as
67728         an IRIX 6.5 build failure.
67729
67730 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
67731
67732         Minor fixups to port to Solaris 10 with Sun C 5.8.
67733         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
67734         * modules/getcwd (Depends-on): Add dirfd.
67735         * lib/putenv.c (putenv): #undef it.
67736         (rpl_putenv): New decl.
67737         (malloc, free): Include <stdlib.h> rather than prototyping separately.
67738
67739 2007-02-20  Bruno Haible  <bruno@clisp.org>
67740
67741         * modules/stdio-tests: New file.
67742         * tests/test-stdio.c: New file.
67743
67744         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
67745         (Depends-on): Add stdio.
67746         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
67747         (Include): Use <stdio.h> instead of vsnprintf.h.
67748         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
67749         HAVE_DECL_VSNPRINTF.
67750         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
67751
67752         * modules/snprintf (Files): Remove lib/snprintf.h.
67753         (Depends-on): Add stdio.
67754         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
67755         (Include): Use <stdio.h> instead of snprintf.h.
67756         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
67757         HAVE_DECL_SNPRINTF.
67758         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
67759         * lib/getaddrinfo.c: Likewise.
67760
67761         * modules/stdio: New file.
67762         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
67763         * lib/snprintf.h: Remove file.
67764         * lib/vsnprintf.h: Remove file.
67765         * lib/.cppi-disable: Remove snprintf.h.
67766         * m4/stdio_h.m4: New file.
67767         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
67768
67769 2007-02-20  Jim Meyering  <jim@meyering.net>
67770
67771         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
67772         used by e.g., mingw.  From Bruno Haible.
67773
67774 2007-02-19  Bruno Haible  <bruno@clisp.org>
67775
67776         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
67777         warnings.
67778         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67779
67780 2007-02-19  Bruno Haible  <bruno@clisp.org>
67781
67782         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
67783         from mingw users.
67784
67785 2007-02-19  Bruno Haible  <bruno@clisp.org>
67786
67787         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
67788         warnings.
67789         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
67790
67791 2007-02-19  Jim Meyering  <jim@meyering.net>
67792
67793         Don't use FD after a successful "fdopendir (fd)".
67794         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
67795         Reset it by calling dirfd on the just-obtained DIR*.
67796
67797         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
67798         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
67799
67800 2007-02-18  Bruno Haible  <bruno@clisp.org>
67801
67802         * lib/readlink.c: Include <unistd.h>.
67803         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
67804         HAVE_READLINK.
67805         * modules/readlink (Depends-on): Add unistd.
67806         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67807         (Include): Add <unistd.h>.
67808
67809         * lib/getlogin_r.h: Remove file.
67810         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
67811         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
67812         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
67813         HAVE_DECL_GETLOGIN_R.
67814         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
67815         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67816         (Include): Use <unistd.h> instead of getlogin_r.h.
67817
67818         * lib/getcwd.h: Remove file.
67819         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
67820         * lib/xgetcwd.c: Likewise.
67821         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
67822         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
67823         * modules/getcwd (Files): Remove lib/getcwd.h.
67824         (Depends-on): Add unistd.
67825         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67826         (Include): Use <unistd.h> instad of getcwd.h.
67827
67828         * lib/ftruncate.c: Include <unistd.h> first.
67829         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
67830         Set HAVE_FTRUNCATE.
67831         * modules/ftruncate (Depends-on): Add unistd.
67832         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67833
67834         * lib/fchdir.c: Include <unistd.h> first.
67835         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
67836         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
67837         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
67838         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67839         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
67840
67841         * lib/dup2.c: Include <unistd.h> first.
67842         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
67843         HAVE_DUP2.
67844         * modules/dup2 (Depends-on): Add unistd.
67845         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67846
67847         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
67848         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
67849         REPLACE_CHOWN. Don't define chown as a macro here.
67850         * modules/chown (Depends-on): Add unistd.
67851         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67852
67853         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
67854         Add definition for GL_LINK_WARNING.
67855         (chown, dup2): New declarations.
67856         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
67857         link warning.
67858         (ftruncate): New declaration.
67859         (getcwd): New declaration, taken from old getcwd.h.
67860         (getlogin_r): New declaration, taken from old getlogin_r.h.
67861         (readlink): New declaration.
67862         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
67863         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
67864         (gl_PREREQ_UNISTD): Remove macro.
67865         (gl_UNISTD_MODULE_INDICATOR): New macro.
67866         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
67867         many new variables. Don't set UNISTD_H.
67868         * modules/unistd (Description): Change.
67869         (Depends-on): Add link-warning.
67870         (configure.ac): Update.
67871         (Makefile.am): Create unistd.h always. Substitute many new variables
67872         into it.
67873
67874 2007-02-18  Bruno Haible  <bruno@clisp.org>
67875
67876         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
67877         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
67878         HAVE_GETSUBOPT.
67879         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
67880         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
67881         * lib/getsubopt.h: Remove file.
67882         * modules/getsubopt (Files): Remove lib/getsubopt.h.
67883         (Depends-on): Add stdlib.
67884         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67885         (Includes): Use <stdlib.h> instead of getsubopt.h.
67886         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
67887         Set HAVE_GETSUBOPT.
67888         * lib/getsubopt.c: Don't include getsubopt.h.
67889
67890 2007-02-18  Bruno Haible  <bruno@clisp.org>
67891
67892         * modules/fchdir (Depends-on): Add dup2.
67893
67894 2007-02-18  Bruno Haible  <bruno@clisp.org>
67895
67896         * lib/stdlib_.h: Handle glibc's special invocation convention
67897         specially.
67898
67899 2007-02-18  Bruno Haible  <bruno@clisp.org>
67900
67901         * modules/stdlib-tests: New file.
67902         * tests/test-stdlib.c: New file.
67903
67904         * modules/mkstemp (Files): Remove lib/mkstemp.h.
67905         (Depends-on): Add stdlib.
67906         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67907         (Includes): Use <stdlib.h> instead of mkstemp.h.
67908         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
67909         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
67910         * lib/mkstemp.c: Don't include mkstemp.h.
67911         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
67912         * lib/stdlib--.h: Don't include mkstemp.h.
67913
67914         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
67915         (Depends-on): Add stdlib.
67916         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67917         (Includes): Use <stdlib.h> instead of mkdtemp.h.
67918         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
67919         HAVE_MKDTEMP.
67920         * lib/mkdtemp.c: Don't include mkdtemp.h.
67921         * lib/clean-temp.c: Don't include mkdtemp.h.
67922
67923         * modules/exit (Files): Remove lib/exit.h.
67924         (Depends-on): Add stdlib.
67925         (Makefile.am): Remove lib_SOURCES.
67926         (Include): Use <stdlib.h> instead of exit.h.
67927         * lib/argmatch.c: Don't include exit.h.
67928         * lib/execute.c: Likewise.
67929         * lib/pagealign_alloc.c: Likewise.
67930         * lib/pipe.c: Likewise.
67931         * lib/wait-process.c: Likewise.
67932         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
67933         * lib/exitfail.c: Likewise.
67934         * lib/savewd.c: Likewise.
67935         * lib/xsetenv.c: Likewise.
67936
67937         * modules/stdlib: New file.
67938         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
67939         and extra comments about mkstemp().
67940         * lib/exit.h: Remove file.
67941         * lib/mkdtemp.h: Remove file.
67942         * lib/mkstemp.h: Remove file.
67943         * m4/stdlib_h.m4: New file.
67944         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
67945
67946 2007-02-18  Bruno Haible  <bruno@clisp.org>
67947
67948         * modules/math-tests: New file.
67949         * tests/test-math.c: New file.
67950
67951         * modules/math: New file.
67952         * modules/mathl (Files): Remove lib/mathl.h.
67953         (Depends-on): Add math.
67954         (Makefile.am): Don't mention mathl.h.
67955         (Include): Use <math.h> instead of mathl.h.
67956         * lib/math_.h: New file.
67957         * lib/mathl.h: Remove file.
67958         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
67959         mathl.h.
67960         * lib/asinl.c: Likewise.
67961         * lib/atanl.c: Likewise.
67962         * lib/ceill.c: Likewise.
67963         * lib/cosl.c: Likewise.
67964         * lib/expl.c: Likewise.
67965         * lib/floorl.c: Likewise.
67966         * lib/frexpl.c: Likewise.
67967         * lib/ldexpl.c: Likewise.
67968         * lib/logl.c: Likewise.
67969         * lib/sincosl.c: Likewise.
67970         * lib/sinl.c: Likewise.
67971         * lib/sqrtl.c: Likewise.
67972         * lib/tanl.c: Likewise.
67973         * lib/trigl.c: Likewise.
67974         * m4/math_h.m4: New file.
67975         * MODULES.html.sh (Mathematics): Add math.
67976
67977 2007-02-17  Bruno Haible  <bruno@clisp.org>
67978
67979         * modules/wctype-tests: New file.
67980         * tests/test-wctype.c: New file.
67981
67982         * modules/wchar-tests: New file.
67983         * tests/test-wchar.c: New file.
67984
67985         * modules/unistd-tests: New file.
67986         * tests/test-unistd.c: New file.
67987
67988         * modules/time-tests: New file.
67989         * tests/test-time.c: New file.
67990
67991         * modules/sysexits-tests: New file.
67992         * tests/test-sysexits.c: New file.
67993
67994         * modules/sys_time-tests: New file.
67995         * tests/test-sys_time.c: New file.
67996
67997         * modules/sys_stat-tests: New file.
67998         * tests/test-sys_stat.c: New file.
67999
68000         * modules/sys_socket-tests: New file.
68001         * tests/test-sys_socket.c: New file.
68002
68003         * modules/sys_select-tests: New file.
68004         * tests/test-sys_select.c: New file.
68005
68006         * modules/string-tests: New file.
68007         * tests/test-string.c: New file.
68008
68009         * modules/stdbool-tests: New file.
68010         * tests/test-stdbool.c: New file.
68011
68012         * modules/netinet_in-tests: New file.
68013         * tests/test-netinet_in.c: New file.
68014
68015         * modules/inttypes-tests: New file.
68016         * tests/test-inttypes.c: New file.
68017
68018         * modules/fcntl-tests: New file.
68019         * tests/test-fcntl.c: New file.
68020
68021         * modules/byteswap-tests: New file.
68022         * tests/test-byteswap.c: New file.
68023
68024         * modules/arpa_inet-tests: New file.
68025         * tests/test-arpa_inet.c: New file.
68026
68027 2007-02-17  Bruno Haible  <bruno@clisp.org>
68028
68029         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
68030         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
68031         if the corresponding module is not enabled. Emit link warnings if
68032         the function is used nevertheless.
68033         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
68034         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
68035         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
68036         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
68037         * modules/inttypes (Depends-on): Add link-warning.
68038         (Makefile.am): Copy the contents of build-aux/link-warning.h into
68039         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
68040         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
68041         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
68042         * modules/imaxdiv (configure.ac): Likewise.
68043         * modules/strtoimax (configure.ac): Likewise.
68044         * modules/strtoumax (configure.ac): Likewise.
68045
68046 2007-02-17  Bruno Haible  <bruno@clisp.org>
68047
68048         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
68049         gl_STRING_MODULE_INDICATOR_DEFAULTS.
68050         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
68051         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
68052
68053 2007-02-17  Bruno Haible  <bruno@clisp.org>
68054
68055         * modules/link-warning: New file.
68056         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
68057         * lib/string_.h (GL_LINK_WARNING): Remove definition.
68058         * modules/string (Depends-on): Add link-warning.
68059         (Makefile.am): Copy the contents of build-aux/link-warning.h into
68060         string.h.
68061         * MODULES.html.sh (Support for building libraries and executables): Add
68062         link-warning.
68063
68064 2007-02-17  Bruno Haible  <bruno@clisp.org>
68065
68066         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
68067         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
68068         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
68069         long lines.
68070
68071 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
68072             Bruno Haible  <bruno@clisp.org>
68073
68074         * modules/tmpfile: New file.
68075         * lib/tmpfile.c: New file.
68076         * m4/tmpfile.m4: New file.
68077         * MODULES.html.sh (func_all_modules): New section "Input/output".
68078
68079 2007-02-15  Bruno Haible  <bruno@clisp.org>
68080
68081         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
68082         (supports_delete_on_close): New function.
68083         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
68084
68085 2007-02-14  Bruno Haible  <bruno@clisp.org>
68086
68087         * modules/mbspcasecmp-tests: New file.
68088         * tests/test-mbspcasecmp.sh: New file.
68089         * tests/test-mbspcasecmp.c: New file.
68090
68091         New module mbspcasecmp.
68092         * modules/mbspcasecmp: New file.
68093         * lib/mbspcasecmp.c: New file.
68094         * lib/string_.h (strncasecmp): Change warning message.
68095         (mbspcasecmp): New declaration.
68096         * m4/mbspcasecmp.m4: New file.
68097         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68098         GNULIB_MBSPCASECMP.
68099         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
68100         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
68101
68102 2007-02-14  Bruno Haible  <bruno@clisp.org>
68103
68104         * modules/mbsncasecmp-tests: New file.
68105         * tests/test-mbsncasecmp.sh: New file.
68106         * tests/test-mbsncasecmp.c: New file.
68107
68108         New module mbsncasecmp.
68109         * modules/mbsncasecmp: New file.
68110         * lib/mbsncasecmp.c: New file.
68111         * lib/string_.h (mbsncasecmp): New declaration.
68112         * m4/mbsncasecmp.m4: New file.
68113         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68114         GNULIB_MBSNCASECMP.
68115         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
68116         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
68117
68118 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
68119
68120         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
68121         Verify that it doesn't overlap with our flags.
68122         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
68123         do not have the desired effect in multibyte locales; instead, use
68124         mbscasecmp.
68125         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
68126         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
68127         we don't require GNU fnmatch ourselves (if our users require it, they
68128         should do so explicitly).
68129
68130         Fix regex code so it doesn't rely on strcasecmp.
68131         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
68132         Otherwise, include gnulib's langinfo.h.
68133         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
68134         undesirable behavior in non-C locales.  Instead, rely on localecharset.
68135         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
68136         * modules/regex (FILES): Remove m4/codeset.m4.
68137         (Depends-on): Add localcharset.  Remove strcase.
68138
68139 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68140
68141         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
68142         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
68143
68144 2007-02-13  Bruno Haible  <bruno@clisp.org>
68145
68146         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
68147         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68148
68149 2007-02-12  Bruno Haible  <bruno@clisp.org>
68150
68151         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
68152         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
68153         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
68154         time warning rather than a link error.
68155
68156 2007-02-12  Bruno Haible  <bruno@clisp.org>
68157
68158         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
68159         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
68160         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68161
68162 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
68163
68164         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
68165         args, not 2.
68166
68167 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
68168
68169         New module 'time', so that apps can include <time.h> as per
68170         POSIX and GNU instead of separate include files like time_r.h
68171         and timegm.h.  This implementation tries out a simpler approach
68172         for replacing decls in standard include files (as compared to
68173         the string module), somewhat as an experiment.
68174
68175         * config/srclist.txt: Comment out mktime.c for now.
68176         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
68177         since it doesn't apply any more.  Use generic wording instead.
68178         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
68179         'time'.
68180         * lib/time_.h, m4/time_h.m4, modules/time: New files.
68181         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
68182         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
68183         Don't include <sys/types.h>; no longer needed since we assume C89.
68184         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
68185         * lib/strftime.c: Likewise.
68186         * lib/time_r.c: Likewise.
68187         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
68188         * lib/nanosleep.c: Include <time.h> first, to check interface.
68189         * lib/strptime.c: Likewise.
68190         * lib/time_r.c: Likewise.
68191         * lib/timegm.c: Likewise.
68192         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
68193         needed.
68194         * lib/timegm.c: Don't include timegm.h; no longer needed.
68195         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
68196         time.h now handles any problems in that area.
68197         (struct timespec, nanosleep): Remove; time.h now arranges for these.
68198         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
68199         that time.h defines struct timespec.
68200         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
68201         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
68202         handles that.
68203         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
68204         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
68205         needed.  Set REPLACE_LOCALTIME.
68206         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
68207         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
68208         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
68209         nanosleep; time_h.m4 now does that.  Don't require
68210         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
68211         module handles this now.
68212         * modules/getdate (Depends-on): Remove timespec.  Add time.
68213         * modules/nanosleep (Depends-on): Likewise.
68214         * modules/stat-time (Depends-on): Likewise.
68215         * modules/nanosleep (Include): Include time.h, not timespec.h.
68216         * modules/strptime (Files): Remove lib/strptime.h.
68217         (Depends-on): Add extensions, time.
68218         (Include): Include time.h, not strptime.h.
68219         * modules/time_r (Files): Remove lib/time_r.h.
68220         (Depends-on): Add time.
68221         (Include): Include time.h, not time_r.h.
68222         * modules/timegm: Likewise.
68223         * modules/timespec (Description): Now does timespec-related decls
68224         of our own, instead of struct timespec itself.
68225         (Depends-on): Add time; remove extensions.
68226         (Maintainer): Add self.
68227         * modules/utimecmp (Depends-on): Add time; remove timespec.
68228         * modules/utimens (Depends-on): Likewise.
68229         * modules/xnanosleep (Depends-on): Likewise.
68230
68231 2007-02-11  Bruno Haible  <bruno@clisp.org>
68232
68233         * lib/c-strstr.c: Include allocsa.h.
68234         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
68235         * lib/c-strcasestr.c: Include allocsa.h.
68236         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
68237         * lib/strcasestr.c: Include allocsa.h.
68238         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
68239         * lib/mbsstr.c: Include allocsa.h.
68240         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
68241         allocsa/freesa instead of malloc/free.
68242         * lib/mbscasestr.c: Include allocsa.h.
68243         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
68244         allocsa/freesa instead of malloc/free.
68245         * modules/c-strstr (Depends-on): Add allocsa.
68246         * modules/c-strcasestr (Depends-on): Likewise.
68247         * modules/strcasestr (Depends-on): Likewise.
68248         * modules/mbsstr (Depends-on): Likewise.
68249         * modules/mbscasestr (Depends-on): Likewise.
68250
68251 2007-02-11  Bruno Haible  <bruno@clisp.org>
68252
68253         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
68254
68255         * modules/mbsspn-tests: New file.
68256         * tests/test-mbsspn.sh: New file.
68257         * tests/test-mbsspn.c: New file.
68258
68259 2007-02-11  Bruno Haible  <bruno@clisp.org>
68260
68261         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
68262
68263         * modules/mbspbrk-tests: New file.
68264         * tests/test-mbspbrk.sh: New file.
68265         * tests/test-mbspbrk.c: New file.
68266
68267 2007-02-11  Bruno Haible  <bruno@clisp.org>
68268
68269         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
68270         unneeded cast.
68271
68272         * modules/mbscspn-tests: New file.
68273         * tests/test-mbscspn.sh: New file.
68274         * tests/test-mbscspn.c: New file.
68275
68276 2007-02-11  Bruno Haible  <bruno@clisp.org>
68277
68278         * modules/mbscasecmp-tests: New file.
68279         * tests/test-mbscasecmp.sh: New file.
68280         * tests/test-mbscasecmp.c: New file.
68281
68282 2007-02-11  Bruno Haible  <bruno@clisp.org>
68283
68284         Ensure O(n) worst-case complexity of mbscasestr.
68285         * lib/mbscasestr.c: Include stdbool.h.
68286         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
68287         functions.
68288         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
68289         the bookkeeping indicates that it's worth it.
68290         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
68291
68292         * modules/mbscasestr-tests: New file.
68293         * tests/test-mbscasestr1.c: New file.
68294         * tests/test-mbscasestr2.sh: New file.
68295         * tests/test-mbscasestr2.c: New file.
68296         * tests/test-mbscasestr3.sh: New file.
68297         * tests/test-mbscasestr3.c: New file.
68298         * tests/test-mbscasestr4.sh: New file.
68299         * tests/test-mbscasestr4.c: New file.
68300         * m4/locale-tr.m4: New file.
68301
68302 2007-02-11  Bruno Haible  <bruno@clisp.org>
68303
68304         Ensure O(n) worst-case complexity of mbsstr.
68305         * lib/mbsstr.c: Include stdbool.h.
68306         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
68307         functions.
68308         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
68309         bookkeeping indicates that it's worth it.
68310         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
68311
68312         * modules/mbsstr-tests: New file.
68313         * tests/test-mbsstr1.c: New file.
68314         * tests/test-mbsstr2.sh: New file.
68315         * tests/test-mbsstr2.c: New file.
68316         * tests/test-mbsstr3.sh: New file.
68317         * tests/test-mbsstr3.c: New file.
68318         * m4/locale-fr.m4: New file.
68319
68320 2007-02-11  Bruno Haible  <bruno@clisp.org>
68321
68322         * lib/mbsrchr.c (mbsrchr): Fix bug.
68323
68324         * modules/mbsrchr-tests: New file.
68325         * tests/test-mbsrchr.sh: New file.
68326         * tests/test-mbsrchr.c: New file.
68327
68328 2007-02-11  Bruno Haible  <bruno@clisp.org>
68329
68330         * lib/mbschr.c (mbschr): Fix bug.
68331
68332         * modules/mbschr-tests: New file.
68333         * tests/test-mbschr.sh: New file.
68334         * tests/test-mbschr.c: New file.
68335         * m4/locale-zh.m4: New file.
68336
68337 2007-02-11  Bruno Haible  <bruno@clisp.org>
68338
68339         Support for copying multibyte string iterators.
68340         * lib/mbiter.h: Include <string.h>.
68341         (mbiter_multi_copy): New function.
68342         (mbi_copy): New macro.
68343         * lib/mbuiter.h: Include <string.h>.
68344         (mbuiter_multi_copy): New function.
68345         (mbui_copy): New macro.
68346
68347 2007-02-11  Bruno Haible  <bruno@clisp.org>
68348
68349         New module mbslen.
68350         * modules/mbslen: New file.
68351         * lib/mbslen.c: New file.
68352         * lib/string_.h (mbslen): New declaration.
68353         * m4/mbslen.m4: New file.
68354         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68355         GNULIB_MBSLEN.
68356         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
68357         * MODULES.html.sh (Internationalization functions): Add mbslen.
68358
68359 2007-02-11  Bruno Haible  <bruno@clisp.org>
68360
68361         Ensure O(n) worst-case complexity of strcasestr substitute.
68362         * lib/strcasestr.c: Include stdbool.h.
68363         (knuth_morris_pratt): New function.
68364         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
68365         bookkeeping indicates that it's worth it.
68366         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
68367
68368         * modules/strcasestr-tests: New file.
68369         * tests/test-strcasestr.c: New file.
68370
68371 2007-02-11  Bruno Haible  <bruno@clisp.org>
68372
68373         Ensure O(n) worst-case complexity of c_strcasestr.
68374         * lib/c-strcasestr.c: Include stdbool.h, string.h.
68375         (knuth_morris_pratt): New function.
68376         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
68377         the bookkeeping indicates that it's worth it.
68378         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
68379
68380         * modules/c-strcasestr-tests: New file.
68381         * tests/test-c-strcasestr.c: New file.
68382
68383 2007-02-11  Bruno Haible  <bruno@clisp.org>
68384
68385         Ensure O(n) worst-case complexity of c_strstr.
68386         * lib/c-strstr.c: Include stdbool.h, string.h.
68387         (knuth_morris_pratt): New function.
68388         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
68389         bookkeeping indicates that it's worth it.
68390         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
68391
68392         * lib/c-strstr.c: Complete rewrite for maintainability.
68393
68394         * modules/c-strstr-tests: New file.
68395         * tests/test-c-strstr.c: New file.
68396
68397 2007-02-11  Bruno Haible  <bruno@clisp.org>
68398
68399         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
68400         5.2.1 and earlier, whereby \055 was treated just like the range
68401         delimiter '-'.
68402         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
68403
68404 2007-02-08  Bruno Haible  <bruno@clisp.org>
68405
68406         * modules/regex (Depends-on): Add stdbool.
68407         Reported by Dalibor Topic <robilad@kaffe.org>.
68408
68409 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
68410
68411         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
68412         Prefer returning from main to exiting from it.
68413         Remove unnecessary parens after sizeof.
68414
68415 2007-02-05  Bruno Haible  <bruno@clisp.org>
68416
68417         New module mbssep.
68418         * modules/mbssep: New file.
68419         * lib/mbssep.c: New file.
68420         * lib/string_.h (strsep): Add a conditional link warning.
68421         (mbssep): New declaration.
68422         * m4/mbssep.m4: New file.
68423         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68424         GNULIB_MBSSEP.
68425         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
68426         * MODULES.html.sh (Internationalization functions): Add mbssep.
68427
68428 2007-02-05  Bruno Haible  <bruno@clisp.org>
68429
68430         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
68431         Optimize search in case of 1 delimiter.
68432
68433 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
68434
68435         * lib/acl.h: Include sys/types.h before sys/acl.h.
68436
68437 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
68438
68439         Merge upstream fix for glibc bugzilla #3957:
68440
68441         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
68442
68443         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
68444         bit for RE_HAT_LISTS_NOT_NEWLINE.
68445         (build_charclass_op): Remove bogus comment.
68446
68447 2007-02-05  Simon Josefsson  <simon@josefsson.org>
68448
68449         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
68450
68451 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
68452
68453         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
68454         * lib/memmem.c [!defined _LIBC]: Include config.h.
68455
68456 2007-02-04  Bruno Haible  <bruno@clisp.org>
68457
68458         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
68459         warning message.
68460
68461 2007-02-04  Bruno Haible  <bruno@clisp.org>
68462
68463         New module mbstok_r.
68464         * modules/mbstok_r: New file.
68465         * lib/mbstok_r.c: New file.
68466         * lib/string_.h (strtok_r): Change argument names to match the
68467         comments. Add a conditional link warning.
68468         (mbstok_r): New declaration.
68469         * m4/mbstok_r.m4: New file.
68470         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68471         GNULIB_MBSTOK_R.
68472         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
68473         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
68474
68475 2007-02-04  Bruno Haible  <bruno@clisp.org>
68476
68477         New module mbsspn.
68478         * modules/mbsspn: New file.
68479         * lib/mbsspn.c: New file.
68480         * lib/string_.h (strspn): Add a conditional link warning.
68481         (mbsspn): New declaration.
68482         * m4/mbsspn.m4: New file.
68483         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68484         GNULIB_MBSSPN.
68485         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
68486         * MODULES.html.sh (Internationalization functions): Add mbsspn.
68487
68488 2007-02-04  Bruno Haible  <bruno@clisp.org>
68489
68490         New module mbspbrk.
68491         * modules/mbspbrk: New file.
68492         * lib/mbspbrk.c: New file.
68493         * lib/string_.h (strpbrk): Add a conditional link warning.
68494         (mbspbrk): New declaration.
68495         * m4/mbspbrk.m4: New file.
68496         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68497         GNULIB_MBSPBRK.
68498         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
68499         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
68500
68501 2007-02-04  Bruno Haible  <bruno@clisp.org>
68502
68503         New module mbscspn.
68504         * modules/mbscspn: New file.
68505         * lib/mbscspn.c: New file.
68506         * lib/string_.h (strcspn): Add a conditional link warning.
68507         (mbscspn): New declaration.
68508         * m4/mbscspn.m4: New file.
68509         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68510         GNULIB_MBSCSPN.
68511         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
68512         * MODULES.html.sh (Internationalization functions): Add mbscspn.
68513
68514 2007-02-04  Bruno Haible  <bruno@clisp.org>
68515
68516         New module mbscasestr, reduced goal of strcasestr.
68517         * modules/mbscasestr: New file.
68518         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
68519         (mbscasestr): Renamed from strcasestr.
68520         * lib/strcasestr.c: Don't include mbuiter.h.
68521         (strcasestr): Remove support for multibyte locales.
68522         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
68523         Change the conditional link warning.
68524         (mbscasestr): New declaration.
68525         * m4/mbscasestr.m4: New file.
68526         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
68527         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
68528         REPLACE_STRCASESTR.
68529         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
68530         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
68531         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
68532         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
68533         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
68534         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
68535         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
68536         (Depends-on): Remove mbuiter.
68537         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
68538
68539 2007-02-04  Bruno Haible  <bruno@clisp.org>
68540
68541         Simplify handling of strncasecmp.
68542         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
68543         the conditional link warning.
68544         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
68545         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
68546         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
68547         * modules/strcase (configure.ac): Don't invoke
68548         gl_STRING_MODULE_INDICATOR.
68549         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
68550
68551 2007-02-04  Bruno Haible  <bruno@clisp.org>
68552
68553         New module mbscasecmp, reduced goal of strcasecmp.
68554         * modules/mbscasecmp: New file.
68555         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
68556         (mbscasecmp): Renamed from strcasecmp.
68557         * lib/strcasecmp.c: Don't include mbuiter.h.
68558         (strcasecmp): Remove support for multibyte locales.
68559         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
68560         Change the conditional link warning.
68561         (mbscasecmp): New declaration.
68562         * m4/mbscasecmp.m4: New file.
68563         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
68564         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
68565         REPLACE_STRCASECMP.
68566         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
68567         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68568         GNULIB_MBSCASECMP.
68569         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
68570         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
68571         * modules/strcase (Files): Remove m4/mbrtowc.m4.
68572         (Depends-on): Remove mbuiter.
68573         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
68574
68575 2007-02-04  Bruno Haible  <bruno@clisp.org>
68576
68577         New module mbsstr. Remove module strstr.
68578         * modules/mbsstr: New file.
68579         * modules/strstr: Remove file.
68580         * lib/mbsstr.c: Renamed from lib/strstr.c.
68581         (mbsstr): Renamed from strstr.
68582         * lib/string_.h (strstr): Remove declaration. Change the conditional
68583         link warning.
68584         (mbsstr): New declaration.
68585         * m4/mbsstr.m4: New file.
68586         * m4/strstr.m4: Remove file.
68587         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
68588         REPLACE_STRSTR.
68589         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
68590         Don't initialize GNULIB_STRSTR.
68591         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
68592         substitute GNULIB_STRSTR and REPLACE_STRSTR.
68593         * MODULES.html.sh (Internationalization functions): Add mbsstr.
68594         (Support for systems lacking ANSI C 89): Remove strstr.
68595
68596 2007-02-04  Bruno Haible  <bruno@clisp.org>
68597
68598         New module mbsrchr.
68599         * modules/mbsrchr: New file.
68600         * lib/mbsrchr.c: New file.
68601         * lib/string_.h (strrchr): Add a conditional link warning.
68602         (mbsrchr): New declaration.
68603         * m4/mbsrchr.m4: New file.
68604         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68605         GNULIB_MBSRCHR.
68606         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
68607         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
68608
68609 2007-02-04  Bruno Haible  <bruno@clisp.org>
68610
68611         New module mbschr.
68612         * modules/mbschr: New file.
68613         * lib/mbschr.c: New file.
68614         * lib/string_.h (strchr): Add a conditional link warning.
68615         (mbschr): New declaration.
68616         * m4/mbschr.m4: New file.
68617         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68618         GNULIB_MBSCHR.
68619         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
68620         * MODULES.html.sh (Internationalization functions): Add mbschr.
68621
68622 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
68623
68624         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
68625
68626         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
68627
68628 2007-02-04  Bruno Haible  <bruno@clisp.org>
68629
68630         New module description section 'configure.ac-early'.
68631         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
68632         (func_get_autoconf_early_snippet): New function.
68633         (func_import, func_create_testdir): Use it. Remove special cases for
68634         modules 'extensions' and 'lock'.
68635         * modules/extensions (configure.ac-early): Require
68636         gl_USE_SYSTEM_EXTENSIONS.
68637         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
68638
68639 2007-02-04  Bruno Haible  <bruno@clisp.org>
68640
68641         Make use of gcj-4.3's -fsource and -ftarget option.
68642         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
68643         and if so try the options -fsource and -ftarget.
68644         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
68645         source_version, ftarget_option, target_version arguments.
68646         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
68647         (is_envjavac_oldgcj_14_14_usable): Renamed from
68648         is_envjavac_gcj_14_14_usable.
68649         (is_envjavac_oldgcj_14_13_usable): Renamed from
68650         is_envjavac_gcj_14_13_usable.
68651         (is_gcj_present): Update.
68652         (is_gcj_43, is_gcj43_usable): New functions.
68653         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
68654         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
68655         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
68656         try the options -fsource and -ftarget.
68657
68658 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68659
68660         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
68661         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
68662         larger value.
68663
68664 2007-02-03  Jim Meyering  <jim@meyering.net>
68665
68666         Give tools a better chance to allocate space for very large buffers.
68667         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
68668
68669         Make pwd and readlink work also when run with an unreadable parent dir
68670         on systems with openat support.
68671         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
68672         provided getcwd function, even when we have openat support.
68673         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
68674
68675 2007-02-02  Bruno Haible  <bruno@clisp.org>
68676
68677         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
68678         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
68679         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
68680         portability problems if one of these functions is only used on specific
68681         platforms.
68682         Reported by Paul Eggert.
68683
68684 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
68685
68686         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
68687         is causing more trouble than it's curing.
68688         * lib/regex_internal.h (__mempcpy): Remove.
68689         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
68690         (and make the code a tad smaller to boot).
68691         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
68692
68693 2007-02-02  Jim Meyering  <jim@meyering.net>
68694
68695         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
68696         section, not in the Makefile.am: one.
68697
68698 2007-02-02  Eric Blake  <ebb9@byu.net>
68699
68700         * lib/strchrnul.c: Always include config.h first.
68701
68702         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
68703         gnulib strstr is not necessary here.
68704
68705 2007-02-02  Simon Josefsson  <simon@josefsson.org>
68706
68707         * m4/socklen.m4: Fix typo.
68708
68709 2007-02-02  Eric Blake  <ebb9@byu.net>
68710
68711         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
68712         * modules/netinet_in (Makefile.am): Likewise.
68713
68714 2007-02-01  Bruno Haible  <bruno@clisp.org>
68715
68716         * lib/string_.h (GL_LINK_WARNING): New macro.
68717         (strcasecmp, strstr, strcasestr): If provided by the system,
68718         conditionally define as a macro that leads to a warning instead of to
68719         an error.
68720         (strncasecmp): Conditionally define as a macro that leads to a warning.
68721
68722 2007-02-01  Karl Berry  <karl@gnu.org>
68723
68724         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
68725
68726 2007-02-01  Bruno Haible  <bruno@clisp.org>
68727
68728         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
68729         renamings.
68730
68731 2007-02-01  Eric Blake  <ebb9@byu.net>
68732
68733         * modules/regex (Depends-on): Revert dependence on mempcpy.
68734         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
68735         module's definition of mempcpy.
68736         Reported by Paul Eggert.
68737
68738 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
68739
68740         * lib/string_.h: If the gnulib module XYZ is not present, undefine
68741         the symbol XYZ before redefining it.  This fixes a problem with
68742         programs that don't use XYZ, when compiled on systems that define
68743         XYZ to something else.
68744
68745 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
68746
68747         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
68748         occurs when "mkdir -m foo" creates a setgid directory that is (1)
68749         writeable to group or other and (2) is intended to have a special
68750         mode bit that is set or cleared.  In such a case, the directory
68751         should be neither group- nor other-writeable until the special
68752         mode bits are right.
68753
68754 2007-01-31  Eric Blake  <ebb9@byu.net>
68755
68756         * modules/mountlist (Depends-on): Add strstr.
68757
68758         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
68759         bug.
68760         * modules/string (Makefile.am): Remove redundant replacement.
68761         * modules/regex (Depends-on): Add mempcpy.
68762
68763 2007-01-31  Bruno Haible  <bruno@clisp.org>
68764
68765         New module description field 'Link'.
68766         * gnulib-tool (func_usage): Document --extract-link-directive.
68767         (sed_extract_prog): Recognize 'Link' directive.
68768         (func_get_link_directive): New function.
68769         (func_import): Show summary of link directives.
68770         Handle --extract-link-directive option.
68771         * modules/acl (Link): New section.
68772         * modules/clock-time (Link): New section.
68773         * modules/euidaccess (Link): New section.
68774         * modules/gettext (Link): New section.
68775         * modules/iconv (Link): New section.
68776         * modules/lock (Link): New section.
68777         * modules/nanosleep (Link): New section.
68778         * modules/readline (Link): New section.
68779
68780 2007-01-27  Bruno Haible  <bruno@clisp.org>
68781
68782         Enforce the use of gnulib modules for unportable <string.h> functions.
68783         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
68784         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
68785         (gl_HEADER_STRING_H_BODY): Require it.
68786         * lib/string_.h: If the gnulib module XYZ is not present, redefine
68787         the symbol XYZ to one that gives a link error.
68788         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
68789         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
68790         * modules/mempcpy (configure.ac): Likewise.
68791         * modules/memrchr (configure.ac): Likewise.
68792         * modules/stpcpy (configure.ac): Likewise.
68793         * modules/stpncpy (configure.ac): Likewise.
68794         * modules/strcase (configure.ac): Likewise.
68795         * modules/strcasestr (configure.ac): Likewise.
68796         * modules/strchrnul (configure.ac): Likewise.
68797         * modules/strdup (configure.ac): Likewise.
68798         * modules/strndup (configure.ac): Likewise.
68799         * modules/strnlen (configure.ac): Likewise.
68800         * modules/strpbrk (configure.ac): Likewise.
68801         * modules/strsep (configure.ac): Likewise.
68802         * modules/strstr (configure.ac): Likewise.
68803         * modules/strtok_r (configure.ac): Likewise.
68804
68805 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
68806
68807         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
68808
68809 2007-01-30  Jim Meyering  <jim@meyering.net>
68810
68811         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
68812
68813 2007-01-29  Bruno Haible  <bruno@clisp.org>
68814
68815         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
68816         * lib/execute.c: Likewise.
68817         * lib/pipe.c: Likewise.
68818         * lib/printf-args.h: Likewise.
68819         * lib/printf-args.c: Likewise.
68820         * lib/printf-parse.c: Likewise.
68821         * lib/vasnprintf.c: Likewise.
68822
68823 2007-01-29  Eric Blake  <ebb9@byu.net>
68824
68825         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
68826         declaration.
68827
68828 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
68829
68830         * lib/strptime.h (strptime): Use 'restrict' for args where
68831         POSIX requires this.
68832         * lib/strptime.c (strptime): Likewise.
68833         Change license notice from LGPL to GPL, since gnulib-tool will
68834         change this as needed.
68835         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
68836         defined.
68837         Include "strptime.h" first, to check interface.
68838         Do not #undef _LIBC and _NL_CURRENT.
68839         Do not include <stdlib.h>; no longer needed.
68840         Include "time_r.h" and declare ptime_locale_status
68841         only if _LIBC is not defined.
68842         (__P): Remove unused macro.
68843         (match_string): Bring back glibc version, but use it only if _LIBC
68844         is defined.
68845         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
68846         Remove unnecessary assertion and abort() call.
68847         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
68848         * m4/strptime.m4: Fix serial number comment.
68849         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
68850         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
68851         (Depends-on): Add time_r.
68852
68853 2007-01-29  Bruno Haible  <bruno@clisp.org>
68854
68855         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68856         strptime.
68857         * modules/strptime (Depends-on): Add stdbool.
68858         * lib/strptime.h: Include <time.h> always. Add comments.
68859
68860 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68861
68862         * modules/strptime: New file.
68863         * lib/strptime.h: New file.
68864         * lib/strptime.c: New file.
68865         * m4/strptime.m4: New file.
68866
68867 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
68868
68869         * MODULES.html.sh: New module mpsort.
68870         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
68871
68872         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
68873         a circularity problem with HP-UX ia64 reported by Bob Proulx in
68874         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
68875         All uses changed.
68876         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
68877         All uses changed.
68878         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
68879         to _Restrict_.
68880         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
68881         the parameter matches the prototype.
68882
68883 2007-01-28  Jim Meyering  <jim@meyering.net>
68884
68885         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
68886         sys/time.h here, reverting that part of the previous patch:
68887         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
68888
68889 2007-01-28  Bruno Haible  <bruno@clisp.org>
68890
68891         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
68892         value of $(SYS_TIME_H).
68893         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
68894         remove it conditionally, too. [added by Jim Meyering]
68895         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
68896         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
68897         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
68898         GETTIMEOFDAY_REPLACEMENT to 1.
68899
68900 2007-01-28  Bruno Haible  <bruno@clisp.org>
68901
68902         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
68903         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
68904         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
68905         Set UNISTD_H instead of UNISTD_H2.
68906         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
68907
68908 2007-01-28  Bruno Haible  <bruno@clisp.org>
68909
68910         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
68911         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
68912
68913 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68914
68915         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
68916         (func_create_testdir): Ensure C locale for `grep' and `tr'
68917         character ranges.
68918         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
68919         ACLOCAL_AMFLAGS parsing state machine.
68920
68921 2007-01-27  Bruno Haible  <bruno@clisp.org>
68922
68923         * modules/unistr/base: Update.
68924
68925 2007-01-27  Bruno Haible  <bruno@clisp.org>
68926
68927         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
68928         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
68929         * modules/unistr/u32-mbtouc-unsafe: Renamed from
68930         modules/unistr/u32-mbtouc.
68931         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
68932         * lib/unistr.h: Update.
68933         * lib/linebreak.c: Update.
68934         * modules/unistr/u32-mbtouc: Renamed from
68935         modules/unistr/u32-mbtouc-safe.
68936         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
68937         * lib/unistr.h: Update.
68938         * lib/unistr/u32-to-u8.c: Update.
68939         * lib/unistr/u32-to-u16.c: Update.
68940
68941 2007-01-27  Bruno Haible  <bruno@clisp.org>
68942
68943         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
68944         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
68945         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
68946         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
68947         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
68948         * modules/unistr/u16-mbtouc-unsafe: Renamed from
68949         modules/unistr/u16-mbtouc.
68950         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
68951         * lib/unistr.h: Update.
68952         * lib/linebreak.c: Update.
68953         * modules/linebreak: Update.
68954         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
68955         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
68956         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
68957         * modules/unistr/u16-mbtouc: Renamed from
68958         modules/unistr/u16-mbtouc-safe.
68959         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
68960         * lib/unistr.h: Update.
68961         * lib/unistr/u16-to-u8.c: Update.
68962         * modules/unistr/u16-to-u8: Update.
68963         * lib/unistr/u16-to-u32.c: Update.
68964         * modules/unistr/u16-to-u32: Update.
68965
68966 2007-01-27  Bruno Haible  <bruno@clisp.org>
68967
68968         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
68969         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
68970         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
68971         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
68972         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
68973         * modules/unistr/u8-mbtouc-unsafe: Renamed from
68974         modules/unistr/u8-mbtouc.
68975         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
68976         * lib/unistr.h: Update.
68977         * lib/striconveh.c: Update.
68978         * modules/striconveh: Update.
68979         * lib/linebreak.c: Update.
68980         * modules/linebreak: Update.
68981         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
68982         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
68983         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
68984         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
68985         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
68986         * lib/unistr.h: Update.
68987         * lib/striconveh.c: Update.
68988         * modules/striconveh: Update.
68989         * lib/unistr/u8-to-u16.c: Update.
68990         * modules/unistr/u8-to-u16: Update.
68991         * lib/unistr/u8-to-u32.c: Update.
68992         * modules/unistr/u8-to-u32: Update.
68993
68994 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68995
68996         Sync from Libtool.
68997         * lib/argz.c: Do not include strings.h nor memory.h, include
68998         string.h unconditionally.  Patch by Simon Josefsson.
68999
69000 2007-01-27  Bruno Haible  <bruno@clisp.org>
69001
69002         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
69003         from gl_HEADER_STRING_H_BODY.
69004         (gl_HEADER_STRING_H_BODY): Require it.
69005         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
69006         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
69007         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
69008         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
69009         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
69010         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
69011         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
69012         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
69013         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
69014         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
69015         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
69016         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
69017         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
69018         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
69019         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69020
69021 2007-01-27  Bruno Haible  <bruno@clisp.org>
69022
69023         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
69024         check_PROGRAMS into noinst_PROGRAMS.
69025         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
69026         check_PROGRAMS in this case.
69027         (func_import): Set for_test to false.
69028         (func_create_testdir): Set for_test to true.
69029
69030 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
69031             Bruno Haible  <bruno@clisp.org>
69032
69033         * modules/strcasestr (Files): Remove lib/strcasestr.h.
69034         (Depends-on): Add string.
69035         (Includes): Use <string.h> instead of strcasestr.h.
69036         * modules/string (Makefile.am): Also substitute the value of
69037         REPLACE_STRCASESTR.
69038         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
69039         assume strcasestr is declared in <string.h> not <strings.h>. Also
69040         set REPLACE_STRCASESTR.
69041         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
69042         REPLACE_STRCASESTR.
69043         * lib/strcasestr.h: Remove file.
69044         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
69045         * lib/string_.h (strcasestr): New declaration.
69046
69047 2007-01-27  Bruno Haible  <bruno@clisp.org>
69048
69049         * lib/string_.h: Use 'extern'.
69050
69051 2007-01-27  Jim Meyering  <jim@meyering.net>
69052
69053         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
69054         of set-but-not-used local, "q".
69055
69056         * lib/mempcpy.c: Include <config.h> before <string.h>.
69057         This fixes a compilation error on HP-UX, due to the system's
69058         "restrict"-using mempcpy prototype.
69059
69060 2007-01-26  Bruno Haible  <bruno@clisp.org>
69061
69062         Small optimization.
69063         * lib/javacomp.c: Include c-strstr.h.
69064          (is_envjavac_gcj): Use c_strstr instead of strstr.
69065         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
69066
69067 2007-01-26  Bruno Haible  <bruno@clisp.org>
69068
69069         * MODULES.html.sh (Unicode string functions): Add the new modules.
69070
69071         * modules/uniconv/u32-strconv-to-locale: New file.
69072         * lib/uniconv/u32-strconv-to-locale.c: New file.
69073
69074         * modules/uniconv/u16-strconv-to-locale: New file.
69075         * lib/uniconv/u16-strconv-to-locale.c: New file.
69076
69077         * modules/uniconv/u8-strconv-to-locale: New file.
69078         * lib/uniconv/u8-strconv-to-locale.c: New file.
69079
69080         * modules/uniconv/u32-strconv-from-locale: New file.
69081         * lib/uniconv/u32-strconv-from-locale.c: New file.
69082
69083         * modules/uniconv/u16-strconv-from-locale: New file.
69084         * lib/uniconv/u16-strconv-from-locale.c: New file.
69085
69086         * modules/uniconv/u8-strconv-from-locale: New file.
69087         * lib/uniconv/u8-strconv-from-locale.c: New file.
69088
69089         * modules/uniconv/u32-strconv-to-enc: New file.
69090         * lib/uniconv/u32-strconv-to-enc.c: New file.
69091         * modules/uniconv/u32-strconv-to-enc-tests: New file.
69092         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
69093
69094         * modules/uniconv/u16-strconv-to-enc: New file.
69095         * lib/uniconv/u16-strconv-to-enc.c: New file.
69096         * lib/uniconv/u-strconv-to-enc.h: New file.
69097         * modules/uniconv/u16-strconv-to-enc-tests: New file.
69098         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
69099
69100         * modules/uniconv/u8-strconv-to-enc: New file.
69101         * lib/uniconv/u8-strconv-to-enc.c: New file.
69102         * modules/uniconv/u8-strconv-to-enc-tests: New file.
69103         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
69104
69105         * modules/uniconv/u32-strconv-from-enc: New file.
69106         * lib/uniconv/u32-strconv-from-enc.c: New file.
69107         * modules/uniconv/u32-strconv-from-enc-tests: New file.
69108         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
69109
69110         * modules/uniconv/u16-strconv-from-enc: New file.
69111         * lib/uniconv/u16-strconv-from-enc.c: New file.
69112         * modules/uniconv/u16-strconv-from-enc-tests: New file.
69113         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
69114
69115         * modules/uniconv/u8-strconv-from-enc: New file.
69116         * lib/uniconv/u8-strconv-from-enc.c: New file.
69117         * lib/uniconv/u-strconv-from-enc.h: New file.
69118         * modules/uniconv/u8-strconv-from-enc-tests: New file.
69119         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
69120
69121         * modules/uniconv/u32-conv-from-enc: New file.
69122         * lib/uniconv/u32-conv-from-enc.c: New file.
69123         * modules/uniconv/u32-conv-from-enc-tests: New file.
69124         * tests/uniconv/test-u32-conv-from-enc.c: New file.
69125
69126         * modules/uniconv/u16-conv-from-enc: New file.
69127         * lib/uniconv/u16-conv-from-enc.c: New file.
69128         * lib/uniconv/u-conv-from-enc.h: New file.
69129         * modules/uniconv/u16-conv-from-enc-tests: New file.
69130         * tests/uniconv/test-u16-conv-from-enc.c: New file.
69131
69132         * modules/uniconv/u8-conv-from-enc: New file.
69133         * lib/uniconv/u8-conv-from-enc.c: New file.
69134         * modules/uniconv/u8-conv-from-enc-tests: New file.
69135         * tests/uniconv/test-u8-conv-from-enc.c: New file.
69136
69137         * modules/uniconv/base: New file.
69138         * lib/uniconv.h: New file.
69139
69140 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
69141
69142         * doc/gnulib-tool.texi (Initial import): Update to match current
69143         behavior with strdup module.
69144         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
69145         * lib/memmem.h: Remove; all uses removed.  This is now done
69146         by <string.h>.
69147         * lib/mempcpy.h: Likewise.
69148         * lib/memrchr.h: Likewise.
69149         * lib/stpcpy.h: Likewise.
69150         * lib/stpncpy.h: Likewise.
69151         * lib/strcase.h: Likewise.
69152         * lib/strchrnul.h: Likewise.
69153         * lib/strdup.h: Likewise.
69154         * lib/strndup.h: Likewise.
69155         * lib/strnlen.h: Likewise.
69156         * lib/strpbrk.h: Likewise.
69157         * lib/strsep.h: Likewise.
69158         * lib/strstr.h: Likewise.
69159         * lib/strtok_r.h: Likewise.
69160         * lib/string_.h: New file.
69161         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
69162         Rely on <string.h> instead.
69163         * lib/canon-host.c: Likewise.
69164         * lib/chdir-long.c: Likewise.
69165         * lib/concatpath.c: Likewise.
69166         * lib/exclude.c: Likewise.
69167         * lib/fchdir.c: Likewise.
69168         * lib/getaddrinfo.c: Likewise.
69169         * lib/getcwd.c: Likewise.
69170         * lib/getsubopt.c: Likewise.
69171         * lib/glob.c: Likewise.
69172         * lib/hard-locale.c: Likewise.
69173         * lib/iconvme.c: Likewise.
69174         * lib/javacomp.c: Likewise.
69175         * lib/mempcpy.c: Likewise.
69176         * lib/memrchr.c: Likewise.
69177         * lib/regex_internal.h: Likewise.
69178         * lib/stpncpy.c: Likewise.
69179         * lib/strcasecmp.c: Likewise.
69180         * lib/strchrnul.c: Likewise.
69181         * lib/strdup.c: Likewise.
69182         * lib/striconv.c: Likewise.
69183         * lib/striconveh.c: Likewise.
69184         * lib/striconveha.c: Likewise.
69185         * lib/strncasecmp.c: Likewise.
69186         * lib/strndup.c: Likewise.
69187         * lib/strnlen.c: Likewise.
69188         * lib/strsep.c: Likewise.
69189         * lib/strstr.c: Likewise.
69190         * lib/strtok_r.c: Likewise.
69191         * lib/userspec.c: Likewise.
69192         * lib/w32spawn.h: Likewise.
69193         * lib/xstrndup.c: Likewise.
69194         * lib/mountlist.c (strstr): Remove decl.
69195         * m4/string_h.m4: New file.
69196         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
69197         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
69198         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
69199         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
69200         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
69201         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
69202         Set REPLACE_STRCASECMP if necessary.
69203         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
69204         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
69205         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
69206         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
69207         HAVE_DECL_STRDUP if necessary.
69208         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
69209         since gl_FUNC_STRNDUP does that now.
69210         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
69211         Check for decl here...
69212         (gl_PREREQ_STRNLEN): ... not here.
69213         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
69214         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
69215         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
69216         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
69217         necessary.
69218         * modules/string: New file.
69219         * modules/memmem (Files): Remove special-purpose include file.
69220         (Depends-on): Add string.
69221         (Include): Include <string.h>, not the removed file.
69222         * modules/mempcpy: Likewise.
69223         * modules/memrchr: Likewise.
69224         * modules/stpcpy: Likewise.
69225         * modules/stpncpy: Likewise.
69226         * modules/strcase: Likewise.
69227         * modules/strchrnul: Likewise.
69228         * modules/strdup: Likewise.
69229         * modules/strndup: Likewise.
69230         * modules/strnlen: Likewise.
69231         * modules/strpbrk: Likewise.
69232         * modules/strsep: Likewise.
69233         * modules/strstr: Likewise.
69234         * modules/strtok_r: Likewise.
69235         * tests/test-dirname.c: Don't include "strdup.h", since
69236         <string.h> now suffices.
69237         * tests/test-memmem.c: Don't include "memmem.h", since
69238         <string.h> now suffices.
69239
69240 2007-01-25  Bruno Haible  <bruno@clisp.org>
69241
69242         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
69243         *resultp is 0.
69244
69245         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
69246         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
69247         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
69248         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
69249
69250         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
69251         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
69252         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
69253         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
69254         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
69255         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
69256
69257 2007-01-24  Bruno Haible  <bruno@clisp.org>
69258
69259         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
69260         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
69261         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
69262         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
69263         gl_FUNC_FTS_CORE.
69264         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
69265         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
69266         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
69267         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
69268         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
69269         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
69270         gl_FUNC_FCHOWNAT.
69271         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
69272         gl_FUNC_STRFTIME.
69273         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
69274         Reported by Ralf Wildenhues.
69275
69276 2007-01-24  Bruno Haible  <bruno@clisp.org>
69277
69278         Drop AC_REQUIRE calls that are redundant with the module dependencies.
69279         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
69280         gl_GETADDRINFO.
69281         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
69282         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
69283         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
69284
69285 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
69286
69287         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
69288         Don't use 'exit'; just return from 'main'.
69289         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
69290
69291         * lib/fnmatch_.h: Readjust white space and comments to match
69292         glibc, to avoid spurious diffs.
69293
69294 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
69295
69296         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
69297         2004-12-01 change by Jakub Jelinek, since this code won't compile
69298         if !LIBC.  Problem reported by Bob Proulx.
69299
69300 2007-01-23  Bruno Haible  <bruno@clisp.org>
69301
69302         * lib/striconveh.c: Include c-strcaseeq.h.
69303         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
69304         * modules/striconveh (Depends-on): Add c-strcaseeq.
69305
69306 2007-01-23  Bruno Haible  <bruno@clisp.org>
69307
69308         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
69309
69310         * modules/c-strcaseeq: New file.
69311         * lib/c-strcaseeq.h: New file.
69312
69313         * modules/streq: New file.
69314         * lib/streq.h: New file.
69315
69316 2007-01-23  Bruno Haible  <bruno@clisp.org>
69317
69318         * modules/striconveha-tests: New file.
69319         * tests/test-striconveha.c: New file.
69320
69321         * lib/striconveha.h: Include <stdbool.h>.
69322         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
69323         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
69324         (mem_iconveha_notranslit): Renamed from mem_iconveha.
69325         (mem_iconveha): New function.
69326         (str_iconveha_notranslit): Renamed from str_iconveha.
69327         (str_iconveha): New function.
69328         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
69329         c-strcase.
69330
69331 2007-01-23  Bruno Haible  <bruno@clisp.org>
69332
69333         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
69334         encodings without forgiving before trying any encoding with handler.
69335         (str_iconveha): Try all encodings without forgiving before trying any
69336         encoding with handler.
69337
69338 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
69339
69340         Import the following changes from libc.
69341
69342         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
69343
69344         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
69345
69346         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
69347
69348         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
69349         normal_bracket label.
69350
69351         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
69352
69353         [BZ #361]
69354         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
69355         to normal_bracket after fetching the next character.
69356
69357 2007-01-22  Bruno Haible  <bruno@clisp.org>
69358
69359         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
69360         argument.
69361         * lib/striconveh.c (iconv_carefully_1): New function.
69362         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
69363         argument.
69364         (str_cd_iconveh): Update.
69365         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
69366         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
69367         * tests/test-striconveh.c (MAGIC): New macro.
69368         (new_offsets): New function.
69369         (main): Test call with and without offsets.
69370
69371 2007-01-22  Bruno Haible  <bruno@clisp.org>
69372
69373         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
69374         * modules/sys_select (Makefile.am): Likewise.
69375         * modules/sys_socket (Makefile.am): Likewise.
69376         * modules/sys_time (Makefile.am): Likewise.
69377
69378 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
69379
69380         * modules/gettimeofday (License): Change from GPL to LGPL, since
69381         gettimeofday is a library function.
69382
69383 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69384
69385         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
69386
69387 2007-01-21  Bruno Haible  <bruno@clisp.org>
69388
69389         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
69390
69391 2007-01-21  Bruno Haible  <bruno@clisp.org>
69392
69393         * modules/striconveha: New file.
69394         * lib/striconveha.h: New file.
69395         * lib/striconveha.c: New file.
69396         * MODULES.html.sh (Internationalization functions): Add striconveha.
69397         * lib/striconv.c (str_iconv): Optimize the case of an empty input
69398         string.
69399         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
69400
69401 2007-01-21  Bruno Haible  <bruno@clisp.org>
69402
69403         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
69404         * lib/striconveh.c (str_iconveh): Likewise.
69405
69406 2007-01-21  Bruno Haible  <bruno@clisp.org>
69407
69408         * lib/striconveh.h (mem_iconveh): New declaration.
69409         * lib/striconveh.c (mem_iconveh): New function.
69410         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
69411
69412 2007-01-21  Bruno Haible  <bruno@clisp.org>
69413
69414         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
69415
69416         * lib/striconveh.h (mem_cd_iconveh): Change specification.
69417         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
69418         original result buffer.
69419         (str_cd_iconveh): Update.
69420         * tests/test-striconveh.c (main): Update.
69421
69422         * lib/striconv.h (mem_cd_iconv): Change specification.
69423         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
69424         result buffer.
69425         (str_cd_iconv): Update.
69426         * tests/test-striconv.c (main): Update.
69427
69428 2007-01-21  Bruno Haible  <bruno@clisp.org>
69429
69430         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
69431
69432 2007-01-20  Jim Meyering  <jim@meyering.net>
69433
69434         * lib/userspec.c (parse_with_separator): If a user or group string
69435         starts with "+", skip the corresponding name-to-ID look-up, since
69436         such a look-up must fail: user and group names may not include "+".
69437
69438 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
69439
69440         * lib/poll.c: Include sys/time.h and time.h unconditionally,
69441         since we now assume the sys_time module.
69442         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
69443         check for sys/time.h; no longer needed.
69444         * modules/poll (Depends-on): Depend on sys_time.
69445
69446 2007-01-18  Bruno Haible  <bruno@clisp.org>
69447
69448         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
69449         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
69450
69451         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
69452         gettimeofday.
69453
69454         * tests/test-gettimeofday.c: Include <time.h>.
69455         (dummy): Remove variable.
69456
69457         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
69458         gl_HEADER_SYS_TIME_H.
69459         (gl_HEADER_SYS_TIME_H): New macro.
69460
69461         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
69462         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
69463         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
69464         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
69465         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
69466         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
69467         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
69468         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
69469         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
69470         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
69471         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
69472
69473         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
69474         last change; it caused a compilation error when cross-compiling to
69475         Cygwin.
69476
69477 2007-01-18  Jim Meyering  <jim@meyering.net>
69478
69479         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
69480         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
69481         than the race-prone "test -d sys || mkdir sys".
69482         (configure.ac): Use AC_PROG_MKDIR_P.
69483         * modules/sys_select: Likewise.
69484         * modules/sys_socket: Likewise.
69485         * modules/sys_time: Likewise.
69486
69487 2007-01-18  Eric Blake  <ebb9@byu.net>
69488
69489         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
69490         replace gettimeofday.
69491         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
69492         name, to avoid infinite recursion.
69493
69494 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
69495
69496         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
69497         module sys_time.
69498         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
69499         assume timespec.h defines struct timeval.
69500         * lib/settime.c: Likewise.
69501         * lib/utimens.c: Likewise.
69502         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
69503         since we now assume the gettimeofday module.
69504         * lib/tempname.c (__gen_tempname): Likewise.
69505         * lib/gettimeofday.h: Remove.
69506         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
69507         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
69508         Include <time.h>, for 'time()'.
69509         (localtime_buffer_addr): Also use this workaround if
69510         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
69511         to simplify the uses.  All uses changed.
69512         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
69513         that #undef is inside {}, and 'const' follows type name consistently.
69514         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
69515         (gettimeofday): Do not use the maximum possible value for
69516         tv->tv_usec, since that might break usages other than ls.c.
69517         Instead, we'll leave ls.c alone.  This undoes today's patch
69518         by Bruno.  Add a compile-time warning for 1s-clock resolution;
69519         we've never observed the problem but might as well keep the
69520         canary.
69521         * lib/nanosleep.c: Include timespec.h first, for interface check.
69522         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
69523         now assume the sys_time module.
69524         * lib/tempname.c: Likewise.
69525         * lib/timespec.h: Likewise.
69526         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
69527         needed.
69528         * lib/strftime.c: Likewise.
69529         * lib/timespec.h: Likewise.
69530         * lib/posixtm.c: Include posixtm.h first, for interface check.
69531         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
69532         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
69533         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
69534         * lib/sys_time_.h: New file.
69535         * lib/timespec.h (struct timespec): Use long int, not long.
69536         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
69537         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
69538         Remove obsolescent call to AC_HEADER_TIME.
69539         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
69540         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
69541         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
69542         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
69543         Likewise.
69544         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
69545         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
69546         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
69547         into the sys_time module.  Check for gettimeofday just once.
69548         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
69549         for gettimeofday signature to just check the signature.  Merely
69550         compile it, since linking doesn't test signature.  Improve test for
69551         whether gettimeofday.o is actually needed.
69552         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
69553         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
69554         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
69555         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
69556         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
69557         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
69558         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
69559         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
69560         than worrying about sys/time.h.
69561         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
69562         Don't bother worrying about TIME_WITH_SYS_TIME.
69563         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
69564         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
69565         * m4/sys_time_h.m4: New file.
69566         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
69567         Don't include sys/time.h.  Return from main rather than exiting.
69568         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
69569         all uses changed.
69570         * modules/gethrxtime (Depends-on): Add sys_time.
69571         * modules/gettime (Depends-on): Likewise.
69572         * modules/gettimeofday (Depends-on): Likewise.
69573         * modules/nanosleep (Depends-on): Likewise.
69574         * modules/settime (Depends-on): Likewise.
69575         * modules/tempname (Depends-on): Likewise.
69576         * modules/utimens (Depends-on): Likewise.
69577         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
69578         (Include): Change back to <sys/time.h>.
69579         (Maintainer): Add self.
69580         * modules/sys_time: New file.
69581         * modules/tempname (Depends-on): Add gettimeofday.
69582         * tests/test-gettimeofday.c: Include <sys/time.h>
69583         rather than gettimeofday.h.
69584
69585 2007-01-17  Bruno Haible  <bruno@clisp.org>
69586
69587         * gnulib-tool (func_get_license): Revert last patch. Instead, let
69588         the license default to GPL.
69589         (func_create_testdir): Don't complain if a module is LGPL and its
69590         tests module depends on GPLed modules.
69591
69592 2007-01-17  Bruno Haible  <bruno@clisp.org>
69593
69594         * lib/gettimeofday.c (gettimeofday): Add code for the case
69595         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
69596         maximum possible value for tv->tv_usec, rather than the minimum one.
69597
69598 2005-10-08  Martin Lambers  <marlam@marlam.de>
69599 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
69600 2007-01-16  Bruno Haible  <bruno@clisp.org>
69601
69602         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
69603         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
69604         gl_FUNC_GETTIMEOFDAY.
69605         (Include): Add gettimeofday.h.
69606         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
69607         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
69608         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
69609         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
69610         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
69611         * lib/gettimeofday.h: New file.
69612         * lib/gettimeofday.c: Include <sys/timeb.h>.
69613         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
69614         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
69615         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
69616         fall back on time().
69617
69618         * tests/test-gettimeofday.c: New file.
69619         * modules/gettimeofday-tests: New file.
69620
69621 2007-01-16  Eric Blake  <ebb9@byu.net>
69622
69623         * modules/fnmatch (Depends-on): Depend on wchar.
69624         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
69625         * m4/fnmatch.m4: Likewise.
69626         * modules/mbchar (Makefile.am): Assume <wchar.h>.
69627         * m4/mbchar.m4: Likewise.
69628         * modules/mbswidth (Depends-on): Depend on wchar.
69629         * lib/mbswidth.c: Assume <wchar.h>.
69630         * m4/mbswidth.m4: Likewise.
69631         * modules/quotearg (Depends-on): Depend on wchar.
69632         * lib/quotearg.c: Assume <wchar.h>.
69633         * m4/quotearg.m4: Likewise.
69634         * modules/regex (Depends-on): Depend on wchar.
69635         * lib/regex_internal.h: Assume <wchar.h>.
69636         * m4/regex.m4: Likewise.
69637         * modules/stdint (Depends-on): Depend on wchar.
69638         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
69639         * m4/stdint.m4: Likewise.
69640         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
69641         * modules/strftime (Depends-on): Depend on wchar.
69642         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
69643         * modules/strtol (Depends-on): Depend on wchar.
69644         * lib/strtol.c: Assume <wchar.h>.
69645         * modules/wcwidth (Depends-on): Depend on wchar.
69646         * lib/wcwidth.h: Assume <wchar.h>.
69647         * m4/wcwidth.m4: Likewise.
69648
69649 2007-01-16  Bruno Haible  <bruno@clisp.org>
69650
69651         * modules/csharpexec-script: New, created from...
69652         * modules/csharpexec: ... this.
69653
69654 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
69655
69656         * modules/javaexec-script: New, created from...
69657         * modules/javaexec: ... this.
69658
69659 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69660
69661         * modules/poll (Dependencies): Add sys_select.
69662
69663 2007-01-15  Jim Meyering  <jim@meyering.net>
69664
69665         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
69666         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
69667         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
69668         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
69669
69670 2007-01-15  Bruno Haible  <bruno@clisp.org>
69671
69672         * modules/striconveh: New file.
69673         * lib/striconveh.h: New file.
69674         * lib/striconveh.c: New file.
69675         * MODULES.html.sh (Internationalization functions): Add striconveh.
69676
69677         * modules/striconveh-tests: New file.
69678         * tests/test-striconveh.c: New file.
69679
69680 2007-01-15  Bruno Haible  <bruno@clisp.org>
69681
69682         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
69683         not from GNU libiconv or GNU libc.
69684
69685 2007-01-15  Bruno Haible  <bruno@clisp.org>
69686
69687         * doc/gnulib-intro.texi (Copyright): Explain the different license
69688         terms for module descriptions, autoconf macros, tests, documentation.
69689
69690 2007-01-14  Bruno Haible  <bruno@clisp.org>
69691
69692         * modules/striconv-tests: New file.
69693         * tests/test-striconv.c: New file.
69694
69695 2007-01-14  Bruno Haible  <bruno@clisp.org>
69696
69697         * modules/iconv-tests: New file.
69698         * tests/test-iconv.c: New file.
69699
69700 2007-01-14  Bruno Haible  <bruno@clisp.org>
69701
69702         * gnulib-tool (func_get_license): For test modules, use the license of
69703         the main module.
69704
69705 2007-01-14  Bruno Haible  <bruno@clisp.org>
69706
69707         * modules/iconv (Include): Clarify that <iconv.h> can only be included
69708         if iconv is found to exist.
69709
69710 2007-01-14  Bruno Haible  <bruno@clisp.org>
69711
69712         * modules/c-ctype-tests: New file.
69713         * tests/test-c-ctype.c: New file.
69714
69715 2007-01-14  Bruno Haible  <bruno@clisp.org>
69716
69717         * modules/binary-io-tests: New file.
69718         * tests/test-binary-io.sh: New file.
69719         * tests/test-binary-io.c: New file.
69720
69721 2007-01-14  Bruno Haible  <bruno@clisp.org>
69722
69723         * modules/array-oset-tests: New file.
69724         * tests/test-array_oset.c: New file.
69725
69726 2007-01-14  Bruno Haible  <bruno@clisp.org>
69727
69728         * modules/array-list-tests: New file.
69729         * tests/test-array_list.c: New file.
69730
69731 2007-01-14  Bruno Haible  <bruno@clisp.org>
69732
69733         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
69734         and make.
69735         Reported by Simon Josefsson in
69736         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
69737
69738 2007-01-14  Bruno Haible  <bruno@clisp.org>
69739
69740         * modules/allocsa-tests: New file.
69741         * tests/test-allocsa.c: New file.
69742
69743 2007-01-14  Bruno Haible  <bruno@clisp.org>
69744
69745         * modules/fchdir (Depends-on): Add absolute-header.
69746         * modules/unistd (Depends-on): Likewise.
69747
69748 2006-12-30  Bruno Haible  <bruno@clisp.org>
69749
69750         * modules/fchdir: New file.
69751         * modules/unistd (Files): Add lib/unistd_.h.
69752         (Makefile.am): Generate unistd.h from unistd_.h.
69753         * lib/fchdir.c: New file.
69754         * lib/dirent_.h: New file.
69755         * lib/unistd_.h: New file.
69756         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
69757         * m4/fchdir.m4: New file.
69758         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
69759         (gl_HEADER_UNISTD): Invoke it.
69760         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
69761         function.
69762         * lib/backupfile.c (opendir, closedir): Undefine.
69763         * lib/chown.c (open, close): Undefine.
69764         * lib/clean-temp.c (open, close): Undefine.
69765         * lib/copy-file.c (open, close): Undefine.
69766         * lib/execute.c (open, close): Undefine.
69767         * lib/fsusage.c (open, close): Undefine.
69768         * lib/gc-gnulib.c (open, close): Undefine.
69769         * lib/getcwd.c (opendir, closedir): Undefine.
69770         * lib/glob.c (opendir, closedir): Undefine.
69771         * lib/javacomp.c (open, close): Undefine.
69772         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
69773         * lib/openat-proc.c (open, close): Undefine.
69774         * lib/pagealign_alloc.c (open, close): Undefine.
69775         * lib/pipe.c (open, close): Undefine.
69776         * lib/progreloc.c (open, close): Undefine.
69777         * lib/savedir.c (opendir, closedir): Undefine.
69778         * lib/utime.c (open, close): Undefine.
69779         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
69780
69781 2007-01-10  Bruno Haible  <bruno@clisp.org>
69782
69783         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
69784
69785 2007-01-12  Eric Blake  <ebb9@byu.net>
69786
69787         Provide a robust <wchar.h>.  Further simplifications are now
69788         possible in other modules, but not included here.
69789         * modules/wchar: New module.
69790         * m4/wchar.m4: New file.
69791         * lib/wchar_.h: Likewise.
69792         * modules/mbchar (Depends-on): Depend on wchar, as the first use
69793         of the new module.
69794         * MODULES.html.sh (Extended multibyte and wide character utilities):
69795         New section.
69796
69797 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
69798
69799         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
69800         to a reasonable default for memory allocation.
69801         (xreadlink): Don't allocate a huge buffer, to work around a buggy
69802         file system that reports garbage st_size values for symlinks.
69803         Problem reported by Liyang Hu.
69804
69805 2007-01-11  Simon Josefsson  <simon@josefsson.org>
69806
69807         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
69808         Emacs .#* auto-save files).
69809
69810 2007-01-11  Bruno Haible  <bruno@clisp.org>
69811
69812         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
69813         directory.
69814
69815 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
69816
69817         Use @...@ consistently in lib/wctype_.h.
69818         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
69819         on it being set to 1 or 0.
69820         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
69821         go back to AC_SUBSTing it.
69822         * modules/wctype (Makefile.am): Undo previous change.
69823
69824 2007-01-10  Eric Blake  <ebb9@byu.net>
69825
69826         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
69827         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
69828         * modules/wctype (Makefile.am): Likewise.
69829         Reported by Chris McGuire.
69830
69831 2007-01-10  Jim Meyering  <jim@meyering.net>
69832
69833         fts.c: a small readability/maintainability improvement
69834         * lib/fts.c (fts_read): Make this code slightly more readable and
69835         maintainable by hoisting the "sp->fts_cur = p" assignments to
69836         immediately follow the statements that set P.  Derived from
69837         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
69838
69839 2007-01-10  Eric Blake  <ebb9@byu.net>
69840
69841         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
69842         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
69843         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
69844         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
69845         Reported by Chris McGuire.
69846
69847 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69848
69849         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
69850         in sed script.
69851
69852 2007-01-09  Bruno Haible  <bruno@clisp.org>
69853
69854         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
69855         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
69856         variables.
69857         (func_module): Use them.
69858
69859 2007-01-09  Bruno Haible  <bruno@clisp.org>
69860
69861         * modules/unistr/base: New file.
69862         * lib/unistr.h: New file.
69863
69864         * modules/unistr/u8-to-u16: New file.
69865         * lib/unistr/u8-to-u16.c: New file.
69866
69867         * modules/unistr/u8-to-u32: New file.
69868         * lib/unistr/u8-to-u32.c: New file.
69869
69870         * modules/unistr/u16-to-u8: New file.
69871         * lib/unistr/u16-to-u8.c: New file.
69872
69873         * modules/unistr/u16-to-u32: New file.
69874         * lib/unistr/u16-to-u32.c: New file.
69875
69876         * modules/unistr/u32-to-u8: New file.
69877         * lib/unistr/u32-to-u8.c: New file.
69878
69879         * modules/unistr/u32-to-u16: New file.
69880         * lib/unistr/u32-to-u16.c: New file.
69881
69882         * modules/unistr/u8-check: New file.
69883         * modules/unistr/u16-check: New file.
69884         * modules/unistr/u32-check: New file.
69885         * lib/unistr/u8-check.c: New file.
69886         * lib/unistr/u16-check.c: New file.
69887         * lib/unistr/u32-check.c: New file.
69888
69889         * modules/unistr/u8-chr: New file.
69890         * modules/unistr/u16-chr: New file.
69891         * modules/unistr/u32-chr: New file.
69892         * lib/unistr/u8-chr.c: New file.
69893         * lib/unistr/u16-chr.c: New file.
69894         * lib/unistr/u32-chr.c: New file.
69895
69896         * modules/unistr/u8-cmp: New file.
69897         * modules/unistr/u16-cmp: New file.
69898         * modules/unistr/u32-cmp: New file.
69899         * lib/unistr/u8-cmp.c: New file.
69900         * lib/unistr/u16-cmp.c: New file.
69901         * lib/unistr/u32-cmp.c: New file.
69902
69903         * modules/unistr/u8-cpy: New file.
69904         * modules/unistr/u16-cpy: New file.
69905         * modules/unistr/u32-cpy: New file.
69906         * lib/unistr/u8-cpy.c: New file.
69907         * lib/unistr/u16-cpy.c: New file.
69908         * lib/unistr/u32-cpy.c: New file.
69909         * lib/unistr/u-cpy.h: New file.
69910
69911         * modules/unistr/u8-cpy-alloc: New file.
69912         * modules/unistr/u16-cpy-alloc: New file.
69913         * modules/unistr/u32-cpy-alloc: New file.
69914         * lib/unistr/u8-cpy-alloc.c: New file.
69915         * lib/unistr/u16-cpy-alloc.c: New file.
69916         * lib/unistr/u32-cpy-alloc.c: New file.
69917         * lib/unistr/u-cpy-alloc.h: New file.
69918
69919         * modules/unistr/u8-endswith: New file.
69920         * modules/unistr/u16-endswith: New file.
69921         * modules/unistr/u32-endswith: New file.
69922         * lib/unistr/u8-endswith.c: New file.
69923         * lib/unistr/u16-endswith.c: New file.
69924         * lib/unistr/u32-endswith.c: New file.
69925         * lib/unistr/u-endswith.h: New file.
69926
69927         * modules/unistr/u8-mblen: New file.
69928         * modules/unistr/u16-mblen: New file.
69929         * modules/unistr/u32-mblen: New file.
69930         * lib/unistr/u8-mblen.c: New file.
69931         * lib/unistr/u16-mblen.c: New file.
69932         * lib/unistr/u32-mblen.c: New file.
69933
69934         * modules/unistr/u8-mbtouc: New file.
69935         * modules/unistr/u16-mbtouc: New file.
69936         * modules/unistr/u32-mbtouc: New file.
69937         * lib/unistr/u8-mbtouc.c: New file.
69938         * lib/unistr/u16-mbtouc.c: New file.
69939         * lib/unistr/u32-mbtouc.c: New file.
69940
69941         * modules/unistr/u8-mbtouc-safe: New file.
69942         * modules/unistr/u16-mbtouc-safe: New file.
69943         * modules/unistr/u32-mbtouc-safe: New file.
69944         * lib/unistr/u8-mbtouc-safe.c: New file.
69945         * lib/unistr/u16-mbtouc-safe.c: New file.
69946         * lib/unistr/u32-mbtouc-safe.c: New file.
69947
69948         * modules/unistr/u8-move: New file.
69949         * modules/unistr/u16-move: New file.
69950         * modules/unistr/u32-move: New file.
69951         * lib/unistr/u8-move.c: New file.
69952         * lib/unistr/u16-move.c: New file.
69953         * lib/unistr/u32-move.c: New file.
69954         * lib/unistr/u-move.h: New file.
69955
69956         * modules/unistr/u8-next: New file.
69957         * modules/unistr/u16-next: New file.
69958         * modules/unistr/u32-next: New file.
69959         * lib/unistr/u8-next.c: New file.
69960         * lib/unistr/u16-next.c: New file.
69961         * lib/unistr/u32-next.c: New file.
69962
69963         * modules/unistr/u8-prev: New file.
69964         * modules/unistr/u16-prev: New file.
69965         * modules/unistr/u32-prev: New file.
69966         * lib/unistr/u8-prev.c: New file.
69967         * lib/unistr/u16-prev.c: New file.
69968         * lib/unistr/u32-prev.c: New file.
69969
69970         * modules/unistr/u8-set: New file.
69971         * modules/unistr/u16-set: New file.
69972         * modules/unistr/u32-set: New file.
69973         * lib/unistr/u8-set.c: New file.
69974         * lib/unistr/u16-set.c: New file.
69975         * lib/unistr/u32-set.c: New file.
69976         * lib/unistr/u-set.h: New file.
69977
69978         * modules/unistr/u8-startswith: New file.
69979         * modules/unistr/u16-startswith: New file.
69980         * modules/unistr/u32-startswith: New file.
69981         * lib/unistr/u8-startswith.c: New file.
69982         * lib/unistr/u16-startswith.c: New file.
69983         * lib/unistr/u32-startswith.c: New file.
69984         * lib/unistr/u-startswith.h: New file.
69985
69986         * modules/unistr/u8-stpcpy: New file.
69987         * modules/unistr/u16-stpcpy: New file.
69988         * modules/unistr/u32-stpcpy: New file.
69989         * lib/unistr/u8-stpcpy.c: New file.
69990         * lib/unistr/u16-stpcpy.c: New file.
69991         * lib/unistr/u32-stpcpy.c: New file.
69992         * lib/unistr/u-stpcpy.h: New file.
69993
69994         * modules/unistr/u8-stpncpy: New file.
69995         * modules/unistr/u16-stpncpy: New file.
69996         * modules/unistr/u32-stpncpy: New file.
69997         * lib/unistr/u8-stpncpy.c: New file.
69998         * lib/unistr/u16-stpncpy.c: New file.
69999         * lib/unistr/u32-stpncpy.c: New file.
70000         * lib/unistr/u-stpncpy.h: New file.
70001
70002         * modules/unistr/u8-strcat: New file.
70003         * modules/unistr/u16-strcat: New file.
70004         * modules/unistr/u32-strcat: New file.
70005         * lib/unistr/u8-strcat.c: New file.
70006         * lib/unistr/u16-strcat.c: New file.
70007         * lib/unistr/u32-strcat.c: New file.
70008         * lib/unistr/u-strcat.h: New file.
70009
70010         * modules/unistr/u8-strchr: New file.
70011         * modules/unistr/u16-strchr: New file.
70012         * modules/unistr/u32-strchr: New file.
70013         * lib/unistr/u8-strchr.c: New file.
70014         * lib/unistr/u16-strchr.c: New file.
70015         * lib/unistr/u32-strchr.c: New file.
70016
70017         * modules/unistr/u8-strcmp: New file.
70018         * modules/unistr/u16-strcmp: New file.
70019         * modules/unistr/u32-strcmp: New file.
70020         * lib/unistr/u8-strcmp.c: New file.
70021         * lib/unistr/u16-strcmp.c: New file.
70022         * lib/unistr/u32-strcmp.c: New file.
70023
70024         * modules/unistr/u8-strcpy: New file.
70025         * modules/unistr/u16-strcpy: New file.
70026         * modules/unistr/u32-strcpy: New file.
70027         * lib/unistr/u8-strcpy.c: New file.
70028         * lib/unistr/u16-strcpy.c: New file.
70029         * lib/unistr/u32-strcpy.c: New file.
70030         * lib/unistr/u-strcpy.h: New file.
70031
70032         * modules/unistr/u8-strcspn: New file.
70033         * modules/unistr/u16-strcspn: New file.
70034         * modules/unistr/u32-strcspn: New file.
70035         * lib/unistr/u8-strcspn.c: New file.
70036         * lib/unistr/u16-strcspn.c: New file.
70037         * lib/unistr/u32-strcspn.c: New file.
70038         * lib/unistr/u-strcspn.h: New file.
70039
70040         * modules/unistr/u8-strdup: New file.
70041         * modules/unistr/u16-strdup: New file.
70042         * modules/unistr/u32-strdup: New file.
70043         * lib/unistr/u8-strdup.c: New file.
70044         * lib/unistr/u16-strdup.c: New file.
70045         * lib/unistr/u32-strdup.c: New file.
70046         * lib/unistr/u-strdup.h: New file.
70047
70048         * modules/unistr/u8-strlen: New file.
70049         * modules/unistr/u16-strlen: New file.
70050         * modules/unistr/u32-strlen: New file.
70051         * lib/unistr/u8-strlen.c: New file.
70052         * lib/unistr/u16-strlen.c: New file.
70053         * lib/unistr/u32-strlen.c: New file.
70054         * lib/unistr/u-strlen.h: New file.
70055
70056         * modules/unistr/u8-strmblen: New file.
70057         * modules/unistr/u16-strmblen: New file.
70058         * modules/unistr/u32-strmblen: New file.
70059         * lib/unistr/u8-strmblen.c: New file.
70060         * lib/unistr/u16-strmblen.c: New file.
70061         * lib/unistr/u32-strmblen.c: New file.
70062
70063         * modules/unistr/u8-strmbtouc: New file.
70064         * modules/unistr/u16-strmbtouc: New file.
70065         * modules/unistr/u32-strmbtouc: New file.
70066         * lib/unistr/u8-strmbtouc.c: New file.
70067         * lib/unistr/u16-strmbtouc.c: New file.
70068         * lib/unistr/u32-strmbtouc.c: New file.
70069
70070         * modules/unistr/u8-strncat: New file.
70071         * modules/unistr/u16-strncat: New file.
70072         * modules/unistr/u32-strncat: New file.
70073         * lib/unistr/u8-strncat.c: New file.
70074         * lib/unistr/u16-strncat.c: New file.
70075         * lib/unistr/u32-strncat.c: New file.
70076         * lib/unistr/u-strncat.h: New file.
70077
70078         * modules/unistr/u8-strncmp: New file.
70079         * modules/unistr/u16-strncmp: New file.
70080         * modules/unistr/u32-strncmp: New file.
70081         * lib/unistr/u8-strncmp.c: New file.
70082         * lib/unistr/u16-strncmp.c: New file.
70083         * lib/unistr/u32-strncmp.c: New file.
70084
70085         * modules/unistr/u8-strncpy: New file.
70086         * modules/unistr/u16-strncpy: New file.
70087         * modules/unistr/u32-strncpy: New file.
70088         * lib/unistr/u8-strncpy.c: New file.
70089         * lib/unistr/u16-strncpy.c: New file.
70090         * lib/unistr/u32-strncpy.c: New file.
70091         * lib/unistr/u-strncpy.h: New file.
70092
70093         * modules/unistr/u8-strnlen: New file.
70094         * modules/unistr/u16-strnlen: New file.
70095         * modules/unistr/u32-strnlen: New file.
70096         * lib/unistr/u8-strnlen.c: New file.
70097         * lib/unistr/u16-strnlen.c: New file.
70098         * lib/unistr/u32-strnlen.c: New file.
70099         * lib/unistr/u-strnlen.h: New file.
70100
70101         * modules/unistr/u8-strpbrk: New file.
70102         * modules/unistr/u16-strpbrk: New file.
70103         * modules/unistr/u32-strpbrk: New file.
70104         * lib/unistr/u8-strpbrk.c: New file.
70105         * lib/unistr/u16-strpbrk.c: New file.
70106         * lib/unistr/u32-strpbrk.c: New file.
70107         * lib/unistr/u-strpbrk.h: New file.
70108
70109         * modules/unistr/u8-strrchr: New file.
70110         * modules/unistr/u16-strrchr: New file.
70111         * modules/unistr/u32-strrchr: New file.
70112         * lib/unistr/u8-strrchr.c: New file.
70113         * lib/unistr/u16-strrchr.c: New file.
70114         * lib/unistr/u32-strrchr.c: New file.
70115
70116         * modules/unistr/u8-strspn: New file.
70117         * modules/unistr/u16-strspn: New file.
70118         * modules/unistr/u32-strspn: New file.
70119         * lib/unistr/u8-strspn.c: New file.
70120         * lib/unistr/u16-strspn.c: New file.
70121         * lib/unistr/u32-strspn.c: New file.
70122         * lib/unistr/u-strspn.h: New file.
70123
70124         * modules/unistr/u8-strstr: New file.
70125         * modules/unistr/u16-strstr: New file.
70126         * modules/unistr/u32-strstr: New file.
70127         * lib/unistr/u8-strstr.c: New file.
70128         * lib/unistr/u16-strstr.c: New file.
70129         * lib/unistr/u32-strstr.c: New file.
70130         * lib/unistr/u-strstr.h: New file.
70131
70132         * modules/unistr/u8-strtok: New file.
70133         * modules/unistr/u16-strtok: New file.
70134         * modules/unistr/u32-strtok: New file.
70135         * lib/unistr/u8-strtok.c: New file.
70136         * lib/unistr/u16-strtok.c: New file.
70137         * lib/unistr/u32-strtok.c: New file.
70138         * lib/unistr/u-strtok.h: New file.
70139
70140         * modules/unistr/u8-uctomb: New file.
70141         * modules/unistr/u16-uctomb: New file.
70142         * modules/unistr/u32-uctomb: New file.
70143         * lib/unistr/u8-uctomb.c: New file.
70144         * lib/unistr/u16-uctomb.c: New file.
70145         * lib/unistr/u32-uctomb.c: New file.
70146
70147         * MODULES.html.sh (Unicode string functions): Add the new modules.
70148
70149 2007-01-08  Bruno Haible  <bruno@clisp.org>
70150
70151         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
70152         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
70153         subdirectories.
70154
70155 2007-01-08  Karl Berry  <karl@gnu.org>
70156
70157         * doc/error.texi: mention that main() fns must set program_name
70158         when progname is used.
70159
70160 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
70161
70162         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
70163         WCTYPE_H is empty, for the benefit of builds from non-distclean
70164         directories.  Problem reported by Eric Blake in
70165         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
70166
70167 2007-01-08  Bruno Haible  <bruno@clisp.org>
70168
70169         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
70170         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
70171         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
70172         PROVIDE_CANONICALIZE_FILENAME_MODE.
70173         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
70174
70175 2007-01-08  Bruno Haible  <bruno@clisp.org>
70176
70177         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
70178         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
70179         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
70180         * lib/fts.c: Likewise.
70181         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
70182
70183 2006-12-25  Bruno Haible  <bruno@clisp.org>
70184
70185         * modules/utf8-ucs4-safe: New file.
70186         * lib/utf8-ucs4-safe.h: New file.
70187         * lib/unistr/utf8-ucs4-safe.c: New file.
70188
70189         * modules/utf16-ucs4-safe: New file.
70190         * lib/utf16-ucs4-safe.h: New file.
70191         * lib/unistr/utf16-ucs4-safe.c: New file.
70192
70193         * MODULES.html.sh (Unicode string functions): Add the new modules.
70194
70195 2007-01-08  Bruno Haible  <bruno@clisp.org>
70196
70197         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
70198         (Depends-on): Add unitypes.
70199         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
70200         (u8_mbtouc_aux): Move out to separate file.
70201         (u8_mbtouc): Use ucs4_t, uint8_t types.
70202         * lib/unistr/utf8-ucs4.c: New file.
70203
70204         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
70205         (Depends-on): Add unitypes.
70206         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
70207         (u16_mbtouc_aux): Move out to separate file.
70208         (u16_mbtouc): Use ucs4_t, uint16_t types.
70209         * lib/unistr/utf16-ucs4.c: New file.
70210
70211         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
70212         (Depends-on): Add unitypes.
70213         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
70214         (u8_uctomb_aux): Move out to separate file.
70215         (u8_uctomb): Use ucs4_t, uint8_t types.
70216         * lib/unistr/ucs4-utf8.c: New file.
70217
70218         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
70219         (Depends-on): Add unitypes.
70220         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
70221         (u16_uctomb_aux): Move out to separate file.
70222         (u16_uctomb): Use ucs4_t, uint16_t types.
70223         * lib/unistr/ucs4-utf16.c: New file.
70224
70225 2006-12-25  Bruno Haible  <bruno@clisp.org>
70226
70227         * modules/unitypes: New file.
70228         * lib/unitypes.h: New file.
70229         * MODULES.html.sh (func_all_modules): New section "Unicode string
70230         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
70231         this section. Add unitypes.
70232
70233 2007-01-08  Bruno Haible  <bruno@clisp.org>
70234
70235         Avoid variable names that conflict with those from libtool.
70236         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
70237         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
70238         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
70239         library_names_spec to acl_library_names_spec, hardcode_* to
70240         acl_hardcode_*.
70241         Reported by Ralf Wildenhues.
70242
70243 2007-01-08  Bruno Haible  <bruno@clisp.org>
70244
70245         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
70246         definition.
70247         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
70248         definition.
70249         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
70250         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
70251         definition.
70252         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
70253         definition.
70254         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
70255         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
70256         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
70257         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
70258         definition.
70259         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
70260         definition.
70261         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
70262         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
70263         GC_USE_<algorithm>.
70264         * lib/gc-libgcrypt.c: Likewise.
70265         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
70266         * modules/gc-arctwo (configure.ac): Likewise.
70267         * modules/gc-des (configure.ac): Likewise.
70268         * modules/gc-hmac-md5 (configure.ac): Likewise.
70269         * modules/gc-hmac-sha1 (configure.ac): Likewise.
70270         * modules/gc-md2 (configure.ac): Likewise.
70271         * modules/gc-md4 (configure.ac): Likewise.
70272         * modules/gc-md5 (configure.ac): Likewise.
70273         * modules/gc-random (configure.ac): Likewise.
70274         * modules/gc-rijndael (configure.ac): Likewise.
70275         * modules/gc-sha1 (configure.ac): Likewise.
70276
70277 2007-01-08  Bruno Haible  <bruno@clisp.org>
70278
70279         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
70280         macro definition.
70281         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
70282         definition.
70283         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
70284         definition.
70285         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
70286         * modules/fcntl-safer (configure.ac): Likewise.
70287         * modules/fopen-safer (configure.ac): Likewise.
70288         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
70289         GNULIB_FWRITEERROR macro definition.
70290
70291 2007-01-08  Bruno Haible  <bruno@clisp.org>
70292
70293         * m4/gnulib-common.m4: New file.
70294         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
70295         (func_get_filelist): Add m4/gnulib-common.m4.
70296
70297 2007-01-08  Bruno Haible  <bruno@clisp.org>
70298
70299         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
70300         command.
70301
70302 2007-01-08  Jim Meyering  <jim@meyering.net>
70303
70304         Use a more robust test for a "can't happen" condition.
70305         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
70306         narrowed the st_size value.  Presuming the "can't happen" condition
70307         is true, that narrowing could conceivably convert an invalid st_size
70308         value into a valid one.  Instead, use a change based on Matthew
70309         Woehlke's original patch.
70310
70311         Slight readability improvement: use an assert-like macro
70312         in place of literal "abort ()" uses.
70313         * lib/fts.c (fts_assert): Define.
70314         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
70315         Use this macro instead of a bare 'abort'.
70316
70317 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
70318
70319         Don't worry about using IRIX 5.3's wctype.h broken definitions;
70320         simply work around them.
70321         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
70322         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
70323         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
70324         declaring.
70325         Don't bother to define as macros, since the standard doesn't require it.
70326         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
70327         longer worry about IRIX 5.3.
70328         (HAVE_WCTYPE_CTMP_BUG): Remove.
70329
70330 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
70331
70332         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
70333         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
70334         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
70335         Problems reported by Georg Schwarz for IRIX 5.3.
70336
70337         * gnulib-tool (autoconf_minversion): Take the maximum version number
70338         found, not the minimum.  Problem reported by James Youngman.
70339
70340 2007-01-03  Karl Berry  <karl@gnu.org>
70341
70342         * doc/error.texi: new file, explaining interaction with progname.
70343         * doc/gnulib.texi: include it.  Update copyright.
70344
70345 2007-01-03  Simon Josefsson  <simon@josefsson.org>
70346
70347         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
70348         AC_CANONICAL_HOST, to improve autobuild outputs.
70349
70350 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
70351             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
70352
70353         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
70354         sockets, server sockets, and other file descriptors.  Count errors
70355         to compute the return value.  Reorder the code a bit to be easier
70356         to follow.  Don't set event bits that were not requested (except
70357         POLLERR and POLLHUP).
70358
70359 2007-01-01  Bruno Haible  <bruno@clisp.org>
70360
70361         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
70362
70363 2007-01-03  Jim Meyering  <jim@meyering.net>
70364
70365         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
70366
70367 2007-01-02  Bruno Haible  <bruno@clisp.org>
70368
70369         * modules/settime (Include): Require timespec.h.
70370         * modules/nanosleep (Include): Likewise.
70371
70372 2007-01-01  Bruno Haible  <bruno@clisp.org>
70373
70374         * gnulib-tool (func_emit_copyright_notice): Bump year.
70375         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
70376
70377 2007-01-01  Bruno Haible  <bruno@clisp.org>
70378
70379         Improve support for OpenBSD.
70380         * build-aux/config.rpath (libname_spec): Export.
70381         (library_names_spec): New variable. Export.
70382         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
70383         library_names_spec from the config.rpath output. Locate shared library
70384         through the name pattern in library_names_spec.
70385
70386 2007-01-01  Eric Blake  <ebb9@byu.net>
70387
70388         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
70389
70390 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
70391
70392         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
70393         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
70394         assume the C locale, and avoid an "eval" that could cause trouble.
70395         Problem with SORT reported by Bob Proulx.
70396
70397         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
70398         Define.  Trivial patch from Henning Nielsen Lund, originally
70399         sent to bug-grep@gnu.org today.
70400
70401 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
70402
70403         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
70404         struct stat.  Problem reported by Henning Nielsen Lund.
70405         * lib/acl.c: Include acl.h first, to check interface.  Don't
70406         bother to include sys/types.h and sys/stat.h again.
70407
70408 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
70409
70410         Import the following change from libc; problem reported by
70411         Sven Verdoolaege.
70412
70413         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
70414
70415         [BZ #1373]
70416         * lib/argp.h: Remove __NTH for __argp_usage inline function.
70417
70418 2006-12-28  Jim Meyering  <jim@meyering.net>
70419
70420         * build-aux/announce-gen: Do not assume that the package
70421         builds any of tar.gz, tar.bz2, and .xdelta files.
70422         Suggestion from Simon Josefsson.
70423
70424 2006-12-28  Simon Josefsson  <simon@josefsson.org>
70425
70426         * modules/announce-gen: New file.
70427
70428 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
70429
70430         * lib/mbchar.h: Just include <wctype.h>; the wctype module
70431         handles its gotchas now.
70432         * lib/mbswidth.c: Likewise.
70433         * lib/wcwidth.h: Likewise.
70434         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
70435         and iswcntrl; the wctype module does this stuff now.
70436         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
70437         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
70438         * modules/mbchar (Depends-on): Add wctype.
70439         * modules/mbswidth (Depends-on): Likewise.
70440         * modules/wcwidth (Depends-on): Likewise.
70441
70442 2006-12-27  Eric Blake  <ebb9@byu.net>
70443
70444         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
70445         module uses more than what <wctype.h> is required to provide.
70446
70447 2006-12-26  Eric Blake  <ebb9@byu.net>
70448
70449         * gnulib-tool (sed_extract_prog): Avoid space-tab.
70450
70451 2006-12-26  Eric Blake  <ebb9@byu.net>
70452
70453         * modules/absolute-header: New module.
70454         * modules/fcntl (Depends-on): Depend on it.
70455         * modules/inttypes (Depends-on): Likewise.
70456         * modules/stdint (Depends-on): Likewise.
70457         * modules/sys_stat (Depends-on): Likewise.
70458         * modules/wctype (Depends-on): Likewise.
70459         * MODULES.html.sh (Support for building libraries and
70460         executables): Document it.
70461
70462 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
70463
70464         * gnulib-tool (SED): Remove, undoing previous change.
70465         The problem was that it broke coreutils on Solaris, because
70466         "sed --posix" leaked into a makefile.
70467         (sed): New alias, if 'alias' and GNU sed.
70468
70469 2006-12-24  Jim Meyering  <jim@meyering.net>
70470
70471         Work around an fchownat bug in glibc-2.4:
70472         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
70473         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
70474         in spite of the -P option.
70475         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
70476         New macros.
70477         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
70478         * modules/openat (Files): Add lib/fchownat.c.
70479         * lib/openat.c (fchownat): Don't define here.  Move to...
70480         * lib/fchownat.c: ...this new file.
70481
70482 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
70483
70484         Fix bug reported by Bruno Haible in
70485         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
70486         where quotearg.c didn't compile on Mac OS X 10.2 because it
70487         lacks <wchar.h> and wint_t.
70488         * lib/wctype_.h (__wctype_wint_t): New type.
70489         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
70490         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
70491         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
70492         Arg is now of type __wctype_wint_t, not wint_t.
70493         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
70494         substitute HAVE_WINT_T.
70495         * modules/wctype (Files): Add m4/wint_t.m4.
70496         (wctype.h): Substitute HAVE_WINT_T.
70497
70498 2006-12-23  Bruno Haible  <bruno@clisp.org>
70499
70500         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
70501
70502 2006-12-23  Bruno Haible  <bruno@clisp.org>
70503
70504         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
70505         S_ISLNK.
70506         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
70507         mingw.
70508
70509 2006-12-22  Bruno Haible  <bruno@clisp.org>
70510
70511         * lib/copy-file.c: Include acl.h.
70512         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
70513         Close the file descriptors only after being done with copy_acl.
70514         * modules/copy-file (Depends-on): Add acl.
70515
70516 2006-12-22  Bruno Haible  <bruno@clisp.org>
70517
70518         * gnulib-tool (SED): New variable.
70519         Use $SED instead of sed everywhere.
70520
70521 2006-12-22  Bruno Haible  <bruno@clisp.org>
70522
70523         * modules/no-c++: New file.
70524         * m4/no-c++.m4: New file.
70525         * MODULES.html.sh (Support for building libraries and executables):
70526         Add no-c++.
70527
70528 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
70529
70530         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
70531         Include <limits.h>, and use its INT_MAX to rewrite the
70532         j loop so that it does not overflow 'int'.  Problem reported by
70533         Ralf Wildenhues in
70534         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
70535         Play it safe by shifting left by 1 rather than multiplying by 2,
70536         as GCC is less likely to optimize this away when the value
70537         is signed (when it assumes overflow leads to undefined behavior).
70538         Also, don't assume time_t uses two's complement.
70539
70540 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
70541
70542         * MODULES.html.sh: New module wctype.
70543         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
70544         * lib/fnmatch.c: Don't bother to include <wchar.h> before
70545         <wctype.h>, since the new wctype module should fix this.
70546         * lib/quotearg.c: Include <wctype.h> unconditionally, since
70547         the wctype module should arrange for it.
70548         * lib/regex_internal.h: Likewise.
70549         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
70550         since the wctype module should handle this now.
70551         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
70552         * modules/fnmatch (Depends-on): Add wctype.
70553         * modules/quotearg (Depends-on): Likewise.
70554         * modules/regex (Depends-on): Likewise.
70555
70556 2006-12-19  Bruno Haible  <bruno@clisp.org>
70557
70558         * lib/strdup.h [C++]: Wrap definitions in extern "C".
70559         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
70560
70561 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70562
70563         * modules/savewd (Depends-on): Fix dependency on fcntl.
70564
70565 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
70566
70567         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
70568         conforms to C99, rather than relying on the user's environment
70569         setting of STDINT_H.
70570
70571 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
70572         and Eric Blake  <ebb9@byu.net>
70573
70574         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
70575         This is more consistent with the other defines here.
70576         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
70577         Port to z/OS.  Problem reported by Paul Gilmartin.
70578         Change local vars to use gl_ prefix rather than ac_.
70579         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
70580         with other defines.
70581         * modules/double-slash-root: New module.
70582         * modules/dirname (Files): Remove m4/double-slash-root.m4.
70583         (Depends-on): Add double-slash-root.
70584         * MODULES.html.sh (File system functions): Mention new module.
70585
70586 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
70587
70588         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
70589         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
70590         This is for the benefit of gzip, which doesn't do i18n.
70591
70592 2006-12-12  Jim Meyering  <jim@meyering.net>
70593
70594         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
70595         Reported by Andreas Schwab <schwab@suse.de>.
70596
70597 2006-12-12  Bruno Haible  <bruno@clisp.org>
70598
70599         Merge these changes.
70600         2006-09-05  Bruno Haible  <bruno@clisp.org>
70601         * lib/iconvme.c (iconv_string): No need to save and restore errno when
70602         iconv_alloc succeeded.
70603         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
70604         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
70605         test for " && dest " at the end - dest is always != NULL there. Call
70606         iconv with 4xNULL arguments initially, to reset the state. Call iconv
70607         with 2xNULL arguments, also to flush the state storage. Handle the
70608         IRIX iconv behaviour. Realloc the final result, to throw away unused
70609         memory.
70610
70611 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
70612
70613         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
70614         and fchmodat unconditionally, since glibc 2.4 has them.
70615         Problem reported by Arkadiusz Miskiewicz.
70616
70617 2006-12-10  Bruno Haible  <bruno@clisp.org>
70618
70619         * gnulib-tool (func_import): Show the include files only for those
70620         modules that are copied and specified.
70621         Reported by Karl Berry.
70622
70623 2006-12-08  Jim Meyering  <jim@meyering.net>
70624
70625         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
70626         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
70627
70628         * build-aux/announce-gen: Add two new options, both optional:
70629         --bootstrap-tools=TOOL_LIST
70630               a comma-separated list of tools, e.g.,
70631               autoconf,automake,bison,gnulib
70632         --gnulib-snapshot-date=DATE
70633               if gnulib is in the bootstrap tool list,
70634               then report this as the snapshot date.
70635               If not specified, use the current date/time.
70636               If you specify a date here, be sure it's UTC.
70637
70638 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70639
70640         * tests/test-argp-2.sh: Fix test to match actual output.
70641         (func_compare): Fix sed script to be portable.
70642
70643 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
70644
70645         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
70646         workaround for this case.  It is not autoconfigured now; offhand
70647         it's hard to see how to autoconfigure it.
70648
70649 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
70650
70651         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
70652         a directory that is about to be chowned.  Such a directory's
70653         initial file permissions should permit the owner only and this
70654         should not be changed until after the chown, since the group and
70655         other bits would be incorrect if they granted permission before
70656         the chown.
70657
70658         Fix porting problem for iswctype reported by Georg Schwarz in:
70659         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
70660         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
70661         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
70662         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
70663         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
70664
70665 2006-12-03  Jim Meyering  <jim@meyering.net>
70666
70667         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
70668         p->fts_statp may not yet be defined.
70669         (fts_read): Instead, set it in the caller, once p->fts_statp is
70670         sure to be defined, and corresponds to a top-level directory.
70671         This bug made du -x fail.  Here's the coreutils test case:
70672         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
70673         Reported by Mike Frysinger.
70674
70675 2006-12-01  Jim Meyering  <jim@meyering.net>
70676
70677         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
70678         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
70679         Reported by Simon Josefsson.
70680
70681 2006-11-30  Jim Meyering  <jim@meyering.net>
70682
70683         * m4/warning.m4: Use the all-permissive copyright notice
70684         recommended by RMS (rather than LGPL).
70685         * m4/vararrays.m4: Likewise.
70686         * m4/flexmember.m4: Likewise.
70687
70688 2006-11-29  Bruno Haible  <bruno@clisp.org>
70689
70690         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
70691         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
70692         using +=.
70693         Reported by Simon Josefsson <simon@josefsson.org>.
70694
70695 2006-11-28  James Youngman <jay@gnu.org>
70696
70697         * README: Advise users that they might find the bug-gnulib@gnu.org
70698         and autotools-announce@gnu.org mailing lists useful.
70699
70700 2006-11-28  Bruno Haible  <bruno@clisp.org>
70701
70702         * m4/ptrdiff_max.m4: Remove file.
70703
70704 2006-11-21  Bruno Haible  <bruno@clisp.org>
70705
70706         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
70707         _AC_COMPUTE_INT.
70708         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70709         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
70710         _AC_COMPUTE_INT.
70711         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70712         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
70713         _AC_COMPUTE_INT.
70714         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70715
70716 2006-11-28  Jim Meyering  <jim@meyering.net>
70717
70718         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
70719         warning from "gcc -Wshadow" about shadowing the builtin.
70720
70721 2006-11-27  Bruno Haible  <bruno@clisp.org>
70722
70723         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
70724         _AC_COMPUTE_INT.
70725         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70726
70727 2006-11-27  Bruno Haible  <bruno@clisp.org>
70728             Paul Eggert  <eggert@cs.ucla.edu>
70729
70730         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
70731
70732 2006-11-26  Bruno Haible  <bruno@clisp.org>
70733
70734         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
70735         noinst_LTLIBRARIES.
70736
70737 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
70738             Bruno Haible  <bruno@clisp.org>
70739
70740         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
70741         if compiling with "gcc -ansi".
70742
70743 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
70744
70745         Fix some incompatibilities with gcc -ansi -pedantic.
70746         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
70747         if compiling pedantically with GCC, unless it's C99 or later.
70748         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
70749         it mishandles gcc -ansi -pedantic as well.
70750         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
70751         if gcc -pedantic.
70752         * lib/regexec.c (check_node_accept_bytes): Don't use auto
70753         initializers for struct if -pedantic, unless it's C99 or later.
70754
70755 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
70756
70757         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
70758         Don't close an fd more than once. Identical atimes indicate
70759         success, not failure.
70760
70761 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
70762
70763         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
70764
70765 2006-11-23  Jim Meyering  <jim@meyering.net>
70766
70767         * build-aux/announce-gen: New file.  From coreutils.
70768
70769 2006-11-22  Jim Meyering  <jim@meyering.net>
70770
70771         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
70772         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
70773         (fts_read): Use a temporary to narrow the overused st_size member
70774         before using it in a switch statement.  Reported by Matthew Woehlke.
70775
70776         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
70777         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
70778
70779 2006-11-20  Bruno Haible  <bruno@clisp.org>
70780
70781         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
70782         changequote instead of pairs of brackets.
70783         Reported by Andreas Schwab <schwab@suse.de>.
70784
70785 2006-11-21  Jim Meyering  <jim@meyering.net>
70786
70787         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
70788         so as to remain compatible with older compilers.
70789         Patch from Michael Deutschmann.
70790
70791 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
70792
70793         * MODULES.html.sh (File system functions): Add openat.
70794
70795         * lib/openat.h (rpl_fstatat): New macro, if
70796         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
70797         (fstatat): Define to rpl_fstatat under the same conditions,
70798         unless COMPILING_FSTATAT.
70799         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
70800         seems to have the bug.
70801         * lib/fstatat.c: New file.
70802         * modules/openat (Files): Add it.
70803
70804 2006-11-20  Bruno Haible  <bruno@clisp.org>
70805
70806         * Makefile: New file.
70807
70808 2006-11-20  Jim Meyering  <jim@meyering.net>
70809
70810         The beginnings of syntax-related checks for gnulib.
70811         * lib/Makefile: New file.
70812         * lib/t-idcache: New script.  Ensure that the two halves of
70813         idcache.c stay in sync.
70814
70815         * lib/idcache.c: Adjust comments in user- and group- portions to
70816         be more accurate, and to be consistent with one another.
70817
70818 2006-11-20  Jim Meyering  <jim@meyering.net>
70819
70820         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
70821         continue using the flexible array member (thus, this module performs
70822         half as many malloc calls), with the addition that...
70823         (getgroup, getuser): Consistently record a non-match via an empty
70824         "name" string, and map an empty string match to a NULL return value.
70825         * modules/idcache (Depends-on): Re-add flexmember.
70826
70827         * lib/idcache.c (getuser): Remove all uses of the register keyword.
70828         (getuidbyname, getgroup, getgidbyname): Likewise.
70829
70830         Use cleaner syntax: NULL rather than 0.
70831         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
70832
70833 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
70834
70835         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
70836         It mishandled the case where the group was missing.
70837         Problem reported by Greg Schafer.
70838         * modules/idcache: Likewise.
70839
70840 2006-11-18  Jim Meyering  <jim@meyering.net>
70841
70842         * check-module (%exempt_header): Add exception for some
70843         conditionally-included headers.
70844
70845         * modules/i-ring (Depends-on): Add verify.
70846         (License): Change to LGPL.
70847
70848 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
70849
70850         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
70851         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
70852         and inttostr.h.  Use snprintf rather than uinttostr, so that
70853         LGPLed code doesn't depend on GPLed.
70854
70855 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
70856
70857         * modules/inline (License): Change from GPL to LGPL.
70858
70859 2006-11-17  Jim Meyering  <jim@meyering.net>
70860
70861         * modules/d-type (License): Switch to LGPL.
70862
70863 2006-11-15  Bruno Haible  <bruno@clisp.org>
70864
70865         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
70866
70867 2006-11-15  Eric Blake  <ebb9@byu.net>
70868
70869         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
70870         the module dependency.
70871
70872 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70873             Bruno Haible  <bruno@clisp.org>
70874
70875         * gnulib-tool (func_create_testdir): Add license consistency check.
70876
70877 2006-11-15  Eric Blake  <ebb9@byu.net>
70878
70879         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
70880         random "(cached)" in configure output.
70881
70882 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70883
70884         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
70885         test for conforming inttypes.h is both announced and cached.
70886
70887         * MODULES.html.sh (seen_modules, seen_files): New variables.
70888         (func_module): Rewrite to use a few less gnulib-tool and sed
70889         invocations.  Avoid a couple of quadratic algorithms for ...
70890         (missed_modules, missed_files): ... these, with ...
70891         (func_append, func_tmpdir): ... these new functions, from
70892         gnulib-tool.  Analogously, install traps for cleanup.
70893
70894         * tests/test-gc.c (main): Remove unused variables.
70895         * tests/test-read-file.c: Include stdlib.h, for 'free'.
70896
70897 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
70898
70899         * modules/inttostr (License): Change to LGPL.
70900
70901 2006-11-14  Eric Blake  <ebb9@byu.net>
70902
70903         * modules/tempname (License): Change to LGPL.
70904
70905 2006-11-14  Eric Blake  <ebb9@byu.net>
70906
70907         * doc/functions.texi (Function Portability): *printf functions on
70908         Cygwin now understand all POSIX size specifiers.
70909
70910 2006-11-14  Bruno Haible  <bruno@clisp.org>
70911
70912         * modules/c-ctype (License): Change to LGPL.
70913
70914 2006-11-12  Bruno Haible  <bruno@clisp.org>
70915
70916         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
70917         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
70918         for GNOME libraries, for which the include files are installed in
70919         subdirectories of $prefix/include.
70920
70921 2006-11-12  Bruno Haible  <bruno@clisp.org>
70922
70923         * m4/lib-link.m4: Require at least autoconf-2.54.
70924         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
70925         name to underscores for the --with option.
70926
70927 2006-11-13  Bruno Haible  <bruno@clisp.org>
70928
70929         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
70930         the tests directory.
70931         Reported by Ralf Wildenhues.
70932
70933 2006-11-13  Bruno Haible  <bruno@clisp.org>
70934
70935         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
70936         (func_emit_initmacro_end): Undo the override here.
70937         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
70938         Works around the famous automake error in coreutils.
70939
70940 2006-11-13  Eric Blake  <ebb9@byu.net>
70941
70942         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
70943         element, not its node.
70944
70945 2006-11-12  Bruno Haible  <bruno@clisp.org>
70946
70947         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
70948         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
70949
70950 2006-11-12  Bruno Haible  <bruno@clisp.org>
70951
70952         * gnulib-tool: New option --local-symlink.
70953         (func_usage): Document it.
70954         (lsymbolic): New variable.
70955         (func_import, func_create_testdir): If --symlink was not specified,
70956         test whether --local-symlink was specified and the file comes from
70957         the local_gnulib_dir.
70958
70959 2006-11-12  Bruno Haible  <bruno@clisp.org>
70960
70961         * gnulib-tool (func_ln): New function.
70962         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
70963
70964 2006-11-12  Bruno Haible  <bruno@clisp.org>
70965
70966         Finish support for source files in subdirectories.
70967         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
70968         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
70969         AUTOMAKE_OPTIONS.
70970         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
70971
70972 2006-11-12  Bruno Haible  <bruno@clisp.org>
70973
70974         * gnulib-tool (func_get_automake_snippet): Synthesize also an
70975         EXTRA_lib_SOURCES augmentation.
70976         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
70977
70978 2006-11-12  Jim Meyering  <jim@meyering.net>
70979
70980         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
70981         file descriptors.  This also averts a failure on systems with
70982         native openat support when a traversed directory lacks "x" access.
70983         * lib/fts_.h: Include "i-ring.h"
70984         (struct FTS) [fts_fd_ring]: New member.
70985         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
70986         (FCHDIR): Add parentheses.
70987         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
70988         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
70989         When descending, rather than simply closing the previous
70990         fts_cwd_fd value, push that file descriptor onto the ring.
70991         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
70992         (fts_open): Initialize the new fd_ring member.
70993         (fts_close): Clear the ring.
70994         (fts_safe_changedir): When possible, use our new fd_ring to skip
70995         the diropen and fstat and dev/ino comparison that would normally
70996         accompany a virtual `chdir ("..")'.
70997
70998         * modules/fts (Depends-on): Add i-ring.
70999         * modules/i-ring: New module.
71000         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
71001         * m4/i-ring.m4: New file.
71002
71003 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71004
71005         * gnulib-tool (func_create_testdir): Fix replacement of
71006         `build-aux' in configure.ac.  Run autotools in gltests
71007         subdirectory.
71008         (func_create_testdir, func_create_megatestdir, test): There is
71009         no need for '--force' in most autotool invocations in a new
71010         tree.  Actually fail the whole test if any of the tools, or the
71011         configure or make stages fail.
71012
71013         Sync from Automake.
71014         * build-aux/gnupload: Revert last change.  Add pointer to upload
71015         instructions of the GNU Maintenance Instructions.
71016         Suggestion by Karl Berry.
71017
71018 2006-11-10  Jim Meyering  <jim@meyering.net>
71019
71020         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
71021
71022 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
71023
71024         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
71025         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
71026         (bind_textdomain_codeset) [! ENABLE_NLS]:
71027         Evaluate all the arguments.  That way, callers get compatible behavior
71028         if the arguments have side effects.  Also, it avoids some GCC
71029         diagnostics in some cases; Joel E. Denny reported problems when Bison
71030         was configured with --enable-gcc-warnigs.
71031
71032 2006-11-10  Jim Meyering  <jim@meyering.net>
71033
71034         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
71035         relevant options in CFLAGS (like -O, -fno-inline) are taken into
71036         account.
71037
71038 2006-11-10  Jim Meyering  <jim@meyering.net>
71039
71040         * modules/inline: New file/module.
71041         * modules/xalloc (Files): Remove m4/inline.m4.
71042         (Depends-on): Add inline, instead.
71043         * modules/oset: Likewise.
71044         * modules/list: Likewise.
71045
71046 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
71047
71048         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
71049         Problem reported by Matthew Woehlke.
71050
71051 2006-11-09  Bruno Haible  <bruno@clisp.org>
71052
71053         * lib/tempname.c (gen_tempname): Remove variant that invokes
71054         __gen_tempname.
71055         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
71056         __gen_tempname.
71057
71058 2006-11-08  Bruno Haible  <bruno@clisp.org>
71059
71060         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
71061         to 'yes' instead of 'cross-compiling'.
71062
71063 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
71064
71065         * lib/quotearg.h (quotearg_free): New decl.
71066         * lib/quotearg.c (quotearg_free): New function.
71067         (slot0, nslots, slotvec0, slotvec):
71068         Now file-scope so that quotearg_free can get at them.
71069
71070 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71071
71072         Sync from Automake.
71073         * build-aux/gnupload: Add missing 'gnu' to example URL.
71074         Report by Karl Berry.
71075
71076 2006-11-08  Bruno Haible  <bruno@clisp.org>
71077
71078         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
71079         Suggested by Paul Eggert.
71080
71081 2006-11-08  Jim Meyering  <jim@meyering.net>
71082
71083         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
71084         It's already included if !_LIBC.
71085         (fts_safe_changedir): Add a comment.
71086
71087 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
71088
71089         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
71090         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
71091         Matthew Woehlke.
71092
71093         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
71094         definitions up, to avoid colliding with change below.
71095         (static_inline) [HAVE_INLINE]: New macro.
71096         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
71097         Provide extern decls when !HAVE_INLINE.  Do not define unless
71098         static_inline is defined, either by us or by xmalloc.c.  Use
71099         static_inline rather than static inline.
71100         (XCALLOC): Optimize sizeof(T) = 1 case.
71101         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
71102
71103 2006-11-07  Bruno Haible  <bruno@clisp.org>
71104
71105         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
71106         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
71107         AC_C_INLINE.
71108         * modules/xalloc (Files): Add m4/inline.m4.
71109
71110 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71111
71112         * README: Fix typo.
71113         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
71114         (Miscellanous Notes): ...from this.
71115
71116 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
71117
71118         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
71119         Mention that offsetof should be used instead of sizeof.
71120         From Bruno Haible.
71121
71122 2006-11-07  Bruno Haible  <bruno@clisp.org>
71123
71124         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
71125
71126 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
71127
71128         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
71129         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
71130         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
71131         (gl_tree_add_before, gl_tree_add_after):
71132         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
71133         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
71134         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
71135         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
71136         (gl_linked_add_after, gl_linked_add_at): Likewise.
71137         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
71138         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
71139         (gl_tree_add_before, gl_tree_add_after): Likewise.
71140         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
71141         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
71142         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
71143
71144 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71145
71146         * lib/gl_oset.h: Use C comment style, not C++ comment style.
71147
71148 2006-11-06  Bruno Haible  <bruno@clisp.org>
71149
71150         * m4/inline.m4: New file.
71151         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
71152         * modules/list (Files): Add m4/inline.m4.
71153         * modules/oset (Files): Likewise.
71154
71155 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
71156
71157         * lib/idcache.c: Include <stddef.h>, for offsetof.
71158         (struct userid.name): Change from char * to a flexible array member.
71159         All uses changed.
71160         * modules/idcache (Depends-on): Add flexmember.
71161
71162         * MODULES.html.sh (Core language properties): New module flexmember.
71163         * modules/flexmember, m4/flexmember.m4: New files.
71164
71165         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
71166         inline functions that are identical with the old xnmalloc_inline,
71167         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
71168         that we can avoid some unnecessary integer multiplications and
71169         divisions in the common case where the element size is known at
71170         compile time.
71171         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
71172         needed.
71173         (xnboundedmalloc): Remove.
71174         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
71175         arguments, for consistency with rest of this header.
71176         (xcharalloc): Rewrite using XNMALLOC.
71177         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
71178         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
71179         versions have been moved to lib/xalloc.h and renamed to be the
71180         non-*_inline versions.
71181         (xmalloc, xrealloc): Implement without reference to the xnmalloc
71182         and xnrealloc functions, since those functions are now inline and
71183         now call us.
71184         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
71185         renaming described above.
71186         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
71187         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
71188         captures the dependency in AC_C_INLINE.
71189
71190         New module canonicalize-lgpl, proposed by Charles Wilson in
71191         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
71192         with a few small changes afterwards.
71193         * MODULES.html.sh (File system functions): New module
71194         canonicalize-lgpl.
71195         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
71196         and canonicalize_file_name.
71197         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
71198         * modules/canonicalize-lgpl: New files.
71199
71200 2006-11-05  Bruno Haible  <bruno@clisp.org>
71201
71202         * gnulib-tool (func_import, func_create_testdir): Create directories
71203         also for files in subdirectories of lib/.
71204
71205 2006-11-05  Bruno Haible  <bruno@clisp.org>
71206
71207         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
71208         ANSI C compliant.
71209
71210 2006-11-03  Bruno Haible  <bruno@clisp.org>
71211
71212         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
71213         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
71214         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
71215         (xnboundedmalloc): New inline function.
71216         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
71217         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
71218         xmalloc.
71219         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
71220         xmalloc.
71221         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
71222         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
71223         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
71224         xmalloc.
71225         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
71226         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
71227         xmalloc.
71228         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
71229         gl_tree_add_after): Use XMALLOC instead of xmalloc.
71230         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
71231         xmalloc.
71232         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
71233         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
71234         gl_tree_add_after): Use XMALLOC instead of xmalloc.
71235         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
71236         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
71237         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
71238         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
71239
71240 2006-11-03  Bruno Haible  <bruno@clisp.org>
71241
71242         * lib/c-ctype.h [C++]: Define functions without name mangling.
71243         * lib/fwriteerror.h [C++]: Likewise.
71244         * lib/gcd.h [C++]: Likewise.
71245         * lib/linebreak.h [C++]: Likewise.
71246
71247 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
71248
71249         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
71250         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
71251         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
71252         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
71253         Check for functions and headers just once.
71254         Check for declaration of canonicalize_file_name.
71255         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
71256
71257 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
71258
71259         * gnulib-tool (func_import): Fix typo in actioncmd.
71260
71261 2006-11-02  Bruno Haible  <bruno@clisp.org>
71262
71263         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
71264         newline sequence in the Makefile.am snippet as a space, like "make"
71265         does.
71266         Reported by Roger Persson <perrog@gmail.com>.
71267
71268 2006-11-01  Bruno Haible  <bruno@clisp.org>
71269
71270         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
71271         already declared in <string.h>.
71272         * lib/strcase.h (strncasecmp): Don't declare it if yes.
71273
71274 2006-11-01  Bruno Haible  <bruno@clisp.org>
71275
71276         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
71277         * lib/strcase.h: Include <string.h>.
71278         (strcasecmp): Define to rpl_strcasecmp here.
71279
71280 2006-11-01  Bruno Haible  <bruno@clisp.org>
71281
71282         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
71283
71284 2006-11-01  Eric Blake  <ebb9@byu.net>
71285
71286         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
71287
71288         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
71289
71290 2006-10-29  Bruno Haible  <bruno@clisp.org>
71291
71292         Make it compile in C++ mode.
71293         * lib/full-write.c (full_rw): Add a cast.
71294
71295 2006-11-01  Bruno Haible  <bruno@clisp.org>
71296
71297         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
71298         be POSIX compliant.
71299         Reported by Roger Persson <perrog@gmail.com>.
71300
71301 2006-11-01  Eric Blake  <ebb9@byu.net>
71302
71303         * lib/getopt_.h: Fix comments.
71304
71305 2006-10-31  Eric Blake  <ebb9@byu.net>
71306
71307         * modules/tmpdir (Depends-on): Add sys_stat.
71308         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
71309         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
71310         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
71311         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
71312         tempname.
71313
71314 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
71315
71316         Avoid some C++ diagnostics reported by Bruno Haible.
71317         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
71318         xmalloc.
71319         (quotearg_alloc): Use xcharalloc rather than xmalloc.
71320         (struct slotvec): Move to top level.
71321         (quotearg_n_options): Rewrite to avoid xmalloc.
71322         * lib/xalloc.h (xcharalloc): New function.
71323         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
71324         [defined __cplusplus]: Add function template that provides result
71325         type propagation.  This part of the change is from Bruno Haible.
71326
71327 2006-10-29  Bruno Haible  <bruno@clisp.org>
71328
71329         Make it compile in C++ mode.
71330         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
71331         * lib/strnlen1.c (strnlen1): Cast memchr result.
71332         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
71333         * lib/clean-temp.c (string_equals, string_hash): Add casts.
71334         (create_temp_dir): Rename local variable 'template'.
71335         (compile_csharp_using_sscli): Add cast.
71336         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
71337         * lib/findprog.c (find_in_path): Likewise.
71338         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
71339         * lib/wait-process.c (register_slave_subprocess): Likewise.
71340
71341 2006-10-22  Bruno Haible  <bruno@clisp.org>
71342
71343         * modules/tsearch: New file.
71344         * lib/tsearch.h: New file.
71345         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
71346         * m4/tsearch.m4: New file.
71347         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
71348
71349 2006-10-29  Eric Blake  <ebb9@byu.net>
71350
71351         * lib/arcfour.c: Assume config.h.
71352         * lib/arctwo.c: Likewise.
71353         * lib/base64.c: Likewise.
71354         * lib/check-version.c: Likewise.
71355         * lib/crc.c: Likewise.
71356         * lib/des.c: Likewise.
71357         * lib/gc-gnulib.c: Likewise.
71358         * lib/gc-libgcrypt.c: Likewise.
71359         * lib/gc-pbkdf2-sha1.c: Likewise.
71360         * lib/getaddrinfo.c: Likewise.
71361         * lib/getdelim.c: Likewise.
71362         * lib/getline.c: Likewise.
71363         * lib/hmac-md5.c: Likewise.
71364         * lib/hmac-sha1.c: Likewise.
71365         * lib/iconvme.c: Likewise.
71366         * lib/md2.c: Likewise.
71367         * lib/md4.c: Likewise.
71368         * lib/memxor.c: Likewise.
71369         * lib/read-file.c: Likewise.
71370         * lib/readline.c: Likewise.
71371         * lib/rijndael-alg-fst.c: Likewise.
71372         * lib/rijndael-api-fst.c: Likewise.
71373         * lib/xgetdomainname.c: Likewise.
71374
71375 2006-10-28  Eric Blake  <ebb9@byu.net>
71376
71377         * lib/xstrndup.c: Assume config.h.
71378
71379 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
71380
71381         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
71382         stat-macros.h is now for our own macros, whereas stat_h is for
71383         macros in the <sys/stat.h> name space.
71384         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
71385         (STAT_MACROS_H): Remove.
71386         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
71387         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
71388         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
71389         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
71390         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
71391         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
71392         Move these macros to ...
71393         * lib/stat_.h: here.  Don't include stat-macros.h.
71394         * lib/canonicalize.c: Don't include stat-macros.h.
71395         * lib/chown.c: Likewise.
71396         * lib/euidaccess.c: Likewise.
71397         * lib/file-type.c: Likewise.
71398         * lib/filemode.c: Likewise.
71399         * lib/glob.c: Likewise.
71400         * lib/isapipe.c: Likewise.
71401         * lib/lchown.c: Likewise.
71402         * lib/lstat.c: Likewise.
71403         * lib/mkdir-p.c: Likewise.
71404         * lib/rmdir.c: Likewise.
71405         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
71406         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
71407         unless mkdir isn't declared, to speed up 'configure'.
71408         Always create sys/stat.h, since it's unlikely any real sys/stat.h
71409         would define all the S_* symbols.
71410         * modules/canonicalize (Depends-on):
71411         Depend on sys_stat, not stat-macros.
71412         * modules/chown: Likewise.
71413         * modules/euidaccess: Likewise.
71414         * modules/filemode: Likewise.
71415         * modules/file-type: Likewise.
71416         * modules/glob: Likewise.
71417         * modules/isapipe: Likewise.
71418         * modules/lchown: Likewise.
71419         * modules/lstat: Likewise.
71420         * modules/mkancesdirs: Likewise.
71421         * modules/rmdir: Likewise.
71422         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
71423         * modules/modechange: Likewise.
71424         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
71425         (configure.ac): Remove gl_STAT_MACROS.
71426         * modules/sys_stat (Depends-on): Remove stat-macros.
71427
71428 2006-10-27  Bruno Haible  <bruno@clisp.org>
71429
71430         * m4/signed.m4: Remove file.
71431         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
71432         invocation.
71433         * modules/vasnprintf (Files): Remove m4/signed.m4.
71434
71435 2006-10-27  Bruno Haible  <bruno@clisp.org>
71436
71437         Update to GNU gettext 0.16.
71438         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
71439         m4/inttypes-h.m4, m4/signed.m4.
71440         * m4/gettext.m4: Update to GNU gettext 0.16.
71441         * m4/intl.m4: New file, from GNU gettext.
71442         * m4/intldir.m4: New file, from GNU gettext.
71443         * config/srclist.txt: Update
71444
71445 2006-10-27  Eric Blake  <ebb9@byu.net>
71446
71447         * MODULES.html.sh: Document tempname.
71448         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
71449         dependencies.
71450         (Files): Move lib/tempname.c...
71451         * modules/tempname: ...to this new module.
71452         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
71453         (gl_PREREQ_TEMPNAME): Move...
71454         * m4/tempname.m4: ...to this new file.
71455         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
71456         * modules/sys_stat (Depends-on): Add stat-macros.
71457         * lib/stat_.h (includes): Pick up stat macros.
71458         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
71459         if stat macros are broken.
71460         * lib/tempname.c (includes): No need to include "stat-macros.h".
71461         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
71462         (direxists, __path_search) [!_LIBC]: Don't compile these in
71463         gnulib; the tmpdir module covers that.
71464         * lib/tempname.h: New file.
71465
71466 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
71467
71468         * COPYING: Explain how gnulib-tool converts licence headers.
71469         Almost all wording by Eric Blake.
71470
71471 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
71472
71473         * lib/mbchar.h (is_basic_table): Make read-only.
71474         * lib/mbchar.c (is_basic_table): Likewise.
71475         Reported by John Darrington.
71476
71477 2006-10-25  Bruno Haible  <bruno@clisp.org>
71478
71479         * lib/progname.h (set_program_name): Undefine before defining.
71480
71481 2006-10-25  Bruno Haible  <bruno@clisp.org>
71482
71483         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
71484         false for non-gcc C++ compilers.
71485         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
71486
71487 2006-10-24  Bruno Haible  <bruno@clisp.org>
71488
71489         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
71490         iconv implementations like Irix iconv.
71491
71492 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
71493
71494         * modules/vararrays: New file.
71495         * m4/vararrays.m4: New file, taken from diffutils.
71496         * MODULES.html.sh: New module vararrays.
71497
71498 2006-10-24  Karl Berry  <karl@gnu.org>
71499
71500         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
71501         Don't call GNU Unix.
71502
71503 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71504
71505         * users.txt: Add Libtool.
71506
71507         Sync from Libtool:
71508
71509         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
71510
71511         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
71512         to gnulib's policy of including config.h unconditionally.
71513
71514 2006-10-24  Bruno Haible  <bruno@clisp.org>
71515
71516         * modules/wcwidth (Files): Add m4/wint_t.m4.
71517         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
71518         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
71519
71520 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
71521
71522         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
71523         to pacify GCC with some -W flags enabled.  Problem reported by
71524         Bruno Haible.
71525
71526 2006-10-24  Jim Meyering  <jim@meyering.net>
71527
71528         * MODULES.html.sh: Remove uinttostr.  It's not a module.
71529         Reported by Karl Berry.
71530
71531 2006-10-23  Bruno Haible  <bruno@clisp.org>
71532
71533         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
71534
71535 2006-10-24  Bruno Haible  <bruno@clisp.org>
71536
71537         * lib/gl_list.h: Use C comment style, not C++ comment style.
71538
71539 2006-10-23  Eric Blake  <ebb9@byu.net>
71540
71541         * lib/getaddrinfo.c (includes): Add missing include.
71542
71543 2006-10-23  Bruno Haible  <bruno@clisp.org>
71544             Paul Eggert  <eggert@cs.ucla.edu>
71545
71546         Ability to rename obstack_free.
71547         * lib/obstack.h (__obstack_free): New macro. Declare instead of
71548         obstack_free.
71549         (obstack_free): Invoke the __obstack_free macro.
71550         * lib/obstack.c (obstack_free): Use __obstack_free macro.
71551
71552 2006-10-23  Bruno Haible  <bruno@clisp.org>
71553             Paul Eggert  <eggert@cs.ucla.edu>
71554
71555         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
71556         __argc, __argv from the declaration. (They are defined as macros on
71557         mingw.)
71558
71559 2006-10-22  Bruno Haible  <bruno@clisp.org>
71560
71561         * doc/gnulib-intro.texi: New file.
71562         * doc/gnulib.texi: Include it.
71563
71564 2006-10-21  Bruno Haible  <bruno@clisp.org>
71565
71566         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
71567         "Introduction", "Miscellanous Notes", "Particular Modules".
71568
71569 2006-10-21  Bruno Haible  <bruno@clisp.org>
71570
71571         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71572         Change mostlyclean-local rule to avoid sh syntax error from bash
71573         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
71574
71575 2006-10-23  Jim Meyering  <jim@meyering.net>
71576
71577         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
71578         in place of snprintf.
71579
71580         * modules/inttostr (Files): Add lib/uinttostr.c.
71581         * lib/uinttostr.c (inttostr): New file/function.
71582         * lib/inttostr.h (uinttostr): Declare.
71583         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
71584         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
71585         Add uinttostr.
71586         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
71587
71588 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
71589
71590         * lib/canonicalize.c (ELOOP): Define if not already defined.
71591         Problem reported by Bruno Haible in
71592         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
71593
71594 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
71595
71596         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
71597         Problem reported by Perry Smith and Ville Laurikari.
71598
71599         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
71600         uses.
71601
71602 2006-10-19  Bruno Haible  <bruno@clisp.org>
71603
71604         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
71605         for mingw.
71606
71607 2006-10-19  Bruno Haible  <bruno@clisp.org>
71608
71609         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
71610         Needed for mingw.
71611
71612 2006-10-19  Bruno Haible  <bruno@clisp.org>
71613
71614         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
71615
71616 2006-10-19  Bruno Haible  <bruno@clisp.org>
71617
71618         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
71619         it.
71620
71621 2006-10-19  Bruno Haible  <bruno@clisp.org>
71622
71623         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
71624         invocation.
71625
71626 2006-10-19  Bruno Haible  <bruno@clisp.org>
71627
71628         * gnulib-tool (func_create_testdir): Don't include ftruncate and
71629         mountlist by default.
71630
71631 2006-10-16  Bruno Haible  <bruno@clisp.org>
71632
71633         * lib/c-strstr.c: Include c-strstr.h.
71634
71635 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
71636
71637         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
71638         in a slash.
71639
71640 2006-10-18  Bruno Haible  <bruno@clisp.org>
71641
71642         * lib/lock.h [C++]: Wrap definitions in extern "C".
71643
71644 2006-10-18  Bruno Haible  <bruno@clisp.org>
71645
71646         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
71647         gl_LIBOBJS list.
71648
71649 2006-10-18  Bruno Haible  <bruno@clisp.org>
71650
71651         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
71652
71653 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
71654
71655         * lib/xstrtol.h: Include gettext.h.
71656         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
71657         Problem reported by Eric Blake.
71658         * modules/xstrtol (Depends-on): Add gettext-h.
71659
71660 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
71661
71662         * lib/strftime.c (advance): New macro.
71663         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
71664         incomplete type, so you can't add 0 to it.  Problem and patch
71665         reported by Eelco Dolstra for dietlibc.
71666
71667 2006-10-18  Jim Meyering  <jim@meyering.net>
71668
71669         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
71670         type for a local, and rename it: s/up/user_proc/.
71671
71672 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
71673
71674         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
71675         READ_UTMP_USER_PROCESS.
71676         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
71677
71678 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
71679
71680         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
71681         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
71682
71683 2006-10-17  Eric Blake  <ebb9@byu.net>
71684
71685         * lib/sigprocmask.c (sigprocmask): Fix typo.
71686
71687         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
71688
71689         * modules/clean-temp (Makefile.am): Don't add to make output...
71690         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
71691         config.h.
71692
71693 2006-10-17  Bruno Haible  <bruno@clisp.org>
71694
71695         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
71696         differently if DEFAULT_TEXT_DOMAIN is set.
71697
71698 2006-10-16  Bruno Haible  <bruno@clisp.org>
71699
71700         * lib/clean-temp.c: Include fwriteerror.h.
71701
71702 2006-10-16  Bruno Haible  <bruno@clisp.org>
71703
71704         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
71705
71706 2006-10-16  Bruno Haible  <bruno@clisp.org>
71707
71708         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
71709         * lib/sigprocmask.h: Include <sys/types.h>.
71710         (sigset_t): Use the system's definition if present.
71711
71712 2006-10-17  Eric Blake  <ebb9@byu.net>
71713
71714         * lib/xvasprintf.c (includes): Assume config.h.
71715         * lib/xasprintf.c (includes): Likewise.
71716
71717 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
71718
71719         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
71720         at least as wide as intmax_t.
71721
71722 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
71723
71724         (Imported from Automake.)
71725         * build-aux/gnupload: Update to version 1.1 of directive file.
71726
71727 2006-10-16  Eric Blake  <ebb9@byu.net>
71728
71729         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
71730         match Automake 1.10a.
71731
71732 2006-10-14  Bruno Haible  <bruno@clisp.org>
71733
71734         * modules/sigprocmask: New file.
71735         * lib/sigprocmask.h: New file.
71736         * lib/sigprocmask.c: New file.
71737         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
71738         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
71739         request sigprocmask.o.
71740         (gl_PREREQ_SIGPROCMASK): New macro.
71741         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
71742         (Depends-on): Add sigprocmask.
71743         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
71744         gt_SIGNALBLOCKING. Test for 'raise' only once.
71745         * lib/fatal-signal.c: Include sigprocmask.h.
71746         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
71747         unblock_fatal_signals): Define always.
71748         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71749         sigprocmask.
71750
71751 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
71752
71753         Sync from Automake.
71754         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
71755         which incorrectly sets the mode of an existing destination
71756         directory.  In some cases the unpatched install-sh could do the
71757         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
71758         system.  We hope this is rare in practice, but it's clearly worth
71759         fixing.  Problem reported by Alex Unleashed in
71760         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
71761         Also, don't bother to check for -m bugs unless we're using -m;
71762         suggested by Stepan Kasal.
71763
71764 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71765
71766         Sync from Automake.
71767         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
71768         `-c' flag, so they appear at the same position as in %FASTDEP%
71769         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
71770         which ignores unknown options only after the first non-option.
71771         Bug report against M4 by Nelson H. F. Beebe.
71772
71773 2006-10-13  Jim Meyering  <jim@meyering.net>
71774
71775         Fix a bug in yesterday's change.
71776         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
71777         p->fts_statp->st_dev would be used uninitialized.
71778         Ensures that we always call fts_stat on the very first entry.
71779         Miklos Szeredi reported that find -xdev stopped working.
71780
71781 2006-10-12  Bruno Haible  <bruno@clisp.org>
71782
71783         * gnulib-tool (func_get_automake_snippet): Append an automatically
71784         computed EXTRA_DIST augmentation.
71785         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
71786         * modules/alloca-opt (Makefile.am): Likewise.
71787         * modules/allocsa (Makefile.am): Likewise.
71788         * modules/arcfour (Makefile.am): Likewise.
71789         * modules/arctwo (Makefile.am): Likewise.
71790         * modules/argmatch (Makefile.am): Likewise.
71791         * modules/argz (Makefile.am): Likewise.
71792         * modules/atexit (Makefile.am): Likewise.
71793         * modules/backupfile (Makefile.am): Likewise.
71794         * modules/byteswap (Makefile.am): Likewise.
71795         * modules/c-strtod (Makefile.am): Likewise.
71796         * modules/c-strtold (Makefile.am): Likewise.
71797         * modules/calloc (Makefile.am): Likewise.
71798         * modules/canon-host (Makefile.am): Likewise.
71799         * modules/canonicalize (Makefile.am): Likewise.
71800         * modules/chdir-long (Makefile.am): Likewise.
71801         * modules/chdir-safer (Makefile.am): Likewise.
71802         * modules/check-version (Makefile.am): Likewise.
71803         * modules/chown (Makefile.am): Likewise.
71804         * modules/cloexec (Makefile.am): Likewise.
71805         * modules/close-stream (Makefile.am): Likewise.
71806         * modules/closeout (Makefile.am): Likewise.
71807         * modules/crc (Makefile.am): Likewise.
71808         * modules/csharpexec (Makefile.am): Likewise.
71809         * modules/cycle-check (Makefile.am): Likewise.
71810         * modules/des (Makefile.am): Likewise.
71811         * modules/dev-ino (Makefile.am): Likewise.
71812         * modules/dirfd (Makefile.am): Likewise.
71813         * modules/dirname (Makefile.am): Likewise.
71814         * modules/dup2 (Makefile.am): Likewise.
71815         * modules/eealloc (Makefile.am): Likewise.
71816         * modules/error (Makefile.am): Likewise.
71817         * modules/euidaccess (Makefile.am): Likewise.
71818         * modules/exclude (Makefile.am): Likewise.
71819         * modules/exitfail (Makefile.am): Likewise.
71820         * modules/fcntl-safer (Makefile.am): Likewise.
71821         * modules/fcntl (Makefile.am): Likewise.
71822         * modules/file-type (Makefile.am): Likewise.
71823         * modules/fileblocks (Makefile.am): Likewise.
71824         * modules/filemode (Makefile.am): Likewise.
71825         * modules/filenamecat (Makefile.am): Likewise.
71826         * modules/fnmatch (Makefile.am): Likewise.
71827         * modules/fopen-safer (Makefile.am): Likewise.
71828         * modules/fpending (Makefile.am): Likewise.
71829         * modules/fprintftime (Makefile.am): Likewise.
71830         * modules/free (Makefile.am): Likewise.
71831         * modules/fsusage (Makefile.am): Likewise.
71832         * modules/ftruncate (Makefile.am): Likewise.
71833         * modules/fts (Makefile.am): Likewise.
71834         * modules/gc-arcfour (Makefile.am): Likewise.
71835         * modules/gc-des (Makefile.am): Likewise.
71836         * modules/gc-hmac-md5 (Makefile.am): Likewise.
71837         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
71838         * modules/gc-md4 (Makefile.am): Likewise.
71839         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
71840         * modules/gc-sha1 (Makefile.am): Likewise.
71841         * modules/gc (Makefile.am): Likewise.
71842         * modules/getaddrinfo (Makefile.am): Likewise.
71843         * modules/getcwd (Makefile.am): Likewise.
71844         * modules/getdelim (Makefile.am): Likewise.
71845         * modules/getdomainname (Makefile.am): Likewise.
71846         * modules/getgroups (Makefile.am): Likewise.
71847         * modules/gethostname (Makefile.am): Likewise.
71848         * modules/gethrxtime (Makefile.am): Likewise.
71849         * modules/getline (Makefile.am): Likewise.
71850         * modules/getloadavg (Makefile.am): Likewise.
71851         * modules/getlogin_r (Makefile.am): Likewise.
71852         * modules/getndelim2 (Makefile.am): Likewise.
71853         * modules/getopt (Makefile.am): Likewise.
71854         * modules/getpagesize (Makefile.am): Likewise.
71855         * modules/getpass-gnu (Makefile.am): Likewise.
71856         * modules/getpass (Makefile.am): Likewise.
71857         * modules/getsubopt (Makefile.am): Likewise.
71858         * modules/gettime (Makefile.am): Likewise.
71859         * modules/gettimeofday (Makefile.am): Likewise.
71860         * modules/getugroups (Makefile.am): Likewise.
71861         * modules/getusershell (Makefile.am): Likewise.
71862         * modules/glob (Makefile.am): Likewise.
71863         * modules/group-member (Makefile.am): Likewise.
71864         * modules/hard-locale (Makefile.am): Likewise.
71865         * modules/hash (Makefile.am): Likewise.
71866         * modules/hmac-md5 (Makefile.am): Likewise.
71867         * modules/hmac-sha1 (Makefile.am): Likewise.
71868         * modules/human (Makefile.am): Likewise.
71869         * modules/idcache (Makefile.am): Likewise.
71870         * modules/imaxabs (Makefile.am): Likewise.
71871         * modules/imaxdiv (Makefile.am): Likewise.
71872         * modules/inet_ntop (Makefile.am): Likewise.
71873         * modules/inet_pton (Makefile.am): Likewise.
71874         * modules/intprops (Makefile.am): Likewise.
71875         * modules/inttostr (Makefile.am): Likewise.
71876         * modules/inttypes (Makefile.am): Likewise.
71877         * modules/isapipe (Makefile.am): Likewise.
71878         * modules/javaversion (Makefile.am): Likewise.
71879         * modules/lchmod (Makefile.am): Likewise.
71880         * modules/lchown (Makefile.am): Likewise.
71881         * modules/localcharset (Makefile.am): Likewise.
71882         * modules/long-options (Makefile.am): Likewise.
71883         * modules/lstat (Makefile.am): Likewise.
71884         * modules/malloc (Makefile.am): Likewise.
71885         * modules/mathl (Makefile.am): Likewise.
71886         * modules/mbchar (Makefile.am): Likewise.
71887         * modules/md2 (Makefile.am): Likewise.
71888         * modules/md4 (Makefile.am): Likewise.
71889         * modules/md5 (Makefile.am): Likewise.
71890         * modules/memcasecmp (Makefile.am): Likewise.
71891         * modules/memchr (Makefile.am): Likewise.
71892         * modules/memcmp (Makefile.am): Likewise.
71893         * modules/memcoll (Makefile.am): Likewise.
71894         * modules/memcpy (Makefile.am): Likewise.
71895         * modules/memmem (Makefile.am): Likewise.
71896         * modules/memmove (Makefile.am): Likewise.
71897         * modules/mempcpy (Makefile.am): Likewise.
71898         * modules/memrchr (Makefile.am): Likewise.
71899         * modules/memset (Makefile.am): Likewise.
71900         * modules/memxor (Makefile.am): Likewise.
71901         * modules/mkancesdirs (Makefile.am): Likewise.
71902         * modules/mkdir-p (Makefile.am): Likewise.
71903         * modules/mkdir (Makefile.am): Likewise.
71904         * modules/mkdtemp (Makefile.am): Likewise.
71905         * modules/mkstemp (Makefile.am): Likewise.
71906         * modules/mktime (Makefile.am): Likewise.
71907         * modules/modechange (Makefile.am): Likewise.
71908         * modules/mountlist (Makefile.am): Likewise.
71909         * modules/nanosleep (Makefile.am): Likewise.
71910         * modules/obstack (Makefile.am): Likewise.
71911         * modules/openat (Makefile.am): Likewise.
71912         * modules/pagealign_alloc (Makefile.am): Likewise.
71913         * modules/pathmax (Makefile.am): Likewise.
71914         * modules/physmem (Makefile.am): Likewise.
71915         * modules/poll (Makefile.am): Likewise.
71916         * modules/posixtm (Makefile.am): Likewise.
71917         * modules/posixver (Makefile.am): Likewise.
71918         * modules/putenv (Makefile.am): Likewise.
71919         * modules/quote (Makefile.am): Likewise.
71920         * modules/quotearg (Makefile.am): Likewise.
71921         * modules/raise (Makefile.am): Likewise.
71922         * modules/read-file (Makefile.am): Likewise.
71923         * modules/readline (Makefile.am): Likewise.
71924         * modules/readlink (Makefile.am): Likewise.
71925         * modules/readtokens (Makefile.am): Likewise.
71926         * modules/readutmp (Makefile.am): Likewise.
71927         * modules/realloc (Makefile.am): Likewise.
71928         * modules/regex (Makefile.am): Likewise.
71929         * modules/rename-dest-slash (Makefile.am): Likewise.
71930         * modules/rename (Makefile.am): Likewise.
71931         * modules/rijndael (Makefile.am): Likewise.
71932         * modules/rmdir (Makefile.am): Likewise.
71933         * modules/rpmatch (Makefile.am): Likewise.
71934         * modules/safe-read (Makefile.am): Likewise.
71935         * modules/safe-write (Makefile.am): Likewise.
71936         * modules/same-inode (Makefile.am): Likewise.
71937         * modules/same (Makefile.am): Likewise.
71938         * modules/save-cwd (Makefile.am): Likewise.
71939         * modules/savedir (Makefile.am): Likewise.
71940         * modules/setenv (Makefile.am): Likewise.
71941         * modules/settime (Makefile.am): Likewise.
71942         * modules/sha1 (Makefile.am): Likewise.
71943         * modules/sig2str (Makefile.am): Likewise.
71944         * modules/snprintf (Makefile.am): Likewise.
71945         * modules/stat-macros (Makefile.am): Likewise.
71946         * modules/stat-time (Makefile.am): Likewise.
71947         * modules/stdbool (Makefile.am): Likewise.
71948         * modules/stdint (Makefile.am): Likewise.
71949         * modules/stdlib-safer (Makefile.am): Likewise.
71950         * modules/stpcpy (Makefile.am): Likewise.
71951         * modules/stpncpy (Makefile.am): Likewise.
71952         * modules/strcase (Makefile.am): Likewise.
71953         * modules/strcasestr (Makefile.am): Likewise.
71954         * modules/strchrnul (Makefile.am): Likewise.
71955         * modules/strcspn (Makefile.am): Likewise.
71956         * modules/strdup (Makefile.am): Likewise.
71957         * modules/strerror (Makefile.am): Likewise.
71958         * modules/strftime (Makefile.am): Likewise.
71959         * modules/strndup (Makefile.am): Likewise.
71960         * modules/strnlen (Makefile.am): Likewise.
71961         * modules/strpbrk (Makefile.am): Likewise.
71962         * modules/strsep (Makefile.am): Likewise.
71963         * modules/strstr (Makefile.am): Likewise.
71964         * modules/strtod (Makefile.am): Likewise.
71965         * modules/strtoimax (Makefile.am): Likewise.
71966         * modules/strtok_r (Makefile.am): Likewise.
71967         * modules/strtol (Makefile.am): Likewise.
71968         * modules/strtoll (Makefile.am): Likewise.
71969         * modules/strtoul (Makefile.am): Likewise.
71970         * modules/strtoull (Makefile.am): Likewise.
71971         * modules/strtoumax (Makefile.am): Likewise.
71972         * modules/strverscmp (Makefile.am): Likewise.
71973         * modules/sys_socket (Makefile.am): Likewise.
71974         * modules/sys_stat (Makefile.am): Likewise.
71975         * modules/sysexits (Makefile.am): Likewise.
71976         * modules/time_r (Makefile.am): Likewise.
71977         * modules/timegm (Makefile.am): Likewise.
71978         * modules/timespec (Makefile.am): Likewise.
71979         * modules/tmpfile-safer (Makefile.am): Likewise.
71980         * modules/trim (Makefile.am): Likewise.
71981         * modules/unistd-safer (Makefile.am): Likewise.
71982         * modules/unlinkdir (Makefile.am): Likewise.
71983         * modules/unlocked-io (Makefile.am): Likewise.
71984         * modules/userspec (Makefile.am): Likewise.
71985         * modules/utime (Makefile.am): Likewise.
71986         * modules/utimecmp (Makefile.am): Likewise.
71987         * modules/utimens (Makefile.am): Likewise.
71988         * modules/vasnprintf (Makefile.am): Likewise.
71989         * modules/vasprintf (Makefile.am): Likewise.
71990         * modules/vsnprintf (Makefile.am): Likewise.
71991         * modules/xalloc (Makefile.am): Likewise.
71992         * modules/xgetcwd (Makefile.am): Likewise.
71993         * modules/xnanosleep (Makefile.am): Likewise.
71994         * modules/xreadlink (Makefile.am): Likewise.
71995         * modules/xstrtod (Makefile.am): Likewise.
71996         * modules/xstrtol (Makefile.am): Likewise.
71997         * modules/xstrtold (Makefile.am): Likewise.
71998         * modules/yesno (Makefile.am): Likewise.
71999         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
72000
72001 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
72002
72003         * modules/error (Makefile.am): Distribute files through
72004         EXTRA_DIST, not lib_SOURCES.
72005
72006 2006-10-12  Eric Blake  <ebb9@byu.net>
72007
72008         * modules/error (Makefile.am): Distribute files in /lib.
72009         * modules/obstack (Makefile.am): Likewise.
72010
72011 2006-10-12  Bruno Haible  <bruno@clisp.org>
72012
72013         * modules/acl (Makefile.am): Distribute all files in lib/ through
72014         EXTRA_DIST.
72015         * modules/arcfour (Makefile.am): Likewise.
72016         * modules/arctwo (Makefile.am): Likewise.
72017         * modules/argmatch (Makefile.am): Likewise.
72018         * modules/argz (Makefile.am): Likewise.
72019         * modules/atexit (Makefile.am): Likewise.
72020         * modules/backupfile (Makefile.am): Likewise.
72021         * modules/c-strtod (Makefile.am): Likewise.
72022         * modules/c-strtold (Makefile.am): Likewise.
72023         * modules/calloc (Makefile.am): Likewise.
72024         * modules/canon-host (Makefile.am): Likewise.
72025         * modules/canonicalize (Makefile.am): Likewise.
72026         * modules/chdir-long (Makefile.am): Likewise.
72027         * modules/chdir-safer (Makefile.am): Likewise.
72028         * modules/check-version (Makefile.am): Likewise.
72029         * modules/chown (Makefile.am): Likewise.
72030         * modules/cloexec (Makefile.am): Likewise.
72031         * modules/close-stream (Makefile.am): Likewise.
72032         * modules/closeout (Makefile.am): Likewise.
72033         * modules/crc (Makefile.am): Likewise.
72034         * modules/cycle-check (Makefile.am): Likewise.
72035         * modules/des (Makefile.am): Likewise.
72036         * modules/dirfd (Makefile.am): Likewise.
72037         * modules/dirname (Makefile.am): Likewise.
72038         * modules/dup2 (Makefile.am): Likewise.
72039         * modules/euidaccess (Makefile.am): Likewise.
72040         * modules/exclude (Makefile.am): Likewise.
72041         * modules/exitfail (Makefile.am): Likewise.
72042         * modules/fcntl-safer (Makefile.am): Likewise.
72043         * modules/file-type (Makefile.am): Likewise.
72044         * modules/fileblocks (Makefile.am): Likewise.
72045         * modules/filemode (Makefile.am): Likewise.
72046         * modules/filenamecat (Makefile.am): Likewise.
72047         * modules/fnmatch (Makefile.am): Likewise.
72048         * modules/fopen-safer (Makefile.am): Likewise.
72049         * modules/fpending (Makefile.am): Likewise.
72050         * modules/fprintftime (Makefile.am): Likewise.
72051         * modules/free (Makefile.am): Likewise.
72052         * modules/fsusage (Makefile.am): Likewise.
72053         * modules/ftruncate (Makefile.am): Likewise.
72054         * modules/fts (Makefile.am): Likewise.
72055         * modules/gc (Makefile.am): Likewise.
72056         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
72057         * modules/getaddrinfo (Makefile.am): Likewise.
72058         * modules/getcwd (Makefile.am): Likewise.
72059         * modules/getdelim (Makefile.am): Likewise.
72060         * modules/getdomainname (Makefile.am): Likewise.
72061         * modules/getgroups (Makefile.am): Likewise.
72062         * modules/gethostname (Makefile.am): Likewise.
72063         * modules/gethrxtime (Makefile.am): Likewise.
72064         * modules/getline (Makefile.am): Likewise.
72065         * modules/getloadavg (Makefile.am): Likewise.
72066         * modules/getlogin_r (Makefile.am): Likewise.
72067         * modules/getopt (Makefile.am): Likewise.
72068         * modules/getpass (Makefile.am): Likewise.
72069         * modules/getpass-gnu (Makefile.am): Likewise.
72070         * modules/getsubopt (Makefile.am): Likewise.
72071         * modules/gettime (Makefile.am): Likewise.
72072         * modules/gettimeofday (Makefile.am): Likewise.
72073         * modules/getugroups (Makefile.am): Likewise.
72074         * modules/getusershell (Makefile.am): Likewise.
72075         * modules/glob (Makefile.am): Likewise.
72076         * modules/group-member (Makefile.am): Likewise.
72077         * modules/hard-locale (Makefile.am): Likewise.
72078         * modules/hash (Makefile.am): Likewise.
72079         * modules/hmac-md5 (Makefile.am): Likewise.
72080         * modules/hmac-sha1 (Makefile.am): Likewise.
72081         * modules/human (Makefile.am): Likewise.
72082         * modules/idcache (Makefile.am): Likewise.
72083         * modules/imaxabs (Makefile.am): Likewise.
72084         * modules/imaxdiv (Makefile.am): Likewise.
72085         * modules/inet_ntop (Makefile.am): Likewise.
72086         * modules/inet_pton (Makefile.am): Likewise.
72087         * modules/inttostr (Makefile.am): Likewise.
72088         * modules/isapipe (Makefile.am): Likewise.
72089         * modules/lchown (Makefile.am): Likewise.
72090         * modules/long-options (Makefile.am): Likewise.
72091         * modules/lstat (Makefile.am): Likewise.
72092         * modules/malloc (Makefile.am): Likewise.
72093         * modules/mathl (Makefile.am): Likewise.
72094         * modules/mbchar (Makefile.am): Likewise.
72095         * modules/md2 (Makefile.am): Likewise.
72096         * modules/md4 (Makefile.am): Likewise.
72097         * modules/md5 (Makefile.am): Likewise.
72098         * modules/memcasecmp (Makefile.am): Likewise.
72099         * modules/memchr (Makefile.am): Likewise.
72100         * modules/memcmp (Makefile.am): Likewise.
72101         * modules/memcoll (Makefile.am): Likewise.
72102         * modules/memcpy (Makefile.am): Likewise.
72103         * modules/memmem (Makefile.am): Likewise.
72104         * modules/memmove (Makefile.am): Likewise.
72105         * modules/mempcpy (Makefile.am): Likewise.
72106         * modules/memrchr (Makefile.am): Likewise.
72107         * modules/memset (Makefile.am): Likewise.
72108         * modules/memxor (Makefile.am): Likewise.
72109         * modules/mkancesdirs (Makefile.am): Likewise.
72110         * modules/mkdir (Makefile.am): Likewise.
72111         * modules/mkdir-p (Makefile.am): Likewise.
72112         * modules/mkdtemp (Makefile.am): Likewise.
72113         * modules/mkstemp (Makefile.am): Likewise.
72114         * modules/mktime (Makefile.am): Likewise.
72115         * modules/modechange (Makefile.am): Likewise.
72116         * modules/mountlist (Makefile.am): Likewise.
72117         * modules/nanosleep (Makefile.am): Likewise.
72118         * modules/openat (Makefile.am): Likewise.
72119         * modules/pagealign_alloc (Makefile.am): Likewise.
72120         * modules/physmem (Makefile.am): Likewise.
72121         * modules/poll (Makefile.am): Likewise.
72122         * modules/posixtm (Makefile.am): Likewise.
72123         * modules/posixver (Makefile.am): Likewise.
72124         * modules/putenv (Makefile.am): Likewise.
72125         * modules/quote (Makefile.am): Likewise.
72126         * modules/quotearg (Makefile.am): Likewise.
72127         * modules/raise (Makefile.am): Likewise.
72128         * modules/read-file (Makefile.am): Likewise.
72129         * modules/readline (Makefile.am): Likewise.
72130         * modules/readlink (Makefile.am): Likewise.
72131         * modules/readtokens (Makefile.am): Likewise.
72132         * modules/readutmp (Makefile.am): Likewise.
72133         * modules/realloc (Makefile.am): Likewise.
72134         * modules/regex (Makefile.am): Likewise.
72135         * modules/rename (Makefile.am): Likewise.
72136         * modules/rename-dest-slash (Makefile.am): Likewise.
72137         * modules/rijndael (Makefile.am): Likewise.
72138         * modules/rmdir (Makefile.am): Likewise.
72139         * modules/rpmatch (Makefile.am): Likewise.
72140         * modules/safe-read (Makefile.am): Likewise.
72141         * modules/safe-write (Makefile.am): Likewise.
72142         * modules/same (Makefile.am): Likewise.
72143         * modules/save-cwd (Makefile.am): Likewise.
72144         * modules/savedir (Makefile.am): Likewise.
72145         * modules/setenv (Makefile.am): Likewise.
72146         * modules/settime (Makefile.am): Likewise.
72147         * modules/sha1 (Makefile.am): Likewise.
72148         * modules/sig2str (Makefile.am): Likewise.
72149         * modules/snprintf (Makefile.am): Likewise.
72150         * modules/stdlib-safer (Makefile.am): Likewise.
72151         * modules/stpcpy (Makefile.am): Likewise.
72152         * modules/stpncpy (Makefile.am): Likewise.
72153         * modules/strcase (Makefile.am): Likewise.
72154         * modules/strcasestr (Makefile.am): Likewise.
72155         * modules/strchrnul (Makefile.am): Likewise.
72156         * modules/strcspn (Makefile.am): Likewise.
72157         * modules/strdup (Makefile.am): Likewise.
72158         * modules/strerror (Makefile.am): Likewise.
72159         * modules/strftime (Makefile.am): Likewise.
72160         * modules/strndup (Makefile.am): Likewise.
72161         * modules/strnlen (Makefile.am): Likewise.
72162         * modules/strpbrk (Makefile.am): Likewise.
72163         * modules/strsep (Makefile.am): Likewise.
72164         * modules/strstr (Makefile.am): Likewise.
72165         * modules/strtod (Makefile.am): Likewise.
72166         * modules/strtoimax (Makefile.am): Likewise.
72167         * modules/strtok_r (Makefile.am): Likewise.
72168         * modules/strtol (Makefile.am): Likewise.
72169         * modules/strtoll (Makefile.am): Likewise.
72170         * modules/strtoul (Makefile.am): Likewise.
72171         * modules/strtoull (Makefile.am): Likewise.
72172         * modules/strtoumax (Makefile.am): Likewise.
72173         * modules/strverscmp (Makefile.am): Likewise.
72174         * modules/time_r (Makefile.am): Likewise.
72175         * modules/timegm (Makefile.am): Likewise.
72176         * modules/tmpfile-safer (Makefile.am): Likewise.
72177         * modules/unistd-safer (Makefile.am): Likewise.
72178         * modules/unlinkdir (Makefile.am): Likewise.
72179         * modules/userspec (Makefile.am): Likewise.
72180         * modules/utime (Makefile.am): Likewise.
72181         * modules/utimecmp (Makefile.am): Likewise.
72182         * modules/utimens (Makefile.am): Likewise.
72183         * modules/vasnprintf (Makefile.am): Likewise.
72184         * modules/vasprintf (Makefile.am): Likewise.
72185         * modules/vsnprintf (Makefile.am): Likewise.
72186         * modules/xalloc (Makefile.am): Likewise.
72187         * modules/xgetcwd (Makefile.am): Likewise.
72188         * modules/xnanosleep (Makefile.am): Likewise.
72189         * modules/xreadlink (Makefile.am): Likewise.
72190         * modules/xstrtod (Makefile.am): Likewise.
72191         * modules/xstrtol (Makefile.am): Likewise.
72192         * modules/xstrtold (Makefile.am): Likewise.
72193         * modules/yesno (Makefile.am): Likewise.
72194
72195 2006-10-12  Jim Meyering  <jim@meyering.net>
72196
72197         * m4/getloadavg.m4: Revert the change below.
72198
72199         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
72200         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
72201         fail with a symlink, which is what coreutils' ./bootstrap now
72202         creates by default.
72203
72204 2006-10-12  Bruno Haible  <bruno@clisp.org>
72205
72206         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
72207         mingw.
72208         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
72209         MSVC and mingw explicitly.
72210
72211 2006-10-11  Simon Josefsson  <jas@extundo.com>
72212             Bruno Haible  <bruno@clisp.org>
72213
72214         Add support for multiple gnulib-tool invocations in the scope of a
72215         single configure.ac file.
72216         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
72217         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
72218         with the same contents as the _LIBADD variable.
72219         (func_emit_initmacro_start, func_emit_initmacro_end,
72220         func_emit_initmacro_done): New functions.
72221         (func_import, func_create_testdir): Invoke them. Allow the identifiers
72222         gl_LIBOBJS and gl_LTLIBOBJS.
72223
72224 2006-10-11  Bruno Haible  <bruno@clisp.org>
72225
72226         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
72227         (func_create_testdir): Don't create po/Makefile.am, don't invoke
72228         autoreconf. Instead, invoke autopoint explicitly but move back the
72229         *.m4 files from gnulib.
72230
72231 2006-10-11  Bruno Haible  <bruno@clisp.org>
72232
72233         * gnulib-tool (func_usage): Make module names after --create-testdir
72234         optional.
72235         (func_create_testdir): If no module was specified, use nearly all
72236         modules.
72237
72238 2006-10-12  Jim Meyering  <jim@meyering.net>
72239
72240         Big performance improvement for fts-based tools that use FTS_NOSTAT.
72241         Avoid spurious inode-mismatch problems on non-POSIX file systems.
72242         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
72243         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
72244         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
72245         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
72246         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
72247         (fts_set_stat_required): New function.
72248         (fts_open): Defer the calls to fts_stat, if possible or requested.
72249         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
72250         into fts_stat itself.
72251         (fts_read): Perform any required (deferred) fts_stat call.
72252         (fts_build): Likewise, for the directory we're about to open and read.
72253         In the readdir loop, carefully decide whether each entry will require
72254         an eventual call to fts_stat, using dirent.d_type info if available.
72255         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
72256         a command line argument into this function.  Update all callers.
72257         Map a return value of FTS_DOT to FTS_D for a command line argument.
72258         * modules/fts (Depends-on): Add d-type.  Alphabetize.
72259         Thanks to Miklos Szeredi for his tenacity and for the initial
72260         bug report about "find" failing on a FUSE-based file system.
72261
72262         * lib/fts.c (fts_open): Use consistent indentation.
72263
72264 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
72265
72266         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
72267         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
72268         reported by Jim Meyering.  All uses of cache variables renamed
72269         to match Autoconf's.
72270         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
72271         the other one.
72272
72273         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
72274         Fix misspelling in diagnostic.
72275
72276 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
72277
72278         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
72279         defined.  Problem reported by Matthew Woehlke.
72280
72281         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
72282         Add support for Tandem NonStop R series.
72283         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
72284         Use new macro.
72285
72286         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
72287         (has_trailing_slash): Omit size arg; all callers changed.
72288         Omit 'inline', since it doesn't help performance and we'd
72289         need to configure it.
72290         Don't count //, ///, etc. as having a trailing slash.
72291         As a side effect, this removes a C99ism reported by Matthew Woehlke.
72292         (rpl_rename_dest_slash): On failure, use rename's errno rather
72293         than (in some cases) an incorrect or junk errno.
72294         Simplify code by removing need to compute length; this does
72295         cause it to make two passes instead of one over the file name,
72296         but it's worth it.
72297
72298         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
72299         change, since Autoconf's version may no longer be appropriate now
72300         that we are using CVS Autoconf's version.  Add support for Tandem.
72301
72302 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
72303             Bruno Haible  <bruno@clisp.org>
72304
72305         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
72306         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
72307         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
72308         gl_AC_TYPE_LONG_LONG.
72309
72310         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
72311         instead of HAVE_LONG_LONG.
72312         * lib/printf-args.c (printf_fetchargs): Likewise.
72313         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
72314         * lib/vasnprintf.c (VASNPRINTF): Likewise.
72315         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
72316         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
72317         gl_AC_TYPE_LONG_LONG.
72318
72319 2006-10-11  Bruno Haible  <bruno@clisp.org>
72320
72321         * m4/longlong.m4: Add comments.
72322         * m4/ulonglong.m4: Likewise.
72323
72324 2006-10-10  Bruno Haible  <bruno@clisp.org>
72325
72326         Make it possible to #define stpcpy, strdup to aliases.
72327         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
72328         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
72329
72330 2006-10-10  Bruno Haible  <bruno@clisp.org>
72331
72332         Make it possible to #define gcd to an alias.
72333         * lib/gcd.c: Include config.h.
72334
72335 2006-10-10  Bruno Haible  <bruno@clisp.org>
72336
72337         Make it possible to #define c_isascii to an alias.
72338         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
72339         defined. Undefine the macros before defining them, to avoid gcc
72340         warnings.
72341         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
72342         define NO_C_CTYPE_MACROS early.
72343
72344 2006-10-10  Bruno Haible  <bruno@clisp.org>
72345
72346         Make it possible to #define set_program_name to an alias.
72347         * lib/progname.c: Don't undefine set_program_name; instead, undefine
72348         ENABLE_RELOCATABLE early.
72349
72350 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
72351
72352         Port to Tandem NSK OSS, which has 64-bit signed int but at most
72353         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
72354         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
72355         More generally, don't assume that 64-bit signed int is available
72356         if unsigned int is, and vice versa.
72357         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
72358         unsigned symbols, not on their signed counterparts.
72359         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
72360         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
72361         (UINT64_C, UINTMAX_C):
72362         Likewise.
72363         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
72364         unsigned counterparts.
72365         (Have_long_long, Unsigned): New macros.
72366         (Int): Renamed from INT.
72367         (strtoimax): Use the new macros.
72368         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
72369         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
72370         * modules/inttypes (inttypes.h): Substitute
72371         HAVE_UNSIGNED_LONG_LONG_INT.
72372         * modules/stdint (stdint.h): Likewise.
72373         (Files): Add m4/ulonglong.m4.
72374
72375 2006-10-10  Bruno Haible  <bruno@clisp.org>
72376
72377         Fix a gcc -Wshadow warning.
72378         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
72379         to 'bucket'.
72380         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
72381         gl_linked_indexof_from_to): Likewise.
72382         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
72383         Likewise.
72384         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
72385         Likewise.
72386         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
72387         Reported by Eric Blake.
72388
72389 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
72390
72391         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
72392         for NetBSD.  Problem reported by Bruno Haible.
72393
72394 2006-10-09  Jim Meyering  <jim@meyering.net>
72395
72396         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
72397         Patch from Bruno Haible.
72398
72399 2006-10-09  Jim Meyering  <jim@meyering.net>
72400
72401         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
72402         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
72403         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
72404
72405 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
72406
72407         Don't include <config.h> twice; this doesn't work in some cases,
72408         e.g., when config.h has "#define intmax_t long long int" and
72409         we include <config.h>, <inttypes.h>, <config.h> in that order.
72410         Problem reported by Matthew Woehlke in:
72411         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
72412         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
72413         * lib/fts-cycle.c: Don't include config.h.
72414         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
72415         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
72416         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
72417         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
72418         inttypes.h.
72419         * lib/xstrtoumax.c: Likewise.
72420         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
72421         __strtol and the like, so that this module is more like its siblings.
72422         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
72423         Remove; no longer needed now that we assume gnulib inttypes.h.
72424
72425 2006-10-08  Bruno Haible  <bruno@clisp.org>
72426
72427         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
72428         option.
72429
72430 2006-10-07  Jim Meyering  <jim@meyering.net>
72431
72432         * modules/inttypes (inttypes.h): Revert what seems to have been
72433         an inadvertent part of today's change: use "|", not "/" in the
72434         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
72435
72436 2006-10-07  Bruno Haible  <bruno@clisp.org>
72437
72438         * modules/sublist: New file.
72439
72440 2006-10-07  Bruno Haible  <bruno@clisp.org>
72441
72442         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
72443         * modules/argz (argz.h): Likewise.
72444         * modules/arpa_inet (arpa/inet.h): Likewise.
72445         * modules/byteswap (byteswap.h): Likewise.
72446         * modules/configmake (configmake.h): Likewise.
72447         * modules/fcntl (fcntl.h): Likewise.
72448         * modules/fnmatch (fnmatch.h): Likewise.
72449         * modules/getopt (getopt.h): Likewise.
72450         * modules/glob (glob.h): Likewise.
72451         * modules/inttypes (inttypes.h): Likewise.
72452         * modules/netinet_in (netinet/in.h): Likewise.
72453         * modules/poll (poll.h): Likewise.
72454         * modules/stdbool (stdbool.h): Likewise.
72455         * modules/stdint (stdint.h): Likewise.
72456         * modules/sys_select (sys/select.h): Likewise.
72457         * modules/sys_socket (sys/socket.h): Likewise.
72458         * modules/sys_stat (sys/stat.h): Likewise.
72459         * modules/sysexits (sysexits.h): Likewise.
72460         * modules/unistd (unistd.h): Likewise.
72461         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72462         Add a "DO NOT EDIT" comment to the generated file.
72463         (func_import): Likewise for gnulib-comp.m4.
72464
72465 2006-10-07  Bruno Haible  <bruno@clisp.org>
72466
72467         * lib/gl_sublist.h: New file.
72468         * lib/gl_sublist.c: New file.
72469
72470 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
72471
72472         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
72473         name (relative to the original working directory) and the file
72474         name component (relative to the temporary working directory).  All
72475         callers changed.
72476         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
72477         * lib/mkdir-p.c (make_dir_parents): Likewise.
72478         * lib/mkdir-p.h (make_dir_parents): Likewise.
72479
72480 2006-10-06  Eric Blake  <ebb9@byu.net>
72481
72482         Define several macros for use by the clean-temp module.
72483         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
72484         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
72485         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
72486
72487         * lib/clean-temp.h (close_stream_temp): New declaration.
72488         * lib/clean-temp.c (includes): Pull in headers according to what
72489         other modules are in use.
72490         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
72491
72492 2006-10-06  Bruno Haible  <bruno@clisp.org>
72493
72494         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
72495         instead of fopen, fwriteerror.
72496
72497 2006-10-06  Bruno Haible  <bruno@clisp.org>
72498
72499         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
72500         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
72501         int.
72502         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
72503         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
72504         Return an error indicator.
72505         Suggested by Eric Blake.
72506
72507 2006-10-06  Bruno Haible  <bruno@clisp.org>
72508
72509         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
72510         Reported by Eric Blake.
72511
72512 2006-10-06  Bruno Haible  <bruno@clisp.org>
72513
72514         * modules/closeout (Description): Mention stderr too.
72515
72516 2006-10-06  Bruno Haible  <bruno@clisp.org>
72517         and Paul Eggert  <eggert@cs.ucla.edu>
72518
72519         * lib/closeout.c (close_stdout): Also close stderr.
72520         * lib/closeout.h: Update comment.
72521
72522 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
72523
72524         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
72525         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
72526         * lib/dirchownmod.c: Include lchown.h.
72527         * lib/lchown.c: Don't include files that lchown.h now includes.
72528         Don't declare chown, since lchown.h now does that.
72529         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
72530         (lchown): Define to rpl_chown if lchown is declared but
72531         does not exist.  Declare using a prototype if lchown is not
72532         declared.  Add a copyright notice.
72533         * lib/mkstemp.h: Include <unistd.h>.
72534         * lib/openat.c: Include lchown.h.
72535
72536         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
72537         we now test for that separately.
72538         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
72539         rather than O_NOFOLLOW, when testing whether it's possible to
72540         avoid a race condition reliably.
72541         * lib/savewd.c (savewd_chdir): Likewise.
72542
72543         Remove macros that are no longer needed now that stdint.h is
72544         reliable.
72545         * lib/fsusage.c (UINTMAX_MAX): Remove.
72546         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
72547         * lib/utimecmp.c (SIZE_MAX): Remove.
72548
72549         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
72550
72551         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
72552         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
72553         O_NOATIME works.
72554
72555 2006-10-05  Bruno Haible  <bruno@clisp.org>
72556
72557         * lib/gl_list.h (gl_sortedlist_search_from_to,
72558         gl_sortedlist_indexof_from_to): New declarations.
72559         (gl_list_implementation): New fields sortedlist_search_from_to,
72560         sortedlist_indexof_from_to.
72561         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
72562         inline functions.
72563         * lib/gl_list.c (gl_sortedlist_search_from_to,
72564         gl_sortedlist_indexof_from_to): New functions.
72565         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
72566         function.
72567         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
72568         (gl_array_sortedlist_search_from_to): New function.
72569         (gl_array_list_implementation): Update.
72570         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
72571         function.
72572         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
72573         (gl_carray_sortedlist_search_from_to): New function.
72574         (gl_carray_list_implementation): Update.
72575         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
72576         gl_linked_sortedlist_indexof_from_to): New functions.
72577         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
72578         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
72579         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
72580         gl_tree_sortedlist_indexof_from_to): New functions.
72581         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
72582         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
72583         Update.
72584         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
72585         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
72586         Update.
72587
72588 2006-10-05  Bruno Haible  <bruno@clisp.org>
72589
72590         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
72591         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
72592         (struct gl_list_implementation): Add fields search_from_to,
72593         indexof_from_to. Remove fields search, indexof.
72594         (gl_list_search): Use the search_from_to method.
72595         (gl_list_search_from, gl_list_search_from_to): New functions.
72596         (gl_list_indexof): Use the indexof_from_to method.
72597         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
72598         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
72599         (gl_list_search_from, gl_list_search_from_to): New functions.
72600         (gl_list_indexof): Use the indexof_from_to method.
72601         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
72602         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
72603         gl_array_indexof. Add start_index, end_index arguments.
72604         (gl_array_search_from_to): Renamed from gl_array_search. Add
72605         start_index, end_index arguments.
72606         (gl_array_remove, gl_array_list_implementation): Update.
72607         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
72608         gl_carray_indexof. Add start_index, end_index arguments.
72609         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
72610         start_index, end_index arguments.
72611         (gl_carray_remove, gl_carray_list_implementation): Update.
72612         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
72613         gl_linked_search. Add start_index, end_index arguments.
72614         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
72615         start_index, end_index arguments.
72616         (gl_linked_remove): Update.
72617         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
72618         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
72619         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
72620         field to 'size_t'.
72621         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
72622         gl_tree_search. Add start_index, end_index arguments.
72623         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
72624         start_index, end_index arguments.
72625         (gl_tree_remove): Update.
72626         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
72627         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
72628         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
72629         function.
72630         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
72631         gl_tree_search. Add start_index, end_index arguments.
72632         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
72633         start_index, end_index arguments.
72634         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
72635         Update.
72636         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
72637
72638 2006-10-05  Bruno Haible  <bruno@clisp.org>
72639
72640         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
72641
72642         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
72643         fwriteerror_temp): New declarations.
72644         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
72645         (descriptors): New variable.
72646         (cleanup): First, close the descriptors.
72647         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
72648         fclose_temp, fwriteerror_temp): New functions.
72649
72650 2006-10-04  Jim Meyering  <jim@meyering.net>
72651
72652         * lib/fts.c (fts_open): Tiny comment change.
72653
72654 2006-10-04  Bruno Haible  <bruno@clisp.org>
72655
72656         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
72657         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
72658         gl_LOCK_BODY.
72659         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
72660         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
72661         gl_LOCK_EARLY_BODY.
72662         (gl_LOCK): Require gl_LOCK_BODY.
72663
72664 2006-10-04  Bruno Haible  <bruno@clisp.org>
72665
72666         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
72667         (gl_oset_search_atleast): New declaration.
72668         (struct gl_oset_implementation): Add field 'search_atleast'.
72669         (gl_oset_search_atleast): New inline function.
72670         * lib/gl_oset.c (gl_oset_search_atleast): New function.
72671         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
72672         (gl_array_oset_implementation): Update.
72673         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
72674         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
72675         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
72676
72677 2006-10-04  Bruno Haible  <bruno@clisp.org>
72678
72679         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
72680
72681 2006-10-03  Bruno Haible  <bruno@clisp.org>
72682
72683         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
72684         from gl_avltreehash_list_implementation.
72685
72686 2006-10-03  Bruno Haible  <bruno@clisp.org>
72687
72688         * lib/gl_oset.c (gl_oset_add): Fix return type.
72689
72690 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
72691
72692         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
72693
72694 2006-10-02  Eric Blake  <ebb9@byu.net>
72695
72696         * modules/strnlen (Depends-on): Add extensions.
72697
72698 2006-10-02  Eric Blake  <ebb9@byu.net>
72699
72700         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
72701         definition in 2.60+.
72702
72703 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
72704
72705         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
72706         checks.
72707
72708 2006-10-02  Bruno Haible  <bruno@clisp.org>
72709
72710         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
72711         to the AUTOMAKE_OPTIONS.
72712         Reported by Jim Meyering.
72713
72714 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
72715
72716         Work around bug in Solaris 10 /proc file system:
72717         /proc/self/fd/NNN/.. isn't the parent directory of
72718         the directory whose file descriptor is NNN.  This needs to
72719         be worked around at run time, not compile time, since a
72720         program might be built on Solaris 8, where things work, and
72721         run on Solaris 10.
72722         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
72723         to use the following interface instead:
72724         (OPENAT_BUFFER_SIZE): New macro.
72725         (openat_proc_name): New function.
72726         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
72727         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
72728         Likewise.
72729         * lib/openat-proc.c: New file.
72730         * modules/openat (Files): Add lib/openat-proc.c.
72731         (Depends-on): Add same-inode, stdbool.
72732         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
72733
72734 2006-09-29  Bruno Haible  <bruno@clisp.org>
72735
72736         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
72737         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
72738         argument. Set stdout_closed before testing for ferror, not after.
72739         (fwriteerror, fwriteerror_no_ebadf): New functions.
72740
72741 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72742
72743         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
72744
72745 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
72746
72747         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
72748         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
72749
72750 2006-09-28  Jim Meyering  <jim@meyering.net>
72751
72752         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
72753         Include <unistd.h>.
72754
72755 2006-09-28  Bruno Haible  <bruno@clisp.org>
72756
72757         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
72758         * modules/linkedhash-list (Depends-on): Likewise.
72759         * modules/rbtreehash-list (Depends-on): Likewise.
72760
72761 2006-09-28  Bruno Haible  <bruno@clisp.org>
72762
72763         * lib/strndup.h: Simplify the redefinition of strndup.
72764         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
72765         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
72766
72767 2006-09-28  Bruno Haible  <bruno@clisp.org>
72768
72769         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
72770         * lib/gl_linkedhash_list.c: Likewise.
72771         * lib/gl_rbtreehash_list.c: Likewise.
72772
72773 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
72774
72775         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
72776         getaddrinfo.
72777
72778         * lib/__fpending.h: Don't include <stdio_ext.h> unless
72779         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
72780         it causes <stdio_ext.h> to cause a compile-time error.
72781         Problem reported by Nelson H. F. Beebe.
72782         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
72783         of HAVE_DECL___PENDING.
72784
72785         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
72786         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
72787         declaration.
72788
72789 2006-09-27  Jim Meyering  <jim@meyering.net>
72790
72791         This file could end up with a definition for a function
72792         named __strndup, rather than rpl_strndup on a system with
72793         incomplete weak_alias support.
72794         * lib/strndup.c (strndup): Rename from __strndup.
72795         Remove #defines that used to map __strndup to strndup.
72796         Don't use K&R prototypes.
72797         Remove LIBC-related code, since this file is not sync'd with glibc.
72798         * lib/strndup.h: Revamp, accordingly.
72799         * m4/strndup.m4: Modernize.
72800
72801 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
72802
72803         * modules/savewd (Depends-on): Add 'raise'.
72804         * lib/savewd.c: Include <signal.h>, for 'raise'.
72805
72806 2006-09-26  Jim Meyering  <jim@meyering.net>
72807
72808         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
72809         when we detect Darwin 8.7.0's acl_get_file bug.
72810         Rearrange to perform the new (below) run-test while $LIBS
72811         contains any acl-related library.  Set USE_ACL at the end.
72812         (gl_ACL_GET_FILE): New function.
72813
72814 2006-09-26  Eric Blake  <ebb9@byu.net>
72815
72816         * lib/verror.c: Include <config.h> unconditionally.
72817
72818 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
72819
72820         * modules/clock-time (Maintainer): Add self.
72821         * modules/getlogin_r (Depends-on): Add extensions.
72822
72823 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72824
72825         * modules/clock-time: New module.
72826         * modules/nanosleep (Depends-on): Add clock-time.
72827         * modules/gethrxtime (Depends-on): Likewise.
72828         * modules/gettime (Depends-on): Likewise.
72829         * modules/settime (Depends-on): Likewise.
72830
72831         * modules/fts-lgpl: Depend on openat.
72832         * modules/mkancesdirs: Depend on savewd.
72833         * modules/mkdir-p: Likewise.
72834
72835 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72836
72837         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
72838
72839         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
72840         `gl_have_arbitrary_file_name_length_limit' to
72841         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
72842         actually works between configure runs.
72843
72844 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72845             Bruno Haible  <bruno@clisp.org>
72846
72847         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
72848
72849 2006-09-25  Jim Meyering  <jim@meyering.net>
72850
72851         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
72852         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
72853
72854 2006-09-25  Eric Blake  <ebb9@byu.net>
72855
72856         * gnulib-tool (func_import, func_create_testdir): Fix typos in
72857         exec's in 2006-09-18 patch when shuffling fds.
72858
72859 2006-09-25  Bruno Haible  <bruno@clisp.org>
72860
72861         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
72862         Reported by Jim Meyering.
72863
72864 2006-09-24  Jim Meyering  <jim@meyering.net>
72865
72866         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
72867         compare a pointer against a literal "0".  That caused failures with
72868         at least HP-UX's hpcc.
72869
72870 2006-09-22  Simon Josefsson  <jas@extundo.com>
72871
72872         * modules/gc-sha1:
72873         * modules/gc-md4:
72874         * modules/gc-hmac-sha1:
72875         * modules/gc-hmac-md5:
72876         * modules/gc-des:
72877         * modules/gc-arcfour: Distribute more files.
72878
72879 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72880
72881         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
72882         (gl_linked_iterator_from_to): Initialize struct completely.
72883         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
72884         (gl_tree_iterator_from_to): Likewise
72885         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
72886         * lib/gl_array_list.c [lint] (gl_array_iterator)
72887         (gl_array_iterator_from_to): Likewise.
72888         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
72889         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
72890         (gl_carray_iterator_from_to): Likewise.
72891
72892         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
72893         * lib/md4.c (md4_process_block): Remove unused variable.
72894         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
72895         parentheses for clarity.
72896
72897 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72898
72899         * modules/bison-i18n (Depends-on): Add gettext.
72900
72901 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72902
72903         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
72904         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
72905         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
72906         also add missing comma that caused broken test.
72907         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
72908         stdlib.h, for `abort'.
72909         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
72910         variables.
72911         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
72912         include unistd.h if present, for `rmdir'.
72913         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
72914         variables.
72915         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
72916         in the process include standard headers for prototypes.
72917         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
72918         gets declared on GNU/Linux.
72919         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
72920         unistd.h, for `rmdir'.
72921         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
72922
72923         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
72924         always true.
72925         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
72926
72927         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
72928
72929 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72930
72931         * gnulib-tool (func_version): Create output all at once.  This
72932         may help avoid triggering unnecessary SIGPIPEs, and at any
72933         rate it doesn't hurt.
72934
72935 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72936             Bruno Haible  <bruno@clisp.org>
72937
72938         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
72939         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
72940         * m4/signed.m4 (bh_C_SIGNED): Likewise.
72941
72942         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
72943         (gl_FUNC_VASPRINTF): Invoke it.
72944
72945 2006-09-22  Bruno Haible  <bruno@clisp.org>
72946
72947         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
72948         getloadavg.c as first argument.
72949
72950 2006-09-22  Bruno Haible  <bruno@clisp.org>
72951
72952         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
72953         at the beginning of the gl_INIT macro.
72954         * modules/getloadavg (configure.ac): Pass $gl_source_base to
72955         gl_GETLOADAVG.
72956
72957 2006-09-22  Bruno Haible  <bruno@clisp.org>
72958
72959         * gnulib-tool (func_create_megatestdir): Don't include the config-h
72960         module.
72961         Suggested by Ralf Wildenhues.
72962
72963 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
72964
72965         Import this patch from libc:
72966
72967         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
72968
72969         * lib/regex_internal.c (re_string_reconstruct): Handle
72970         offset < pstr->valid_raw_len && pstr->offsets_needed case.
72971         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
72972         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
72973         re_string_context_at.
72974
72975         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
72976         now requires it.
72977         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
72978         gl_REGEX now does it for us.
72979         (gl_REGEX): Add test taken from
72980         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
72981
72982         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
72983         Check that large offsets work.  Modernize Autoconf usages.
72984         Prefer "yes" to mean a good thing rather than a bad.
72985         Don't put "#define mkstemp" in config.h, as this might interfere
72986         with standard system headers that "#define mkstemp mkstemp64".
72987
72988         * modules/mkstemp (Depends-on): Add extensions, so that
72989         mkstemp is visible on some platforms.
72990         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
72991         (Include): Change to "mkstemp.h" from <stdlib.h>.
72992         (Files): Add mkstemp.h.
72993
72994         * lib/mkstemp.h: New file, since some standard headers
72995         #define mkstemp.
72996         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
72997         Include "mkstemp.h".
72998         Make the _LIBC code resemble glibc original more,
72999         e.g., use K&R style.
73000         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
73001         (mkstemp): Remove, since mkstemp.h does this for us.
73002         * lib/stdlib--.h: Include mkstemp.h.
73003
73004         Import this patch from libc:
73005
73006         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
73007
73008         * lib/tempname.c (__gen_tempname): Change attempts_min
73009         into a macro.  Use preprocessor to decide how to initialize
73010         attempts [Coverity CID 67].
73011
73012 2006-09-20  Bruno Haible  <bruno@clisp.org>
73013
73014         * lib/mkdtemp.c: Import from libc.
73015         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
73016                 * sysdeps/posix/tempname.c (__gen_tempname): Change
73017                 attempts_min into a macro.  Use preprocessor to decide how to
73018                 initialize attempts [Coverity CID 67].
73019         2001-11-27  Paul Eggert  <eggert@twinsun.com>
73020                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
73021                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
73022
73023 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73024
73025         * gnulib-tool (func_exit): New function, to allow to pass the
73026         exit status portably through the trap.  Use everywhere.
73027         (--help, --version): Signal a write error.
73028         (trap): catch SIGPIPE, for write errors.
73029         Exit at the end of the trap, with the correct exit status.
73030
73031 2006-09-19  Karl Berry  <karl@gnu.org>
73032
73033         * doc/gnulib.texi: note about the license texinfo files.
73034
73035 2006-09-19  Eric Blake  <ebb9@byu.net>
73036
73037         * gnulib-tool: Avoid space-tab.
73038
73039 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
73040
73041         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
73042         that prevented coreutils 6.1 from building.  Problem reported
73043         by Petter Reinholdtsen.
73044
73045 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
73046
73047         * gnulib-tool (avoidlist): Fix typo that broke options like
73048         --avoid=lock that are used by coreutils bootstrap.
73049
73050 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
73051
73052         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
73053         more systematically.
73054
73055 2006-09-18  Jim Meyering  <jim@meyering.net>
73056
73057         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
73058
73059 2006-09-18  Bruno Haible  <bruno@clisp.org>
73060
73061         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
73062
73063 2006-09-18  Bruno Haible  <bruno@clisp.org>
73064
73065         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
73066         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
73067         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
73068         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
73069         * m4/gettext.m4: Require autoconf >= 2.52.
73070         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
73071         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
73072         of gl_cv_header_inttypes_h.
73073
73074 2006-09-18  Bruno Haible  <bruno@clisp.org>
73075
73076         * lib/javaversion.c: Include configmake.h.
73077
73078 2006-09-18  Bruno Haible  <bruno@clisp.org>
73079
73080         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
73081         avoid that the while loops be executed in a subshell.
73082
73083 2006-09-18  Bruno Haible  <bruno@clisp.org>
73084
73085         * MODULES.html.sh (func_module): Break long lines.
73086         Suggested by Bruce Korb <bkorb@gnu.org>.
73087
73088 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73089
73090         Speed up by a factor of 1.12.
73091         * gnulib-tool (nl): New variable.
73092         (func_import): Rewrite include directive extraction to only read each
73093         directive once.
73094
73095 2006-09-17  Bruno Haible  <bruno@clisp.org>
73096
73097         * modules/javaversion (Makefile.am): Remove DEFS setting.
73098         (Depends-on): Add configmake, for PKGDATADIR definition.
73099
73100 2006-09-17  Bruno Haible  <bruno@clisp.org>
73101
73102         * gnulib-tool (func_create_testdir): Rewrite all files at once.
73103
73104 2006-09-17  Bruno Haible  <bruno@clisp.org>
73105
73106         * gnulib-tool (func_append): New function, stolen from libtool.m4.
73107         (func_modules_transitive_closure, func_modules_add_dummy,
73108         func_modules_to_filelist, func_import, func_create_testdir,
73109         func_create_megatestdir, ...): Use it wherever possible.
73110         Suggested by Ralf Wildenhues.
73111
73112 2006-09-16  Karl Berry  <karl@gnu.org>
73113
73114         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
73115         to avoid sectioning errors.
73116         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
73117         [ifinfo]: blank line after @center-ed titles.
73118         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
73119         Spell FSF address consistently with others.
73120         (These changes approved by rms.)
73121
73122 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73123
73124         Speed up by a factor of 1.61.
73125         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
73126         already checked module names again.
73127
73128 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73129
73130         Speed up by a factor of 1.13.
73131         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
73132         for new_files, and the input to func_add_or_update.
73133
73134 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73135
73136         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
73137         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
73138
73139 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
73140
73141         * modules/mkancesdirs (Depends-on): Add fcntl.
73142         * modules/savewd: New file.
73143         * MODULES.html.sh (File system functions): Add savewd.
73144
73145         * modules/configmake (Makefile.am): Add support for the
73146         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
73147
73148 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
73149
73150         * m4/savewd.m4: New file.
73151
73152 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
73153
73154         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
73155         (dirchownmod): New arg FD.  All callers changed.
73156         Use FD rather than opening the directory ourself, as opening is
73157         now the caller's responsibility.
73158         * lib/dirchownmod.h: Likewise.
73159         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
73160         hosts that require <sys/types.h> before <sys/stat.h>.  Include
73161         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
73162         (test_dir): Remove.
73163         (mkancesdirs): Return length of prefix of FILE that has already
73164         been made, or -2 if there is a child doing the work.  Redo
73165         algorithm so that it is O(N) rather than O(N**2).  Optimize away
73166         ".", and treat ".." specially since it might stray back into
73167         already-created areas.  Use a subprocess if necessary.  New arg
73168         WD; all users changed.  MAKE_DIR function should now return 1
73169         if it creates a directory that is not readable.  Return -2 if
73170         a child process is spun off.
73171         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
73172         Adjust signature to match code.
73173         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
73174         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
73175         all users changed.
73176         * lib/savewd.c, lib/savewd.h: New files.
73177
73178 2006-09-15  Jim Meyering  <jim@meyering.net>
73179
73180         * modules/rename-dest-slash: New module.
73181         * MODULES.html.sh (posix_compat): Add it here.
73182
73183         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
73184
73185 2006-09-15  Jim Meyering  <jim@meyering.net>
73186
73187         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
73188         file.
73189
73190         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
73191
73192 2006-09-15  Jim Meyering  <jim@meyering.net>
73193
73194         * lib/rename-dest-slash.c (has_trailing_slash): Use
73195         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
73196         (rpl_rename_dest_slash): Perform the cheaper trailing slash
73197         test before testing whether SRC is a directory.
73198         Suggestions from Bruno Haible.
73199
73200         Avoid a warning about an unused variable.
73201         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
73202         into the #ifdef block where it's used.
73203
73204         * lib/rename-dest-slash.c: New file.
73205
73206 2006-09-14  Bruno Haible  <bruno@clisp.org>
73207
73208         * lib/allocsa.c: Include <config.h> unconditionally.
73209         * lib/asnprintf.c: Likewise.
73210         * lib/asprintf.c: Likewise.
73211         * lib/c-strcasecmp.c: Likewise.
73212         * lib/c-strcasestr.c: Likewise.
73213         * lib/c-strncasecmp.c: Likewise.
73214         * lib/c-strstr.c: Likewise.
73215         * lib/classpath.c: Likewise.
73216         * lib/clean-temp.c: Likewise.
73217         * lib/concatpath.c: Likewise.
73218         * lib/copy-file.c: Likewise.
73219         * lib/csharpcomp.c: Likewise.
73220         * lib/csharpexec.c: Likewise.
73221         * lib/execute.c: Likewise.
73222         * lib/fatal-signal.c: Likewise.
73223         * lib/findprog.c: Likewise.
73224         * lib/fwriteerror.c: Likewise.
73225         * lib/gl_array_list.c: Likewise.
73226         * lib/gl_array_oset.c: Likewise.
73227         * lib/gl_avltree_list.c: Likewise.
73228         * lib/gl_avltree_oset.c: Likewise.
73229         * lib/gl_avltreehash_list.c: Likewise.
73230         * lib/gl_carray_list.c: Likewise.
73231         * lib/gl_linked_list.c: Likewise.
73232         * lib/gl_linkedhash_list.c: Likewise.
73233         * lib/gl_list.c: Likewise.
73234         * lib/gl_oset.c: Likewise.
73235         * lib/gl_rbtree_list.c: Likewise.
73236         * lib/gl_rbtree_oset.c: Likewise.
73237         * lib/gl_rbtreehash_list.c: Likewise.
73238         * lib/imaxabs.c: Likewise.
73239         * lib/imaxdiv.c: Likewise.
73240         * lib/javacomp.c: Likewise.
73241         * lib/javaexec.c: Likewise.
73242         * lib/javaversion.c: Likewise.
73243         * lib/linebreak.c: Likewise.
73244         * lib/localcharset.c: Likewise.
73245         * lib/lock.c: Likewise.
73246         * lib/mbchar.c: Likewise.
73247         * lib/mbswidth.c: Likewise.
73248         * lib/mkdtemp.c: Likewise.
73249         * lib/pipe.c: Likewise.
73250         * lib/printf-args.c: Likewise.
73251         * lib/printf-parse.c: Likewise.
73252         * lib/progname.c: Likewise.
73253         * lib/progreloc.c: Likewise.
73254         * lib/readlink.c: Likewise.
73255         * lib/sh-quote.c: Likewise.
73256         * lib/stpcpy.c: Likewise.
73257         * lib/stpncpy.c: Likewise.
73258         * lib/strcasecmp.c: Likewise.
73259         * lib/strcasestr.c: Likewise.
73260         * lib/strcspn.c: Likewise.
73261         * lib/striconv.c: Likewise.
73262         * lib/strncasecmp.c: Likewise.
73263         * lib/strnlen1.c: Likewise.
73264         * lib/strstr.c: Likewise.
73265         * lib/strtok_r.c: Likewise.
73266         * lib/tls.c: Likewise.
73267         * lib/tmpdir.c: Likewise.
73268         * lib/unicodeio.c: Likewise.
73269         * lib/unsetenv.c: Likewise.
73270         * lib/vasnprintf.c: Likewise.
73271         * lib/vasprintf.c: Likewise.
73272         * lib/wait-process.c: Likewise.
73273         * lib/xallocsa.c: Likewise.
73274         * lib/xsetenv.c: Likewise.
73275         * lib/xstriconv.c: Likewise.
73276
73277 2006-09-13  Simon Josefsson  <jas@extundo.com>
73278
73279         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
73280         that internally, suggested by Ralf Wildenhues
73281         <Ralf.Wildenhues@gmx.de>.
73282
73283 2006-09-13  Simon Josefsson  <jas@extundo.com>
73284
73285         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
73286         @LIBOBJS@.
73287         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73288
73289 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
73290
73291         * lib/_fpending.c: Include <config.h> unconditionally, since we no
73292         longer worry about uses that don't define HAVE_CONFIG_H.
73293         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
73294         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
73295         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
73296         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
73297         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
73298         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
73299         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
73300         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
73301         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
73302         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
73303         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
73304         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
73305         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
73306         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
73307         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
73308         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
73309         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
73310         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
73311         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
73312         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
73313         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
73314         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
73315         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
73316         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
73317         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
73318         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
73319         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
73320         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
73321         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
73322         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
73323         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
73324         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
73325         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
73326         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
73327         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
73328         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
73329         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
73330         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
73331         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
73332         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
73333         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
73334         Likewise.
73335
73336 2006-09-13  Eric Blake  <ebb9@byu.net>
73337
73338         * lib/getopt.c: Fix typo in last commit.
73339
73340 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
73341
73342         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
73343         dgettext.
73344
73345 2006-09-12  Jim Meyering  <jim@meyering.net>
73346
73347         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
73348         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
73349         Reported by Nelson H. F. Beebe.
73350
73351 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
73352
73353         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
73354         program_invocation_name and program_invocation_short_name are
73355         initialized.
73356         * lib/argp-namefrob.h: Move declarations of program_invocation_name
73357         and program_invocation_short_name to argp.h, so they are visible
73358         to user programs.
73359         * lib/argp.h: Likewise
73360
73361 2006-09-10  Bruno Haible  <bruno@clisp.org>
73362
73363         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
73364         m4/inttypes_h.m4, m4/uintmax_t.m4.
73365
73366 2006-09-10  Bruno Haible  <bruno@clisp.org>
73367
73368         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
73369         gl_AC_TYPE_UINTMAX_T.
73370
73371 2006-09-10  Bruno Haible  <bruno@clisp.org>
73372
73373         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
73374
73375 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73376
73377         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
73378         convention.  Text proposed by Bruno Haible.
73379         (struct argp_option): Document the use of N_() wrappers.
73380
73381         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
73382         '\v', and translate the two parts separately, instead of feeding
73383         the whole string to gettext.  This allows to exclude
73384         '\v' from the strings visible to the translator by writing doc
73385         strings as N_("..") "\v" N_("..").
73386
73387 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
73388
73389         * config/srclist.txt: Undo latest change; the bug was fixed.
73390
73391 2006-09-09  Bruno Haible  <bruno@clisp.org>
73392
73393         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
73394         assignments if building a library without libtool.
73395         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
73396         in func_emit_lib_Makefile_am.
73397         (func_import): When building a static library libfoo.a, arrange to
73398         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
73399         (func_create_testdir): Likewise.
73400         * modules/gc (configure.ac, Makefile.am): If building statically,
73401         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
73402         * modules/iconvme (configure.ac, Makefile.am): Likewise.
73403         * modules/striconv (configure.ac, Makefile.am): Likewise.
73404         Based on a suggestion by Ralf Wildenhues.
73405
73406 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
73407
73408         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
73409         Check for unistd.h too, since Autoconf doesn't assume POSIX.
73410         Also:
73411
73412         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
73413         Add year_2050_test to catch glibc bug 2821
73414         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
73415
73416         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73417         Prefer #ifdef to #if.
73418
73419         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
73420         Return from 'main' instead of calling 'exit'.
73421
73422 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
73423
73424         * lib/mktime.c (guess_time_tm): Fix bug where mktime
73425         returned the maximum time_t value rather than (time_t) -1.
73426         Problem originally reported by William Bardwell
73427         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
73428
73429         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
73430         Moved to here ...
73431         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
73432         ... from here.
73433
73434 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
73435
73436         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
73437         2821 is fixed.
73438
73439 2006-09-08  Jim Meyering  <jim@meyering.net>
73440
73441         Don't make generated files read-only.  That would bother too many
73442         people.  However, do retain the ability to work when targets are
73443         read-only: remove the destination and temporary files before writing
73444         them (when generated via sed or echo), or by using the -f option for
73445         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
73446         * modules/alloca-opt, modules/argz, modules/arpa_inet:
73447         * modules/byteswap, modules/configmake, modules/fcntl:
73448         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
73449         * modules/localcharset, modules/netinet_in, modules/poll:
73450         * modules/stdbool, modules/stdint, modules/sys_select:
73451         * modules/sys_socket, modules/sys_stat, modules/sysexits:
73452
73453 2006-09-08  Jim Meyering  <jim@meyering.net>
73454
73455         Avoid new build failure on FreeBSD 6.0.
73456         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
73457         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
73458         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
73459
73460 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73461
73462         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
73463
73464 2006-09-07  Jim Meyering  <jim@meyering.net>
73465
73466         Fix global typo in last change: use chmod u-w, not chmod u-x.
73467         Spotted by Paul Eggert and Bruce Korb.
73468         * modules/alloca-opt, modules/argz, modules/arpa_inet:
73469         * modules/byteswap, modules/configmake, modules/fcntl:
73470         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
73471         * modules/localcharset, modules/netinet_in, modules/poll:
73472         * modules/stdbool, modules/stdint, modules/sys_select:
73473         * modules/sys_socket, modules/sys_stat, modules/sysexits:
73474
73475 2006-09-06  Jim Meyering  <jim@meyering.net>
73476
73477         Make generated files be read-only.
73478         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
73479         Ensure that each generated file is now read-only.
73480         * modules/argz: Likewise.
73481         * modules/arpa_inet: Likewise.
73482         * modules/byteswap: Likewise.
73483         * modules/configmake: Likewise.
73484         * modules/fcntl: Likewise.
73485         * modules/fnmatch: Likewise.
73486         * modules/getopt: Likewise.
73487         * modules/glob: Likewise.
73488         * modules/inttypes: Likewise.
73489         * modules/netinet_in: Likewise.
73490         * modules/poll: Likewise.
73491         * modules/stdbool: Likewise.
73492         * modules/stdint: Likewise.
73493         * modules/sys_select: Likewise.
73494         * modules/sys_socket: Likewise.
73495         * modules/sys_stat: Likewise.
73496         * modules/sysexits: Likewise.
73497         * modules/localcharset: Same as above, but continue using temporary
73498         file named "t-$@" (why different?) rather than the "$@-t" used
73499         everywhere else.
73500
73501         * modules/sysexits (Makefile.am): Replace literal occurrences
73502         of "sysexit.h" more readable, and more consistent, "$@".
73503
73504 2006-09-06  Bruno Haible  <bruno@clisp.org>
73505
73506         * modules/striconv: New file.
73507         * modules/xstriconv: New file.
73508         * MODULES.html.sh (Internationalization functions): Add striconv,
73509         xstriconv.
73510
73511 2006-09-06  Bruno Haible  <bruno@clisp.org>
73512
73513         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
73514         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
73515         not using libtool correctly.
73516
73517 2006-09-06  Bruno Haible  <bruno@clisp.org>
73518
73519         * lib/striconv.h: New file.
73520         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
73521         iconvstring.c.
73522         * lib/xstriconv.h: New file.
73523         * lib/xstriconv.c: New file.
73524
73525 2006-09-06  Bruno Haible  <bruno@clisp.org>
73526
73527         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
73528         lib_..._LDFLAGS.
73529
73530 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73531
73532         * lib/argz_.h: Sync from Libtool.
73533
73534         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
73535                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
73536
73537         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
73538
73539 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
73540
73541         * modules/trim: New file.
73542
73543 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
73544
73545         * lib/trim.h: New file.
73546         * lib/trim.c: New file.
73547
73548 2006-09-05  Bruno Haible  <bruno@clisp.org>
73549
73550         * MODULES.html.sh (String handling): Add trim.
73551
73552 2006-09-04  Karl Berry  <karl@gnu.org>
73553
73554         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
73555         until next release.
73556
73557 2006-09-03  Bruno Haible  <bruno@clisp.org>
73558
73559         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
73560         correctly.
73561
73562 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
73563
73564         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
73565         not gl_GETLOADAVG.  Omit unneeded semicolons.
73566         Problems reported by Ralf Wildenhues in
73567         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
73568         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
73569         at the end, which is the usual gnulib style.
73570
73571         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
73572         of doing all the work ourselves.
73573         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
73574         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
73575
73576 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
73577
73578         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
73579         Problem reported by Ralf Wildenhues in
73580         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
73581
73582         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
73583         HAVE_STRUCT_STATFS_F_FSTYPENAME.
73584
73585 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
73586
73587         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
73588         yesterday's patch by changing test -n to test -z.
73589
73590 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
73591
73592         * modules/getloadavg (Files): Add m4/getloadavg.m4.
73593         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
73594         the former is now obsolescent.
73595
73596         * modules/chdir-long (Depends-on): Add fcntl.
73597
73598 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
73599
73600         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
73601         obsolescent, and programs should use gnulib instead.
73602         * m4/getloadavg.m4: New file, with contents taken from Autoconf
73603         but with prefixes changed.
73604
73605 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
73606
73607         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
73608         or stdbool.h, because they might not exist while configuring.
73609
73610         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
73611         Don't include unistd.h or limits.h; not needed, since chdir-long.h
73612         does that for us.
73613         (O_DIRECTORY): Remove.
73614
73615 2006-08-31  Eric Blake  <ebb9@byu.net>
73616
73617         * gnulib-tool: Don't let emacs change spaces to TAB.
73618
73619 2006-08-31  Bruno Haible  <bruno@clisp.org>
73620
73621         * gnulib-tool: When calling func_import more than once, do it in a
73622         subshell.
73623         Reported by Eric Blake <ebb9@byu.net>.
73624
73625 2006-08-31  Bruno Haible  <bruno@clisp.org>
73626
73627         * gnulib-tool (nl): Remove variable.
73628         (sed_transform_lib_file): Use more robust test for config-h module.
73629         (func_import): Fix typo in 2006-08-25 patch.
73630
73631 2006-08-31  Bruno Haible  <bruno@clisp.org>
73632
73633         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
73634         specified, augment Makefile.am variables instead of assigning them.
73635
73636 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73637
73638         Work around a bug in both the Linux and SunOS 64-bit kernels:
73639         nanosleep mishandles sleeps for longer than 2**31 seconds.
73640         Problem reported by Frank v Waveren in
73641         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
73642         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
73643         Check for nanosleep bug.
73644         (LIB_NANOSLEEP): Append clock_gettime library if needed.
73645
73646 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73647
73648         Work around a bug in both the Linux and SunOS 64-bit kernels:
73649         nanosleep mishandles sleeps for longer than 2**31 seconds.
73650         Problem reported by Frank v Waveren in
73651         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
73652         * lib/nanosleep.c (BILLION): New constant.
73653         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
73654         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
73655         implementation.
73656
73657 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73658
73659         * modules/nanosleep (Depends-on): Add gettime.
73660
73661 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73662         and Simon Josefsson  <jas@extundo.com>
73663         and Oskar Liljeblad  <oskar@osk.mine.nu>
73664
73665         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
73666         * gnulib-tool (func_import): New license type 'unmodifiable license
73667         text'.
73668         * modules/fdl: Use it.  Longer description.
73669         * module/gpl, module/lgpl: New files.
73670
73671 2006-08-30  Jim Meyering  <jim@meyering.net>
73672
73673         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
73674         shadowing the parameter.
73675
73676 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73677
73678         Sync from Libtool:
73679
73680         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73681
73682         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
73683         sharing with gnulib.  Report by Eric Blake.
73684
73685 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73686
73687         * modules/isapipe: New file.
73688         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
73689
73690 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73691
73692         * modules/configmake (Makefile.am): Add a comment, and omit
73693         the CONFIGMAKE_ prefix from generated macro names.  Suggested
73694         by Bruno Haible.
73695
73696 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73697
73698         * m4/isapipe.m4: New file.
73699
73700 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73701
73702         * lib/isapipe.c, lib/isapipe.h: New files.
73703
73704 2006-08-29  Jim Meyering  <jim@meyering.net>
73705
73706         * modules/configmake (Makefile.am): Make configmake.h depend on
73707         Makefile.  Otherwise, a stale configmake.h could hang around.
73708
73709 2006-08-29  Eric Blake  <ebb9@byu.net>
73710
73711         * lib/error.c (error_at_line, print_errno_message): Match libc, after
73712         resolution of upstream bug 3044.
73713
73714 2006-08-29  Bruno Haible  <bruno@clisp.org>
73715
73716         * modules/localcharset (Depends-on): Add configmake.
73717         (Makefile.am): Remove setting of LIBDIR through DEFS.
73718
73719 2006-08-29  Bruno Haible  <bruno@clisp.org>
73720
73721         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
73722         defined.
73723
73724 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73725
73726         * modules/fcntl: New file.
73727         * modules/chdir-safer (Depends-on): Add fcntl.
73728         * modules/fts: Likewise.
73729         * modules/mkdir-p: Likewise.
73730
73731         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
73732         This undoes the most recent change, since we're now addressing the
73733         problem in a different way.
73734
73735         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
73736         into output, since the output might be called Makefile.am even
73737         if $makefile_name is something different.
73738         (func_import): Use $makefile_am rather than
73739         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
73740         empty.
73741
73742         * modules/inttypes (Files): Add m4/inttypes-h.m4.
73743
73744 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73745
73746         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
73747         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
73748         recent change to stdint.m4, since we're now addressing the problem in a
73749         different way.
73750
73751 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73752
73753         * m4/fcntl_h.m4: New file.
73754
73755 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73756
73757         * lib/fcntl_.h: New file.
73758         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
73759         the fcntl module.
73760         * lib/dirchownmod.c: Likewise.
73761         * lib/fts.c: Likewise.
73762
73763         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
73764         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
73765         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
73766         just before including <inttypes.h>, to avoid circular inclusion.
73767
73768 2006-08-28  Jim Meyering  <jim@meyering.net>
73769
73770         * doc/visibility.texi: Actually read and correct the grammar of the
73771         sentence affected by yesterday's change.
73772
73773 2006-08-28  Eric Blake  <ebb9@byu.net>
73774
73775         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
73776         needs wrapper.
73777
73778 2006-08-28  Eric Blake  <ebb9@byu.net>
73779
73780         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
73781
73782 2006-08-28  Eric Blake  <ebb9@byu.net>
73783
73784         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
73785
73786 2006-08-28  Bruno Haible  <bruno@clisp.org>
73787
73788         * modules/c-strstr: New file, from GNU gettext.
73789         * MODULES.html.sh (String handling): Add c-strstr.
73790
73791 2006-08-28  Bruno Haible  <bruno@clisp.org>
73792
73793         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
73794         macros.
73795         Reported by Eric Blake.
73796
73797 2006-08-28  Bruno Haible  <bruno@clisp.org>
73798
73799         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
73800         (VASNPRINTF): Return a string of length > INT_MAX without failing.
73801         * lib/vasprintf.c: Include errno.h, limits.h.
73802         (EOVERFLOW): New fallback definition.
73803         (vasprintf): Test here whether the string length is > INT_MAX.
73804         * lib/vsnprintf.c: Include errno.h, limits.h.
73805         (EOVERFLOW): New fallback definition.
73806         (vsnprintf): Fix bug when generated string was too long for the buffer.
73807         Test here whether the string length is > INT_MAX.
73808
73809 2006-08-28  Bruno Haible  <bruno@clisp.org>
73810
73811         * lib/inttypes_.h (SCNX*): Remove definitions.
73812         Reported by Eric Blake.
73813
73814 2006-08-28  Bruno Haible  <bruno@clisp.org>
73815
73816         * lib/c-strstr.h: New file, from GNU gettext.
73817         * lib/c-strstr.c: New file, from GNU gettext.
73818
73819 2006-08-28  Bruno Haible  <bruno@clisp.org>
73820
73821         * gnulib-tool: Reorder some statements.
73822
73823 2006-08-28  Bruno Haible  <bruno@clisp.org>
73824
73825         * gnulib-tool: New option --makefile-name.
73826         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
73827         $makefile_name.
73828         (func_import): Write $makefile_name to the cache file, and read it from
73829         there unless explicitly specified. Use $makefile_name as file name
73830         instead of Makefile.am. Adjust the recommendations accordingly.
73831
73832 2006-08-28  Bruno Haible  <bruno@clisp.org>
73833
73834         * gnulib-tool (func_verify_module): Check against misapplying patch.
73835
73836 2006-08-28  Bruno Haible  <bruno@clisp.org>
73837
73838         * gnulib-tool (func_relativize, func_relconcat): New functions.
73839         Give an error if --local-dir is given with --update.
73840         Remove trailing slashes from $local_gnulib_dir.
73841         (func_import): Store the relativized $local_gnulib_dir in
73842         gnulib-cache.m4, and read it from there if not specified explicitly.
73843
73844 2006-08-28  Bruno Haible  <bruno@clisp.org>
73845
73846         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
73847         is the current directory. Respect also $local_gnulib_dir.
73848
73849 2006-08-28  Bruno Haible  <bruno@clisp.org>
73850             Simon Josefsson  <jas@extundo.com>
73851
73852         BeOS portability.
73853         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
73854
73855 2006-08-27  Jim Meyering  <jim@meyering.net>
73856
73857         * doc/visibility.texi: Remove duplicate word: "pointer".
73858
73859 2006-08-26  Bruno Haible  <bruno@clisp.org>
73860
73861         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
73862         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
73863         (Makefile.am): Create inttypes.h from inttypes_.h.
73864         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
73865
73866         * modules/imaxabs: New file.
73867
73868         * modules/imaxdiv: New file.
73869
73870 2006-08-26  Bruno Haible  <bruno@clisp.org>
73871
73872         * m4/inttypes.m4: New file.
73873         * m4/_inttypes_h.m4: Remove file.
73874         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
73875         PRI_MACROS_BROKEN.
73876         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
73877
73878         * m4/imaxabs.m4: New file.
73879
73880         * m4/imaxdiv.m4: New file.
73881
73882 2006-08-26  Bruno Haible  <bruno@clisp.org>
73883
73884         * lib/inttypes_.h: New file.
73885         * lib/inttypes.h: Remove file.
73886         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
73887
73888         * lib/imaxabs.c: New file.
73889
73890         * lib/imaxdiv.c: New file.
73891
73892 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
73893
73894         New config-h module, so that "make" output needn't be cluttered
73895         by -DHAVE_CONFIG_H.
73896         * MODULES.html.sh (Support for building libraries and executables):
73897         Add config-h.
73898         * modules/config-h: New file.
73899         * gnulib-tool (nl, sed_transform_lib_file): New vars.
73900         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
73901         the config-h module is used.
73902
73903         New configmake module, so that "make" output needn't be cluttered
73904         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
73905         * MODULES.html.sh (Support for building libraries and executables):
73906         Add configmake.
73907         * modules/configmake: New file.
73908
73909 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
73910
73911         * m4/config-h.m4: New file.
73912
73913 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73914
73915         * config/srclist.txt: Add elisp-comp.
73916
73917 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73918
73919         * MODULES.html.sh (Support for building libraries and executables):
73920         Add elisp-comp.
73921         * build-aux/elisp-comp: New file.
73922         * modules/elisp-comp: New file.
73923
73924 2006-08-24  Bruno Haible  <bruno@clisp.org>
73925
73926         * gnulib-tool (func_create_testdir): Use non-default values of
73927         sourcebase and m4base.
73928
73929 2006-08-24  Bruno Haible  <bruno@clisp.org>
73930
73931         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
73932         HTML structure.
73933
73934 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
73935
73936         * modules/openat (Depends-on): Add lchown.
73937
73938 2006-08-23  Bruno Haible  <bruno@clisp.org>
73939
73940         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
73941         of gl_LOCK_EARLY instead of gl_LOCK.
73942
73943 2006-08-23  Bruno Haible  <bruno@clisp.org>
73944
73945         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
73946         on OSF/1 to no.
73947         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
73948
73949 2006-08-23  Bruno Haible  <bruno@clisp.org>
73950
73951         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
73952         as unusable.
73953
73954         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
73955         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
73956         (gl_LOCK): New macro.
73957
73958 2006-08-22  Simon Josefsson  <jas@extundo.com>
73959
73960         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
73961         to md5 module.
73962
73963 2006-08-22  Simon Josefsson  <jas@extundo.com>
73964
73965         * MODULES.html.sh: Add "Support for maintaining and release
73966         projects".
73967
73968         * build-aux/gnupload: New file, from coreutils.
73969
73970 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73971
73972         Avoid the need for AC_LIBSOURCES in m4 macros.
73973         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
73974         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
73975         * modules/check-version (EXTRA_DIST): Add check-version.h.
73976         * modules/crc (EXTRA_DIST): Add crc.h.
73977         * modules/des (EXTRA_DIST): Add des.h.
73978         * modules/gc (EXTRA_DIST): Add gc.h.
73979         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
73980         * modules/getline (EXTRA_DIST): Add getline.h.
73981         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
73982         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
73983         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
73984         * modules/md2 (EXTRA_DIST): Add md2.h.
73985         * modules/md4 (EXTRA_DIST): Add md4.h.
73986         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
73987         * modules/read-file (EXTRA_DIST): Add read-file.h.
73988         * modules/readline (EXTRA_DIST): Add readline.h.
73989         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
73990         rijndael-api-fst.h.
73991
73992 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73993
73994         * m4/rijndael.m4 (gl_ARCFOUR):
73995         * m4/arctwo.m4 (gl_ARCTWO):
73996         * m4/check-version.m4 (gl_CHECK_VERSION):
73997         * m4/crc.m4 (gl_CRC):
73998         * m4/des.m4 (gl_DES):
73999         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
74000         * m4/gc.m4 (gl_GC):
74001         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
74002         * m4/getline.m4 (gl_FUNC_GETLINE):
74003         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
74004         * m4/hmac-md5.m4 (gl_HMAC_MD5):
74005         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
74006         * m4/md2.m4 (gl_MD2):
74007         * m4/md4.m4 (gl_MD4):
74008         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
74009         * m4/read-file.m4 (gl_FUNC_READ_FILE):
74010         * m4/readline.m4 (gl_FUNC_READLINE):
74011         * m4/rijndael.m4 (gl_RIJNDAEL):
74012         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
74013         to get the necessary .h files and whatnot.
74014
74015 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
74016
74017         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
74018         gnulib rather than the other way around.
74019         * config/srclistvars.sh (COREUTILS): Remove.
74020
74021 2006-08-22  Jim Meyering  <jim@meyering.net>
74022
74023         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
74024
74025         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
74026
74027 2006-08-22  Eric Blake  <ebb9@byu.net>
74028
74029         * modules/regexprops-generic: New file.
74030         * MODULES.html.sh (Support for building documentation): List it.
74031
74032 2006-08-22  Eric Blake  <ebb9@byu.net>
74033
74034         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
74035         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
74036         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
74037         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
74038
74039 2006-08-22  Bruno Haible  <bruno@clisp.org>
74040
74041         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
74042         and lib_LTLIBRARIES like the other lib_* variables.
74043
74044 2006-08-22  Bruno Haible  <bruno@clisp.org>
74045
74046         * build-aux/x-to-1.in: New file, from GNU gettext.
74047
74048 2006-08-22  Bruno Haible  <bruno@clisp.org>
74049
74050         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
74051         <utmpx.h> exists.
74052
74053 2006-08-22  Bruno Haible  <bruno@clisp.org>
74054
74055         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
74056         <utmpx.h> exists.
74057
74058 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
74059
74060         BeOS portability.
74061         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
74062         exist.
74063         Problem reported by Bruno Haible.
74064
74065 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
74066
74067         Avoid the need for AC_LIBSOURCES in m4 macros.
74068         * modules/acl (EXTRA_DIST): Add acl.h.
74069         * modules/argmatch (Files): Add m4/argmatch.m4.
74070         (configure.ac): Add gl_ARGMATCH.
74071         (EXTRA_DIST): Renamed from lib_SOURCES, for
74072         consistency with the other modules.  Remove argmatch.c.
74073         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
74074         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
74075         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
74076         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
74077         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
74078         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
74079         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
74080         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
74081         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
74082         * modules/closeout (EXTRA_DIST): Add closeout.h.
74083         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
74084         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
74085         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
74086         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
74087         dirname.h; remove basename.c and stripslash.c.
74088         * modules/exclude (EXTRA_DIST): Add exclude.h.
74089         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
74090         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
74091         * modules/file-type (EXTRA_DIST): Add file-type.h.
74092         * modules/filemode (EXTRA_DIST): Add filemode.h.
74093         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
74094         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
74095         * modules/fpending (EXTRA_DIST): Add __fpending.h.
74096         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
74097         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
74098         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
74099         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
74100         * modules/getdate (EXTRA_DIST): Add getdate.c.
74101         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
74102         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
74103         * modules/getpass (EXTRA_DIST): Add getpass.h.
74104         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
74105         * modules/group-member (EXTRA_DIST): Add group-member.h.
74106         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
74107         * modules/hash (EXTRA_DIST): Add hash.h.
74108         * modules/human (EXTRA_DIST): Add human.h.
74109         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
74110         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
74111         * modules/lchown (EXTRA_DIST): Add lchown.h.
74112         * modules/long-options (EXTRA_DIST): Add long-options.h.
74113         * modules/lstat (EXTRA_DIST): Add lstat.h.
74114         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
74115         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
74116         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
74117         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
74118         * modules/memxor (EXTRA_DIST): Add memxor.h.
74119         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
74120         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
74121         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
74122         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
74123         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
74124         * modules/physmem (EXTRA_DIST): Add physmem.h.
74125         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
74126         * modules/posixver (EXTRA_DIST): Add posixver.h.
74127         * modules/quote (EXTRA_DIST): Add quote.h.
74128         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
74129         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
74130         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
74131         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
74132         regex_internal.h regexec.c.
74133         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
74134         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
74135         * modules/same (EXTRA_DIST): Add same.h.
74136         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
74137         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
74138         * modules/savedir (EXTRA_DIST): Add savedir.h.
74139         * modules/sha1 (EXTRA_DIST): Add sha1.h.
74140         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
74141         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
74142         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
74143         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
74144         * modules/strdup (EXTRA_DIST): Add strdup.h.
74145         * modules/strftime (EXTRA_DIST): Add strftime.h.
74146         * modules/strndup (EXTRA_DIST): Add strndup.h.
74147         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
74148         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
74149         * modules/time_r (EXTRA_DIST): Add time_r.h.
74150         * modules/timespec (EXTRA_DIST): Add timespec.h.
74151         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
74152         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
74153         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
74154         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
74155         * modules/userspec (EXTRA_DIST): Add userspec.h.
74156         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
74157         * modules/utimens (EXTRA_DIST): Add utimens.h.
74158         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
74159         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
74160         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
74161         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
74162         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
74163         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
74164         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
74165         * modules/yesno (EXTRA_DIST): Add yesno.h.
74166
74167 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
74168
74169         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
74170
74171         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
74172         * m4/dev-ino.m4, same-inode.m4: Remove.
74173
74174         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
74175         * m4/acl.m4 (AC_FUNC_ACL):
74176         * m4/backupfile.m4 (gl_BACKUPFILE):
74177         * m4/c-strtod.m4 (gl_C99_STRTOLD):
74178         * m4/canon-host.m4 (gl_CANON_HOST):
74179         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
74180         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
74181         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
74182         * m4/cloexec.m4 (gl_CLOEXEC):
74183         * m4/close-stream.m4 (gl_CLOSE_STREAM):
74184         * m4/closeout.m4 (gl_CLOSEOUT):
74185         * m4/dirfd.m4 (gl_FUNC_DIRFD):
74186         * m4/dirname.m4 (gl_DIRNAME):
74187         * m4/exclude.m4 (gl_EXCLUDE):
74188         * m4/exitfail.m4 (gl_EXITFAIL):
74189         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
74190         * m4/file-type.m4 (gl_FILE_TYPE):
74191         * m4/filemode.m4 (gl_FILEMODE):
74192         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
74193         * m4/fpending.m4 (gl_FUNC_FPENDING):
74194         * m4/fprintftime.m4 (gl_FPRINTFTIME):
74195         * m4/fts.m4 (gl_FUNC_FTS):
74196         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
74197         * m4/getdate.m4 (gl_GETDATE):
74198         * m4/gethrxtime.m4 (gl_GETHRXTIME):
74199         * m4/getpagesize.m4 (gl_GETPAGESIZE):
74200         * m4/getpass.m4 (gl_FUNC_GETPASS):
74201         * m4/gettime.m4 (gl_GETTIME):
74202         * m4/getugroups.m4 (gl_GETUGROUPS):
74203         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
74204         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
74205         * m4/hard-locale.m4 (gl_HARD_LOCALE):
74206         * m4/hash.m4 (gl_HASH):
74207         * m4/idcache.m4 (gl_IDCACHE):
74208         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
74209         * m4/lchown.m4 (gl_FUNC_LCHOWN):
74210         * m4/long-options.m4 (gl_LONG_OPTIONS):
74211         * m4/lstat.m4 (gl_FUNC_LSTAT):
74212         * m4/md5.m4 (gl_MD5):
74213         * m4/memcasecmp.m4 (gl_MEMCASECMP):
74214         * m4/memcoll.m4 (gl_MEMCOLL):
74215         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
74216         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
74217         * m4/memxor.m4 (gl_MEMXOR):
74218         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
74219         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
74220         * m4/modechange.m4 (gl_MODECHANGE):
74221         * m4/mountlist.m4 (gl_MOUNTLIST):
74222         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
74223         * m4/openat.m4 (gl_FUNC_OPENAT):
74224         * m4/pathmax.m4 (gl_PATHMAX):
74225         * m4/physmem.m4 (gl_PHYSMEM):
74226         * m4/posixtm.m4 (gl_POSIXTM):
74227         * m4/posixver.m4 (gl_POSIXVER):
74228         * m4/quote.m4 (gl_QUOTE):
74229         * m4/quotearg.m4 (gl_QUOTEARG):
74230         * m4/readtokens.m4 (gl_READTOKENS):
74231         * m4/readutmp.m4 (gl_READUTMP):
74232         * m4/regex.m4 (gl_REGEX):
74233         * m4/safe-read.m4 (gl_SAFE_READ):
74234         * m4/safe-write.m4 (gl_SAFE_WRITE):
74235         * m4/same.m4 (gl_SAME):
74236         * m4/save-cwd.m4 (gl_SAVE_CWD):
74237         * m4/savedir.m4 (gl_SAVEDIR):
74238         * m4/settime.m4 (gl_SETTIME):
74239         * m4/sha1.m4 (gl_SHA1):
74240         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
74241         * m4/stat-macros.m4 (gl_STAT_MACROS):
74242         * m4/stat-time.m4 (gl_STAT_TIME):
74243         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
74244         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
74245         * m4/strdup.m4 (gl_FUNC_STRDUP):
74246         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
74247         * m4/strndup.m4 (gl_FUNC_STRNDUP):
74248         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
74249         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
74250         * m4/time_r.m4 (gl_TIME_R):
74251         * m4/timespec.m4 (gl_TIMESPEC):
74252         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
74253         * m4/unlinkdir.m4 (gl_UNLINKDIR):
74254         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
74255         * m4/userspec.m4 (gl_USERSPEC):
74256         * m4/utimecmp.m4 (gl_UTIMECMP):
74257         * m4/utimens.m4 (gl_UTIMENS):
74258         * m4/xalloc.m4 (gl_XALLOC):
74259         * m4/xgetcwd.m4 (gl_XGETCWD):
74260         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
74261         * m4/xreadlink.m4 (gl_XREADLINK):
74262         * m4/xstrtod.m4 (gl_XSTRTOD):
74263         * m4/yesno.m4 (gl_YESNO):
74264         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
74265         to get the necessary .h files and whatnot.
74266
74267 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
74268             Bruno Haible  <bruno@clisp.org>
74269
74270         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
74271         /bin/sh understanding of '!' conditional negation.
74272
74273 2006-08-21  Jim Meyering  <jim@meyering.net>
74274
74275         * modules/openat (Depends-on): Really alphabetize.
74276
74277         * modules/acl (Depends-on): Add error and quote.
74278
74279         * check-module (find_included_lib_files): Add at-func.c to the
74280         ok-to-include-more-than-once white list.
74281
74282         * modules/openat (Depends-on): Add lstat.  Alphabetize.
74283
74284 2006-08-21  Bruno Haible  <bruno@clisp.org>
74285
74286         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74287         Emit a pkgdata_DATA variable only if some snippets add contents to it.
74288         Reported by Martin Lambers <marlam@marlam.de>.
74289
74290 2006-08-21  Bruno Haible  <bruno@clisp.org>
74291
74292         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
74293         specify an installation location, don't emit a noinst_LIBRARIES or
74294         noinst_LTLIBRARIES assignment.
74295
74296 2006-08-21  Bruno Haible  <bruno@clisp.org>
74297
74298         BeOS portability.
74299         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
74300         BeOS has mbrtowc() but no <wctype.h>.
74301
74302 2006-08-21  Bruno Haible  <bruno@clisp.org>
74303
74304         BeOS portability.
74305         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
74306         exist.
74307
74308 2006-08-21  Bruno Haible  <bruno@clisp.org>
74309
74310         BeOS portability.
74311         * lib/mbchar.h: Include <wctype.h> only if it exists.
74312
74313 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
74314
74315         Remove files that are no longer needed by their respective modules.
74316         * m4/obstack.m4: Remove.
74317         * m4/strerror_r.m4: Remove.
74318         * m4/uint32_t.m4: Remove.
74319         * m4/uintptr_t.m4: Remove.
74320         * m4/ullong_max.m4: Remove.
74321         * m4/xstrtoimax.m4: Remove.
74322         * m4/xstrtoumax.m4: Remove.
74323
74324         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
74325         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
74326         dependencies now capture this.
74327
74328         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
74329         Do not use AC_LIBSOURCES, since gnulib modules now do this.
74330         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
74331         * m4/human.m4 (gl_HUMAN): Likewise.
74332         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
74333         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
74334
74335         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
74336
74337         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
74338         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
74339         stdint.
74340         * m4/human.m4 (gl_HUMAN): Likewise.
74341         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
74342         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
74343         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
74344         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
74345         * m4/xstrtol (gl_XSTRTOL): Likewise.
74346
74347         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
74348         AC_TYPE_LONG_LONG_INT.
74349         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
74350         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
74351         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
74352         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
74353
74354         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
74355         on stdbool.
74356
74357         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
74358         (gl_PREREQ_XSTRTOUL): Remove.
74359
74360         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
74361
74362         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
74363         mode.
74364
74365 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
74366
74367         Add and change modules to make it easier for coreutils to use
74368         gnulib-tool.
74369         * modules/backupfile (Files): Remove m4/d-ino.m4.
74370         (Depends-on): Add d-ino.
74371         * modules/cycle-check (Depends-on): Add stdint.
74372         (lib_SOURCES): Add cycle-check.h.
74373         * modules/d-ino: New module.
74374         * modules/d-type: New module.
74375         * modules/error (Files): Remove m4/strerror_r.m4.
74376         * modules/filemode (Files): Add m4/st_dm_mode.m4.
74377         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
74378         m4/inttypes_h.m4, m4/uintmax_t.m4.
74379         (Depends-on): Add stdint.
74380         (lib_SOURCES): Add fsusage.h.
74381         * modules/getcwd (Files): Remove d-ino.m4.
74382         (Depends-on): Add d-ino.
74383         * modules/getndelim2 (Depends-on): Add stdint.
74384         * modules/glob (Files): Remove m4/d-type.m4.
74385         (Depends-on): Add d-type.
74386         * modules/host-os: New module.
74387         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
74388         m4/inttypes_h.m4, m4/uintmax_t.m4.
74389         * Depends-on: Add stdint.
74390         (lib_SOURCES): Add human.h.
74391         * modules/inttostr (Files): Remove m4/intmax_t.m4,
74392         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
74393         m4/uintmax_t.m4, m4/ulonglong.m4.
74394         (Depends-on): Add stdint.
74395         (EXTRA_DIST): Add inttostr.h.
74396         * modules/lchmod: New module.
74397         * modules/link-follow: New module.
74398         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
74399         (Depends-on): Add lchmod.
74400         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
74401         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
74402         (Depends-on): Add stdint.
74403         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
74404         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
74405         (Depends-on): Add stdint.
74406         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
74407         * modules/perl: New module.
74408         * modules/regex (Depends-on): Add stdint.
74409         * modules/rmdir-errno: New module.
74410         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
74411         m4/intmax_t.m4.
74412         (Depends-on): Add stdint.
74413         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
74414         m4/uintmax_t.m4.
74415         (Depends-on): Add stdint.
74416         * modules/unlink-busy: New module.
74417         * modules/utimecmp (Depends-on): Add stdint.
74418         * modules/uptime: New module.
74419         * modules/winsz-ioctl: New module.
74420         * modules/winsz-termios: New module.
74421         * modules/xnanosleep (Depends-on): Add nanosleep.
74422         * modules/ullong_max: Remove.
74423         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
74424         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
74425         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
74426         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
74427         (Depends-on): Add inttypes.
74428         (lib_SOURCES): Add xstrtol.h.
74429         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
74430         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
74431         * MODULES.html.sh: Move 'assert' into the assert section.
74432         Move 'dummy' into the linking section.
74433         Remove ullong_max.
74434         Add section for compatibility checks for POSIX:2001 functions,
74435         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
74436         winsz-ioctl, and winsz-termios into it.
74437         Add lchmod.
74438         Add top-level Misc section and put host-os, perl, and uptime
74439         into it.
74440
74441 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
74442
74443         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
74444         now assume the stdint module.  Do not include inttypes.h.
74445         * lib/fsusage.h: Likewise.
74446         * lib/getndelim2.c: Likewise.
74447         * lib/human.h: Likewise.
74448         * lib/inttostr.h: Likewise.
74449         * lib/obstack.c: Likewise.
74450         * lib/regex_internal.h: Likewise.
74451         * lib/tempname.c: Likewise.
74452         * lib/utimecmp.c: Likewise.
74453         * lib/xstrtol.h: Likewise.
74454
74455         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
74456
74457         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
74458         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
74459         * lib/xtime.h: Likewise.
74460
74461 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
74462
74463         * modules/openat (Files): Add lib/fchmodat.c.
74464         Fixes problem reported by Jay Youngman.
74465
74466 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
74467
74468         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
74469         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
74470
74471 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
74472             Bruno Haible  <bruno@clisp.org>
74473
74474         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
74475         and is a script that invokes bison. Tighten the code. Add comments.
74476
74477 2006-08-18  Jim Meyering  <jim@meyering.net>
74478
74479         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
74480         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
74481         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
74482         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
74483
74484 2006-08-18  Bruno Haible  <bruno@clisp.org>
74485
74486         * modules/bison-i18n: New file.
74487         * MODULES.html.sh (Internationalization functions): Add it.
74488
74489 2006-08-18  Bruno Haible  <bruno@clisp.org>
74490
74491         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
74492         sys/statvfs.h. When getmntinfo was found, check its declaration and
74493         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
74494
74495 2006-08-18  Bruno Haible  <bruno@clisp.org>
74496
74497         * m4/bison-i18n.m4: New file, from bison.
74498
74499 2006-08-18  Bruno Haible  <bruno@clisp.org>
74500
74501         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
74502         (ME_DUMMY): Treat "kernfs" as a dummy.
74503         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
74504
74505 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
74506
74507         Update from coreutils.
74508
74509         2006-08-15  Jim Meyering  <jim@meyering.net>
74510
74511         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
74512
74513         2006-01-17  Jim Meyering  <jim@meyering.net>
74514
74515         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
74516
74517         2006-01-11  Jim Meyering  <jim@meyering.net>
74518
74519         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
74520         Check for the lchmod function.
74521
74522 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
74523
74524         Update from coreutils.
74525
74526         * lib/__fpending.h: Add copyright notice.
74527         * lib/fprintftime.h: Likewise.
74528         * lib/savedir.c: Use (C) in copyright notice.
74529         * lib/savedir.h: Likewise.
74530
74531         2006-08-15  Jim Meyering  <jim@meyering.net>
74532
74533         * lib/at-func.c: New file, with the logic of all emulated at-functions.
74534         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
74535         in support of the EXPECTED_ERRNO macro.
74536         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
74537         definitions.  Instead, define the appropriate symbols and include
74538         "at-func.c".
74539         * lib/mkdirat.c (mkdirat): Likewise.
74540         * lib/fchmodat.c (fchmodat): Likewise.
74541         (ENOSYS): Remove definition.
74542         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
74543         it.  Don't include "unistd--.h" -- it wasn't ever used.
74544
74545         2006-01-17  Jim Meyering  <jim@meyering.net>
74546
74547         Rewrite fts.c not to change the current working directory,
74548         by using openat, fstatat, fdopendir, etc..
74549
74550         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
74551         (HAVE_OPENAT_SUPPORT): Define.
74552         [_LIBC] (fchdir): Don't undef or define; no longer used.
74553         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
74554         Now, this `function' always succeeds, and consumes its file descriptor
74555         parameter -- so callers must not close such FDs.  Update callers.
74556         (diropen_fd, opendirat, cwd_advance_fd): New functions.
74557         (diropen): Add parameter, SP.  Adjust all callers.
74558         Implement using diropen_fd, rather than open.
74559         (fts_open): Initialize new member, fts_cwd_fd.
74560         Remove fts_rft-setting code.
74561         (fts_close): Close fts_cwd_fd, if necessary.
74562         (__opendir2): Define in terms of opendir or opendirat,
74563         depending on whether the FST_NOCHDIR flag is set.
74564         (fts_build): Since fts_safe_changedir consumes its FD, and since
74565         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
74566         and close the dup'd file descriptor upon failure.
74567         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
74568         (fts_safe_changedir): Tweak semantics to reflect that this function
74569         now calls cwd_advance_fd and hence consumes its FD argument.
74570         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
74571         [struct FTS] (fts_rft): Remove now-unused member.
74572         [struct FTS] (fts_cycle.state): Improve comment.
74573
74574         * lib/openat.c (openat_needs_fchdir): New function.
74575         * lib/openat.h (openat_needs_fchdir): Declare it.
74576
74577 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
74578
74579         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
74580         Problem and fix reported by Pádraig Brady in
74581         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
74582
74583 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
74584
74585         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
74586
74587 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
74588
74589         * lib/memcoll.c (memcoll): Optimize for the common case where the
74590         arguments are bytewise equal.
74591
74592 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
74593
74594         * doc/regexprops-generic.texi: Add a copyright notice.
74595
74596 2006-08-15  Bruno Haible  <bruno@clisp.org>
74597
74598         * modules/tmpdir (License): Change to LGPL.
74599
74600 2006-08-15  Bruno Haible  <bruno@clisp.org>
74601
74602         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
74603         module.
74604
74605 2006-08-14  Simon Josefsson  <jas@extundo.com>
74606
74607         * config/srclist.txt: Add gnupload.
74608
74609 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74610
74611         Change copyright notice from LGPL 2 to GPL 2, since that's the
74612         standard form used in the gnulib repository.
74613         * tests/test-lock.c: Likewise.
74614         * tests/test-stdint.c: Likewise.
74615         * tests/test-tls.c: Likewise.
74616
74617         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
74618         prelude-manager.  User shorter URLs for GNU projects, without '?'.
74619         Add copyright notice.
74620
74621         * check-module: Add copyright notice.  Output a copyright
74622         notice if "--version" is specified.
74623         * modules/COPYING: New file.
74624         * tests/test-getaddrinfo.c: Add copyright notice.
74625         * tests/test-verify.c: Likewise.
74626
74627 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74628
74629         Change copyright notice from LGPL 2 to GPL 2, since that's the
74630         standard form used in the gnulib repository.
74631         * lib/lock.c: LGPL -> GPL.
74632         * lib/lock.h: Likewise.
74633         * lib/strnlen1.c: Likewise.
74634         * lib/strnlen1.h: Likewise.
74635         * lib/tls.c: Likewise.
74636         * lib/tls.h: Likewise.
74637         * lib/tmpdir.c: Likewise.
74638
74639         * lib/TODO: Remove; this belongs only in coreutils.
74640
74641 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74642
74643         Add copyright notices to long-enough files that lack them, since
74644         otherwise the files aren't clearly free.  Use the same notice that
74645         getdate.texi already uses.
74646         * doc/alloca-opt.texi: Add copyright notice.
74647         * doc/alloca.texi: Likewise.
74648         * doc/ctime.texi: Likewise.
74649         * doc/functions.texi: Likewise.
74650         * doc/gcd.texi: Likewise.
74651         * doc/gnulib-tool.texi: Likewise.
74652         * doc/inet_ntoa.texi: Likewise.
74653         * doc/visibility.texi: Likewise.
74654
74655         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
74656         * doc/quote.texi: Add copyright notice.
74657
74658         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
74659         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
74660         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
74661         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
74662         is now obsolete, and give a pointer to the Sun list.
74663         Add copyright notice.
74664
74665 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74666
74667         * config/srclistvars.sh: Add copyright notice.
74668
74669 2006-08-14  Eric Blake  <ebb9@byu.net>
74670
74671         Import the following change from libc:
74672
74673         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
74674
74675         Upstream bug 2997.
74676         * lib/misc/error.c: Add space between program name and message if file
74677         name is missing.
74678
74679 2006-08-12  Karl Berry  <karl@gnu.org>
74680
74681         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
74682         remove, these originate in gnulib now.
74683
74684 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74685
74686         * doc/Makefile (standards.info standards.html standards.dvi):
74687         Also depend on make-stds.texi.
74688
74689 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
74690
74691         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
74692         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
74693
74694         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
74695         in wchar_t.  Problem reported by Eric Blake.
74696
74697         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
74698         LEN is smaller than SIZE.  Suggested by Bruno Haible.
74699         Also, help the compiler to keep LEN in a register.
74700
74701 2006-08-11  Eric Blake  <ebb9@byu.net>
74702
74703         * users.txt: Sort.  Add tar.
74704
74705 2006-08-11  Bruno Haible  <bruno@clisp.org>
74706
74707         * users.txt: New file.
74708
74709 2006-08-11  Bruno Haible  <bruno@clisp.org>
74710
74711         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
74712         before <wchar.h>. Needed for OSF/1 and BSD/OS.
74713
74714 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
74715
74716         * modules/snprintf (Depends-on): Remove minmax.
74717         (Maintainer): Add self and Bruno.
74718
74719 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
74720
74721         * lib/.cppi-disable: Add snprintf.h, socket_.h.
74722         * lib/snprintf.c: Include <errno.h> and <limits.h>.
74723         (EOVERFLOW): Define if the system does not.
74724         Do not include "minmax.h"; it wasn't used.
74725         (snprintf): Don't assume size_t promotes to an unsigned type.
74726         Fix bug when generated string was too long for the buffer: the
74727         buffer's contents are supposed to be the initial prefix of the
74728         output.  Don't assume vasnprintf returns EOVERFLOW if the size
74729         exceeds INT_MAX; do the check ourselves.
74730
74731         Import the following changes from libc:
74732
74733         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
74734
74735         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
74736         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
74737         set wc to the byte which couldn't be converted.
74738         (re_string_reconstruct): Don't clear valid_raw_len before calling
74739         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
74740         tip_context using re_string_context_at.
74741
74742         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
74743
74744         * lib/posix/regex.h: g++ still cannot handled [restrict].
74745
74746         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
74747
74748         * lib/posix/regex.h: Remove special handling for VMS.
74749
74750 2006-08-10  Jim Meyering  <jim@meyering.net>
74751
74752         * modules/same-inode: New module.
74753         * modules/dev-ino: New module.
74754         * modules/cycle-check: Depend on these modules, rather than simply
74755         including their .h files.
74756         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
74757         required via m4/cycle-check.m4.
74758         * modules/same: Depend on new same-inode module, rather than
74759         including same-inode.h.
74760         * modules/chdir-safer: New file.
74761
74762         * modules/chown (Depends-on): Add stat-macros.
74763
74764 2006-08-10  Jim Meyering  <jim@meyering.net>
74765
74766         * m4/cycle-check.m4: New file.
74767         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
74768         * m4/dev-ino.m4, m4/same-inode.m4: New files.
74769
74770 2006-08-10  Eric Blake  <ebb9@byu.net>
74771
74772         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
74773         in from original proposal.
74774
74775 2006-08-10  Eric Blake  <ebb9@byu.net>
74776         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
74777
74778         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
74779         namespace.
74780
74781 2006-08-10  Bruno Haible  <bruno@clisp.org>
74782
74783         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
74784         as well.
74785
74786 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74787
74788         Sync from coreutils.
74789
74790         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
74791
74792         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
74793         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
74794
74795 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74796
74797         * modules/restrict: Remove; no longer needed now that we assume
74798         Autoconf 2.59 or later.
74799         * MODULES.html.sh: Remove 'restrict'.
74800         * modules/argp (Depends-on): Remove 'restrict'.
74801         * modules/base64 (Depends-on): Likewise.
74802         * modules/gc (Depends-on): Likewise.
74803         * modules/getaddrinfo (Depends-on): Likewise.
74804         * modules/glob (Depends-on): Likewise.
74805         * modules/inet_ntop (Depends-on): Likewise.
74806         * modules/inet_pton (Depends-on): Likewise.
74807         * modules/memxor (Depends-on): Likewise.
74808         * modules/regex (Depends-on): Likewise.
74809         * modules/strtok_r (Depends-on): Likewise.
74810         * modules/time_r (Depends-on): Likewise.
74811
74812 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74813
74814         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
74815         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
74816         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
74817         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
74818         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
74819         * m4/memxor.m4 (gl_MEMXOR): Likewise.
74820         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
74821         gl_C_RESTRICT replaced by AC_C_RESTRICT.
74822
74823         Merge from coreutils.
74824         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
74825         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
74826         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
74827         * m4/time_r.m4 (gl_TIME_R): Likewise.
74828
74829 2006-08-09  Karl Berry  <karl@gnu.org>
74830
74831         * config/srclist.txt: no more gettext-tools, per Bruno.
74832
74833 2006-08-08  Eric Blake  <ebb9@byu.net>
74834
74835         * modules/verror: New module.
74836         * MODULES.html.sh: Document it.
74837
74838 2006-08-08  Eric Blake  <ebb9@byu.net>
74839
74840         * lib/verror.h, lib/verror.c: New files.
74841
74842 2006-08-08  Eric Blake  <ebb9@byu.net>
74843
74844         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
74845         verror_at_line output complies with GNU Coding Standards even when
74846         file is NULL.
74847
74848 2006-08-07  Bruno Haible  <bruno@clisp.org>
74849
74850         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
74851         versions of AIX.
74852         Reported by Ralf Wildenhues.
74853
74854 2006-08-07  Bruno Haible  <bruno@clisp.org>
74855
74856         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
74857         in an AC_DEFUN. Needed so that the autoconf snippets can use
74858         AC_REQUIRE.
74859
74860 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74861
74862         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74863         Initialize pkgdata_DATA.
74864         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
74865         overriding it.
74866
74867 2006-08-06  Eric Blake  <ebb9@byu.net>
74868
74869         * lib/error.h: Fold in some upstream changes from glibc.
74870         * lib/error.c: Likewise.
74871
74872 2006-08-04  Bruno Haible  <bruno@clisp.org>
74873
74874         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74875         Make the mostlyclean-local rule depend on mostlyclean-generic.
74876         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
74877
74878 2006-07-31  Bruno Haible  <bruno@clisp.org>
74879
74880         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
74881         <stdlib.h>, <string.h>.
74882
74883 2006-07-30  Bruno Haible  <bruno@clisp.org>
74884
74885         * modules/readlink (License): Change to LGPL.
74886
74887 2006-07-30  Bruno Haible  <bruno@clisp.org>
74888
74889         * modules/javaversion (Makefile.am): Distribute javaversion.java and
74890         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
74891         set PKGDATADIR to point to it.
74892
74893 2006-07-30  Bruno Haible  <bruno@clisp.org>
74894
74895         * modules/csharpexec (configure.ac): Comment out macro invocation.
74896         * modules/javaexec (configure.ac): Likewise.
74897         * modules/javacomp-script (configure.ac): Likewise.
74898
74899         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
74900
74901 2006-07-30  Bruno Haible  <bruno@clisp.org>
74902
74903         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
74904         linked-list.
74905
74906 2006-07-30  Bruno Haible  <bruno@clisp.org>
74907
74908         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
74909
74910 2006-07-30  Bruno Haible  <bruno@clisp.org>
74911
74912         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74913         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
74914         get removed.
74915
74916 2006-07-29  Bruno Haible  <bruno@clisp.org>
74917
74918         Make it possible for gnulib-tool to work with locally modified or
74919         augmented gnulib repositories.
74920         * gnulib-tool (func_usage): Document --local-dir option.
74921         (local_gnulib_dir): New variable.
74922         Handle --local-dir option.
74923         (func_lookup_file): New function.
74924         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
74925         (func_get_description, func_get_filelist, func_get_description,
74926         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
74927         func_get_automake_snippet, func_get_include_directive,
74928         func_get_license, func_get_maintainer): Use func_lookup_file.
74929         (func_import, func_create_testdir): Use func_lookup_file.
74930
74931 2006-07-29  Bruno Haible  <bruno@clisp.org>
74932
74933         * modules/setenv (Depends-on): Add unistd.
74934
74935 2006-07-29  Bruno Haible  <bruno@clisp.org>
74936
74937         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
74938
74939 2006-07-29  Bruno Haible  <bruno@clisp.org>
74940
74941         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
74942
74943 2006-07-29  Bruno Haible  <bruno@clisp.org>
74944
74945         * gnulib-tool (import, update): If there is no Makefile.am, look at
74946         aclocal.m4, instead of bailing out.
74947
74948 2006-07-29  Bruno Haible  <bruno@clisp.org>
74949
74950         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
74951         Categorize the options by when they are useful.
74952
74953 2006-07-29  Bruno Haible  <bruno@clisp.org>
74954
74955         * gnulib-tool (func_usage): Document option --no-libtool.
74956         Handle option --no-libtool.
74957         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
74958         for changed semantics of $libtool variable.
74959         (func_import): Likewise. If libtool is not used, show this through
74960         an option --no-libtool.
74961         (func_create_testdir): Update.
74962
74963 2006-07-29  Bruno Haible  <bruno@clisp.org>
74964
74965         * gnulib-tool (func_import): Extend error message about missing
74966         --doc-base.
74967
74968 2006-07-29  Bruno Haible  <bruno@clisp.org>
74969
74970         * gnulib-tool (func_import): Don't create the $docbase directory if
74971         there is no file to store there.
74972
74973 2006-07-29  Bruno Haible  <bruno@clisp.org>
74974
74975         * gnulib-tool (autoconf_minversion): If a --dir option is given and
74976         relevant, look for configure.ac there, not in the current directory.
74977         Also use a simple search for AC_PREREQ, not "autoconf --trace".
74978
74979 2006-07-29  Bruno Haible  <bruno@clisp.org>
74980
74981         * gnulib-tool (SORT): New variable.
74982         (func_usage): Undocument --assume-autoconf option.
74983         Remove --assume-autoconf option handling.
74984         (autoconf_minversion): Determine from the contents of configure.ac.
74985         (func_import): Remove autoconf_minversion handling.
74986         Suggested by Eric Blake.
74987
74988 2006-07-29  Bruno Haible  <bruno@clisp.org>
74989
74990         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
74991
74992 2006-07-29  Bruno Haible  <bruno@clisp.org>
74993
74994         * config/srclist.txt (*setenv.[ch]): Remove rules.
74995
74996 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74997
74998         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
74999
75000 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75001
75002         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
75003         arpa/inet.h.
75004
75005 2006-07-28  Simon Josefsson  <jas@extundo.com>
75006
75007         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
75008         * modules/inet_pton (Depends-on): Likewise.
75009
75010 2006-07-28  Simon Josefsson  <jas@extundo.com>
75011
75012         * m4/netinet_in_h.m4: New file.
75013
75014 2006-07-28  Simon Josefsson  <jas@extundo.com>
75015
75016         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
75017         #include's.
75018
75019 2006-07-28  Simon Josefsson  <jas@extundo.com>
75020
75021         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
75022         #include's.
75023
75024 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
75025
75026         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
75027         setgid on directories only if they set these bits.
75028         * lib/modechange.h: Remove obsolete comment about masks.
75029
75030 2006-07-28  Eric Blake  <ebb9@byu.net>
75031
75032         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
75033         macro expansion.
75034
75035 2006-07-28  Bruno Haible  <bruno@clisp.org>
75036
75037         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
75038
75039 2006-07-28  Bruno Haible  <bruno@clisp.org>
75040
75041         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
75042
75043 2006-07-28  Bruno Haible  <bruno@clisp.org>
75044
75045         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
75046         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
75047         Define fallbacks.
75048         Avoids link error on FreeBSD 4.x.
75049         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
75050
75051         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
75052         encoding.
75053         * lib/mbswidth.c (iswcntrl): Likewise.
75054
75055 2006-07-27  Bruno Haible  <bruno@clisp.org>
75056
75057         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
75058         test.
75059
75060 2006-07-27  Bruno Haible  <bruno@clisp.org>
75061
75062         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
75063         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
75064         defined.
75065
75066 2006-07-26  Eric Blake  <ebb9@byu.net>
75067
75068         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
75069
75070 2006-07-26  Eric Blake  <ebb9@byu.net>
75071
75072         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
75073         like mingw that lack mkstemp.
75074         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
75075         avoid compilation warning on mingw.
75076
75077 2006-07-26  Bruno Haible  <bruno@clisp.org>
75078
75079         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
75080         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
75081         INT_FAST*_MIN, INTPTR_MIN.
75082
75083 2006-07-25  Bruno Haible  <bruno@clisp.org>
75084
75085         * modules/version-etc (Depends-on): Add stdarg.
75086
75087 2006-07-25  Bruno Haible  <bruno@clisp.org>
75088
75089         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
75090         complex commands.
75091
75092 2006-07-25  Bruno Haible  <bruno@clisp.org>
75093
75094         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
75095         defined in <stdarg.h> or config.h.
75096
75097 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
75098
75099         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
75100         (gl_STDIO_SAFER): Remove.
75101
75102 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
75103
75104         * MODULES.html.sh (File stream based Input/Output):
75105         Add fopen-safer, tmpfile-safer; remove stdio-safer.
75106         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
75107         * modules/fopen-safer, modules/tmpfile-safer: New files.
75108         * modules/stdio-safer: Remove.
75109
75110 2006-07-24  Bruno Haible  <bruno@clisp.org>
75111
75112         * modules/tmpdir: New file.
75113         * MODULES.html.sh (File system functions): Add it.
75114
75115 2006-07-24  Bruno Haible  <bruno@clisp.org>
75116
75117         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
75118         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
75119
75120 2006-07-24  Bruno Haible  <bruno@clisp.org>
75121
75122         * modules/clean-temp: New file.
75123
75124 2006-07-24  Bruno Haible  <bruno@clisp.org>
75125
75126         * m4/tmpdir.m4: New file, from GNU gettext.
75127
75128 2006-07-24  Bruno Haible  <bruno@clisp.org>
75129
75130         * lib/tmpdir.h: New file, from GNU gettext.
75131         * lib/tmpdir.c: New file, from GNU gettext.
75132
75133 2006-07-24  Bruno Haible  <bruno@clisp.org>
75134
75135         * lib/clean-temp.h: New file, from GNU gettext.
75136         * lib/clean-temp.c: New file, from GNU gettext.
75137
75138 2006-07-23  Eric Blake  <ebb9@byu.net>
75139
75140         * modules/stdio-safer (Files): Add tmpfile-safer.c.
75141         (Depends-on): Add binary-io.
75142
75143 2006-07-23  Eric Blake  <ebb9@byu.net>
75144
75145         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
75146
75147 2006-07-23  Eric Blake  <ebb9@byu.net>
75148
75149         * lib/tmpfile-safer.c: New file.
75150         * lib/stdio-safer.h (fopen_safer): Add prototype.
75151         * lib/stdio--.h (tmpfile): Make safer.
75152
75153 2006-07-23  Bruno Haible  <bruno@clisp.org>
75154
75155         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
75156         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
75157         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
75158         gl_linked_remove_at): Use it.
75159
75160 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75161         and Simon Josefsson <jas@extundo.com>
75162
75163         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
75164
75165         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
75166
75167 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
75168
75169         * modules/close-stream: New file.
75170         * modules/closeout (Description): Make it clear that it exits
75171         with a diagnostic on error.
75172         (Depends-on): Add close-stream.  Remove fpending, stdbool.
75173         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
75174
75175 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
75176
75177         * m4/close-stream.m4: New file.
75178
75179 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
75180
75181         * lib/close-stream.c, lib/close-stream.h: New files.
75182
75183 2006-07-22  Bruno Haible  <bruno@clisp.org>
75184
75185         Merge from GNU gettext 0.15.
75186
75187         2006-05-01  Bruno Haible  <bruno@clisp.org>
75188
75189                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
75190
75191         2006-07-22  Bruno Haible  <bruno@clisp.org>
75192
75193                 * modules/javaversion: New file.
75194                 * MODULES.html.sh (Java): Add javaversion.
75195
75196         2006-03-12  Bruno Haible  <bruno@clisp.org>
75197
75198                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
75199
75200         2005-12-04  Bruno Haible  <bruno@clisp.org>
75201
75202                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
75203                 (untested).
75204
75205         2006-06-21  Bruno Haible  <bruno@clisp.org>
75206
75207                 Avoid warnings from recent versions of mcs.
75208                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
75209                 -o, -L, -r any more. Use options documented since mcs-1.0
75210                 instead. Similarly for -g.
75211
75212         2005-12-04  Bruno Haible  <bruno@clisp.org>
75213
75214                 * build-aux/csharpcomp.sh.in: Suffix for resources is
75215                 .resources, not .resource.
75216
75217         2005-07-09  Bruno Haible  <bruno@clisp.org>
75218
75219                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
75220                 add a .dll suffix.
75221                 Reported by Mark Junker <mjscod@gmx.de>.
75222
75223         2006-07-22  Bruno Haible  <bruno@clisp.org>
75224
75225                 * modules/gettext: Upgrade to gettext-0.15.
75226                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
75227                 m4/visibility.m4.
75228                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
75229
75230 2006-07-22  Bruno Haible  <bruno@clisp.org>
75231
75232         Merge from GNU gettext 0.15.
75233
75234         2006-03-25  Bruno Haible  <bruno@clisp.org>
75235
75236                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
75237
75238         2006-07-21  Bruno Haible  <bruno@clisp.org>
75239
75240                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
75241                 "1.1".
75242
75243         2006-05-09  Bruno Haible  <bruno@clisp.org>
75244
75245                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
75246                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
75247                 for the conftestver execution.
75248
75249         2006-05-01  Bruno Haible  <bruno@clisp.org>
75250
75251                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
75252                 optional target-version argument. Verify that the compiler
75253                 groks source of the specified source-version, or add -source
75254                 option as necessary. Verify that the compiler produces
75255                 bytecode in the specified target-version, or add -target and
75256                 -source options as necessary. Make the result of the test
75257                 available as variable CONF_JAVAC. Also log error output in
75258                 config.log.
75259
75260         2006-03-11  Bruno Haible  <bruno@clisp.org>
75261
75262                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
75263
75264         2006-05-09  Bruno Haible  <bruno@clisp.org>
75265
75266                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
75267                 CLASSPATH_SEPARATOR to a semicolon.
75268
75269         2006-03-12  Bruno Haible  <bruno@clisp.org>
75270
75271                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
75272                 available as variable CONF_JAVA, for subsequent autoconf
75273                 tests. Also log error output in config.log.
75274
75275         2006-07-19  Bruno Haible  <bruno@clisp.org>
75276
75277                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
75278                 that getline works on glibc2 systems. Needed to avoid trouble
75279                 in relocatable.c.
75280                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
75281
75282         2005-12-04  Bruno Haible  <bruno@clisp.org>
75283
75284                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
75285                 launcher (untested).
75286
75287         2005-12-04  Bruno Haible  <bruno@clisp.org>
75288
75289                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
75290
75291         2006-07-22  Bruno Haible  <bruno@clisp.org>
75292
75293                 * gettext.m4: Update from GNU gettext-0.15.
75294                 * nls.m4: Likewise.
75295                 * po.m4: Likewise.
75296                 * inttypes-pri.m4: Likewise.
75297                 * inttypes-h.m4: Renamed from inttypes.m4.
75298                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
75299
75300 2006-07-22  Bruno Haible  <bruno@clisp.org>
75301
75302         Merge from GNU gettext 0.15.
75303
75304         2005-07-05  Bruno Haible  <bruno@clisp.org>
75305
75306                 * printf-args.c (printf_fetchargs): Work around broken
75307                 definition of wint_t on mingw.
75308
75309         2005-02-12  Bruno Haible  <bruno@clisp.org>
75310
75311                 * xallocsa.h: Add extern "C" for C++.
75312
75313         2006-05-17  Bruno Haible  <bruno@clisp.org>
75314
75315                 Cygwin portability.
75316                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
75317
75318         2006-04-30  Bruno Haible  <bruno@clisp.org>
75319
75320                 * progreloc.c: Include <mach-o/dyld.h> if available.
75321                 (find_executable): Use _NSGetExecutablePath when possible.
75322
75323         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
75324
75325                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
75326                 function.
75327
75328         2005-12-29  Bruno Haible  <bruno@clisp.org>
75329
75330                 * progreloc.c (set_program_name_and_installdir): Fix
75331                 compilation error.
75332
75333         2005-12-04  Bruno Haible  <bruno@clisp.org>
75334
75335                 Cygwin portability.
75336                 * progreloc.c: Include <windows.h> also on Cygwin.
75337                 (find_executable): Add support for Cygwin.
75338                 (set_program_name_and_installdir): Handle also platforms with
75339                 nonempty EXEEXT.
75340
75341         2006-07-11  Bruno Haible  <bruno@clisp.org>
75342
75343                 * javacomp.c: Fix a comment.
75344                 Reported by Jim Meyering.
75345
75346         2006-04-30  Bruno Haible  <bruno@clisp.org>
75347
75348                 * javacomp.h (compile_java_class): Add source_version,
75349                 target_version arguments.
75350                 * javacomp.c: Rewritten to choose only a compiler that
75351                 respects the specified source_version and target_version.
75352
75353         2006-06-27  Bruno Haible  <bruno@clisp.org>
75354
75355                 Assume correct S_ISDIR macro.
75356                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
75357
75358         2006-07-22  Bruno Haible  <bruno@clisp.org>
75359
75360                 * javaversion.h: New file, from GNU gettext.
75361                 * javaversion.c: New file, from GNU gettext.
75362                 * javaversion.java: New file, from GNU gettext.
75363                 * javaversion.class: New file, from GNU gettext.
75364
75365         2006-05-17  Bruno Haible  <bruno@clisp.org>
75366
75367                 Cygwin portability.
75368                 * javaexec.c (execute_java_class): Test for jview program
75369                 also on Cygwin.
75370
75371         2006-04-09  Bruno Haible  <bruno@clisp.org>
75372
75373                 * fatal-signal.c: Don't include string.h.
75374                 (at_fatal_signal): Use a copying loop instead of memcpy.
75375
75376         2005-12-04  Bruno Haible  <bruno@clisp.org>
75377
75378                 * csharpexec.c: Add support for 'clix' launcher (untested).
75379                 (execute_csharp_using_sscli): New function.
75380                 (execute_csharp_program): Call it.
75381
75382         2006-06-21  Bruno Haible  <bruno@clisp.org>
75383
75384                 Avoid warnings from recent versions of mcs.
75385                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
75386                 -o, -L, -r any more. Use options documented since mcs-1.0
75387                 instead. Similarly for -g.
75388
75389         2005-07-09  Bruno Haible  <bruno@clisp.org>
75390
75391                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
75392                 add a .dll suffix.
75393                 Reported by Mark Junker <mjscod@gmx.de>.
75394
75395         2006-06-17  Bruno Haible  <bruno@clisp.org>
75396
75397                 * config.charset: Update for NetBSD 3.0.
75398
75399         2006-05-17  Bruno Haible  <bruno@clisp.org>
75400
75401                 Cygwin portability.
75402                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
75403
75404         2006-05-16  Bruno Haible  <bruno@clisp.org>
75405
75406                 * localcharset.c [CYGWIN]: Include <windows.h>.
75407                 (get_charset_aliases): For Cygwin, return the same CPxxx
75408                 aliases list as under WIN32.
75409                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
75410                 the environment variables. Fall back to GetACP().
75411
75412         2006-04-05  Bruno Haible  <bruno@clisp.org>
75413
75414                 * config.charset: Update Juan Manuel Guerrero's address.
75415
75416         2005-02-12  Bruno Haible  <bruno@clisp.org>
75417
75418                 * allocsa.h: Add extern "C" for C++.
75419
75420         2005-02-10  Bruno Haible  <bruno@clisp.org>
75421
75422                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
75423                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
75424
75425         2006-07-22  Bruno Haible  <bruno@clisp.org>
75426
75427                 * gettext.h: Update to GNU gettext-0.15.
75428
75429 2006-07-22  Bruno Haible  <bruno@clisp.org>
75430
75431         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
75432         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
75433         lib-prefix.m4, longdouble.m4, ssize_t.m4.
75434
75435 2006-07-21  Eric Blake  <ebb9@byu.net>
75436
75437         * modules/stdlib-safer: New file.
75438         * MODULES.html.sh (File stream based Input/Output): Add
75439         stdlib-safer.
75440
75441 2006-07-21  Eric Blake  <ebb9@byu.net>
75442
75443         * lib/stdlib-safer.h: New file from coreutils, required by
75444         stdlib--.h.
75445
75446 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
75447
75448         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
75449
75450 2006-07-20  Bruno Haible  <bruno@clisp.org>
75451
75452         * gnulib-tool: Recognize new option --assume-autoconf.
75453         (autoconf_minversion): New variable.
75454         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
75455
75456 2006-07-20  Bruno Haible  <bruno@clisp.org>
75457
75458         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
75459
75460 2006-07-19  Derek R. Price  <derek@ximbiot.com>
75461
75462         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
75463         Reindent and repaginate.
75464
75465 2006-07-19  Derek Price  <derek@ximbiot.com>
75466
75467         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
75468         Correct grammar.
75469
75470 2006-07-17  Bruno Haible  <bruno@clisp.org>
75471
75472         * modules/list: New file.
75473         * modules/array-list: New file.
75474         * modules/carray-list, modules/carray-list-tests: New files.
75475         * modules/linked-list, modules/linked-list-tests: New files.
75476         * modules/avltree-list, modules/avltree-list-tests: New files.
75477         * modules/rbtree-list, modules/rbtree-list-tests: New files.
75478         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
75479         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
75480         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
75481         * modules/oset: New file.
75482         * modules/array-oset: New file.
75483         * modules/avltree-oset, modules/avltree-oset-tests: New files.
75484         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
75485         * tests/test-carray_list.c: New file.
75486         * tests/test-linked_list.c: New file.
75487         * tests/test-avltree_list.c: New file.
75488         * tests/test-rbtree_list.c: New file.
75489         * tests/test-linkedhash_list.c: New file.
75490         * tests/test-avltreehash_list.c: New file.
75491         * tests/test-rbtreehash_list.c: New file.
75492         * tests/test-avltree_oset.c: New file.
75493         * tests/test-rbtree_oset.c: New file.
75494         * MODULES.html.sh (Container data structures): New section.
75495
75496 2006-07-17  Bruno Haible  <bruno@clisp.org>
75497
75498         * m4/gl_list.m4: New file.
75499
75500 2006-07-17  Bruno Haible  <bruno@clisp.org>
75501
75502         * lib/gl_list.h: New file.
75503         * lib/gl_list.c: New file.
75504         * lib/gl_array_list.h: New file.
75505         * lib/gl_array_list.c: New file.
75506         * lib/gl_carray_list.h: New file.
75507         * lib/gl_carray_list.c: New file.
75508         * lib/gl_linked_list.h: New file.
75509         * lib/gl_linked_list.c: New file.
75510         * lib/gl_anylinked_list1.h: New file.
75511         * lib/gl_anylinked_list2.h: New file.
75512         * lib/gl_avltree_list.h: New file.
75513         * lib/gl_avltree_list.c: New file.
75514         * lib/gl_anyavltree_list1.h: New file.
75515         * lib/gl_anyavltree_list2.h: New file.
75516         * lib/gl_rbtree_list.h: New file.
75517         * lib/gl_rbtree_list.c: New file.
75518         * lib/gl_anyrbtree_list1.h: New file.
75519         * lib/gl_anyrbtree_list2.h: New file.
75520         * lib/gl_anytree_list1.h: New file.
75521         * lib/gl_anytree_list2.h: New file.
75522         * lib/gl_linkedhash_list.h: New file.
75523         * lib/gl_linkedhash_list.c: New file.
75524         * lib/gl_anyhash_list1.h: New file.
75525         * lib/gl_anyhash_list2.h: New file.
75526         * lib/gl_avltreehash_list.h: New file.
75527         * lib/gl_avltreehash_list.c: New file.
75528         * lib/gl_rbtreehash_list.h: New file.
75529         * lib/gl_rbtreehash_list.c: New file.
75530         * lib/gl_anytreehash_list1.h: New file.
75531         * lib/gl_anytreehash_list2.h: New file.
75532
75533         * lib/gl_oset.h: New file.
75534         * lib/gl_oset.c: New file.
75535         * lib/gl_array_oset.h: New file.
75536         * lib/gl_array_oset.c: New file.
75537         * lib/gl_avltree_oset.h: New file.
75538         * lib/gl_avltree_oset.c: New file.
75539         * lib/gl_rbtree_oset.h: New file.
75540         * lib/gl_rbtree_oset.c: New file.
75541         * lib/gl_anytree_oset.h: New file.
75542
75543 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
75544
75545         * m4/mkancesdirs.m4: New file.
75546         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
75547         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
75548         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
75549         it.
75550
75551 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
75552
75553         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
75554         * lib/mkancesdirs.h: New files.
75555         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
75556         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
75557         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
75558         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
75559         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
75560         callers changed.  Revamp internals significantly, by not
75561         attempting to create directories that are temporarily more
75562         permissive than the final results.  Do not attempt to use
75563         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
75564         This removes some race conditions, fixes some bugs, and simplifies
75565         things.  Use new dirchownmod function to do owner and mode changes.
75566         * lib/mkdir-p.h: Likewise.
75567         * lib/modechange.c (octal_to_mode): New function.
75568         (struct mode_change): New member mentioned.
75569         (make_node_op_equals): New arg mentioned.  All callers changed.
75570         (mode_compile): Keep track of which mode bits the user has explicitly
75571         mentioned.
75572         (mode_adjust): New arg DIR, so that we implement the X op correctly.
75573         New arg PMODE_BITS, to keep track of which mode bits the user
75574         mentioned; it treats S_ISUID and S_ISGID speciall.
75575         All callers changed.
75576         * lib/modechange.h: Likewise.
75577
75578 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
75579
75580         * MODULES.html.sh: Add mkancestors.
75581         * modules/mkancesdirs: New module.
75582         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
75583         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
75584         The chdir-safer and afs files are now orphans; I'll remove them
75585         unless someone speaks up.
75586         Add lib/dirchownmod.c, lib/dirchownmod.h.
75587         (Depends-on): Remove alloca, chown, save-cwd, dirname.
75588         Add lchown, mkancesdirs.
75589         (Maintainer): Add self.
75590
75591 2006-07-15  Karl Berry  <karl@gnu.org>
75592
75593         * gnulib-tool: help message wording/arrangement.
75594
75595 2006-07-14  Simon Josefsson  <jas@extundo.com>
75596
75597         * doc/gnulib.texi (Libtool and Windows): New section.
75598
75599 2006-07-12  Simon Josefsson  <jas@extundo.com>
75600
75601         * modules/gendocs (License): Fix license, approved by Karl.
75602
75603 2006-07-12  Eric Blake  <ebb9@byu.net>
75604
75605         * MODULES.html.sh: Add gendocs.
75606
75607 2006-07-11  Eric Blake  <ebb9@byu.net>
75608
75609         * modules/fdl: New module, to install doc/fdl.texi.
75610         * MODULES.html.sh: Add new section for documentation modules.
75611         * gnulib-tool: Avoid space-tab.
75612         (--doc-base): New option, to manage files from doc.
75613
75614 2006-07-11  Eric Blake  <ebb9@byu.net>
75615
75616         * m4/absolute-header.m4: Fix comments to match recent change.
75617
75618 2006-07-11  Eric Blake  <ebb9@byu.net>
75619
75620         * gnulib-tool: List --doc-base before --tests-base.
75621
75622 2006-07-11  Derek R. Price  <derek@ximbiot.com>
75623
75624         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
75625
75626 2006-07-11  Bruno Haible  <bruno@clisp.org>
75627
75628         * README: Mention where to put documentation.
75629
75630 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75631
75632         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
75633
75634 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
75635
75636         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
75637         to stdint.m4.
75638
75639 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
75640
75641         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
75642         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
75643         "no/such/file/stdint.h" when there is no such file, so that
75644         the resulting C code can be parsed by dodgy compilers.
75645         Problems reported by Bob Proulx.
75646
75647 2006-07-10  Derek R. Price  <derek@ximbiot.com>
75648
75649         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
75650         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
75651         macros into the GNU _D_EXACT_NAMLEN.
75652         * lib/savedir.c:  Likewise.
75653         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
75654
75655 2006-07-10  Derek R. Price  <derek@ximbiot.com>
75656         and Paul Eggert  <eggert@cs.ucla.edu>
75657
75658         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
75659         * m4/savedir.m4:
75660         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
75661         macros into the GNU _D_EXACT_NAMLEN.
75662
75663 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75664
75665         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
75666         around the absolute name, to work around a problem with the HP-UX
75667         11.23 native C compiler, reported by Bob Proulx.
75668
75669 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75670
75671         * doc/maintain.texi, make-stds.texi: Sync from
75672         <http://savannah.gnu.org/projects/gnustandards>.
75673
75674 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75675
75676         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
75677
75678 2006-07-09  Jim Meyering  <jim@meyering.net>
75679
75680         * m4/glob.m4: Remove a doubled word in a comment.
75681
75682 2006-07-09  Jim Meyering  <jim@meyering.net>
75683
75684         * lib/argp-pv.c: Remove a doubled word in a comment.
75685         * lib/check-version.c (check_version): Likewise.
75686         * lib/javacomp.c (compile_java_class): Likewise.
75687
75688 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
75689
75690         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
75691         for the benefit of people using Autoconf 2.60.  If you want to
75692         support older Autoconf versions you can copy m4/onceonly_2_57.m4
75693         (or m4/onceonly.m4, if pre-2.57) manually.
75694
75695 2006-07-08  Jim Meyering  <jim@meyering.net>
75696
75697         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
75698         comment.
75699         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
75700         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
75701         comment.
75702
75703 2006-07-08  Jim Meyering  <jim@meyering.net>
75704
75705         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
75706
75707 2006-07-07  Simon Josefsson  <jas@extundo.com>
75708
75709         * tests/test-crc.c: Change expected crc value, the test vector
75710         were probably computed using the old broken crc.c?
75711
75712 2006-07-06  Simon Josefsson  <jas@extundo.com>
75713
75714         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
75715         now the canonical place for the M4 file).
75716
75717         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
75718         from the sys_socket dependency now.
75719
75720         * modules/inet_pton (Files): Ditto.
75721
75722         * modules/inet_ntop (Files): Ditto.
75723
75724 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75725
75726         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
75727         not gl_PREREQ_GETUSERSHELL.
75728
75729 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75730
75731         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
75732         with only one argument, for Autoconf 2.60.
75733         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
75734         expand to nothing, so add a shell command to avoid syntax error.
75735         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
75736
75737 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75738
75739         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
75740
75741 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75742
75743         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
75744         no longer needed.  Check for isblank decl.
75745         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
75746         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
75747         of existence.
75748
75749 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75750
75751         * lib/getloadavg.c: Use __VMS, not VMS.
75752         * lib/getopt.c: Likewise.
75753         * lib/getpagesize.h: Likewise.
75754         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
75755         and probably does not work.
75756
75757 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75758
75759         * lib/.cppi-disable: Add wcwidth.
75760         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
75761         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
75762         (ISGRAPH): Remove.  All uses changed to isgraph.
75763         (FOLD) [!defined _LIBC]: Remove special case.
75764         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
75765         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
75766         HAVE_ISBLANK.
75767         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
75768         case.
75769
75770 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
75771
75772         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
75773         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
75774         brackets.  Other minor changes to suppress some compiler
75775         warnings.
75776
75777 2006-07-06  Derek R. Price  <derek@ximbiot.com>
75778         and Paul Eggert  <eggert@cs.ucla.edu>
75779
75780         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
75781         of invoking obsolescent AC_HEADER_DIRENT macro.
75782         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
75783         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
75784         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
75785         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
75786         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
75787         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
75788         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
75789         * m4/readdir.m4: Remove; no longer needed.
75790
75791 2006-07-06  Derek R. Price  <derek@ximbiot.com>
75792         and Paul Eggert  <eggert@cs.ucla.edu>
75793
75794         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
75795         Don't worry about this obsolete case any more.
75796         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
75797         directories.
75798         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
75799         worry about this obsolete case any more.
75800         * lib/fts.c: Likewise.
75801         * lib/getcwd.c: Likewise.
75802         * lib/glob.h: Likewise.
75803         * lib/savedir.c: Likewise.
75804
75805 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
75806
75807         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
75808         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
75809         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
75810         needed.
75811         All uses removed.
75812         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75813         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
75814         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
75815         needed.
75816         * m4/getdate.m4 (gl_GETDATE): Likewise.
75817         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
75818         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
75819         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
75820         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75821         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
75822         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
75823         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
75824         needed.
75825
75826 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
75827
75828         * lib/memcasecmp.c: Include <limits.h>.
75829         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
75830         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
75831         Don't assume isdigit succeeds only on '0' through '9'.
75832
75833 2006-07-05  Eric Blake  <ebb9@byu.net>
75834
75835         * modules/getaddrinfo (Depends-on): Add snprintf.
75836
75837 2006-07-05  Eric Blake  <ebb9@byu.net>
75838
75839         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
75840         to avoid 'header present but could not be compiled' on cygwin.
75841
75842 2006-07-05  Eric Blake  <ebb9@byu.net>
75843
75844         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
75845         missing from netdb.h.
75846         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
75847
75848 2006-07-05  Derek R. Price  <derek@ximbiot.com>
75849
75850         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
75851         no longer needed.
75852         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
75853         * m4/getdate.m4 (gl_GETDATE): Likewise.
75854         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
75855         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
75856         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
75857         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75858         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
75859
75860 2006-07-05  Derek R. Price  <derek@ximbiot.com>
75861
75862         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
75863         All uses of is_space replaced by isspace.
75864         * lib/exit.h: Don't talk about STDC_HEADERS.
75865         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
75866         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
75867         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
75868         replaced by isprint etc.
75869         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
75870         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
75871         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
75872         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
75873         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
75874         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
75875
75876 2006-07-05  Bruno Haible  <bruno@clisp.org>
75877
75878         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
75879         the function exists, before testing against AIX.
75880         Reported by Martin Lambers <marlam@marlam.de>.
75881
75882 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
75883
75884         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
75885         From Mark D. Baushke.
75886
75887 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
75888
75889         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
75890         to the absolute name, not just one, to bypass Sun C 5.8's
75891         "warning: #include of /usr/include/... may be non-portable".
75892
75893 2006-07-04  Eric Blake  <ebb9@byu.net>
75894
75895         * modules/dirname-tests: New test module.
75896         * tests/test-dirname.c: New file, replacing dirname.c
75897         TEST_DIRNAME section that was recently deleted.
75898
75899 2006-07-04  Bruno Haible  <bruno@clisp.org>
75900
75901         Assume ANSI C header files and <ctype.h> functions.
75902         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
75903         (mbsnwidth): Use isprint, iscntrl instead.
75904
75905 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75906
75907         Merge from coreutils.
75908         * MODULES.html.sh: Add xstrtold.
75909         * modules/xstrtold: New file.
75910         * modules/cycle-check (Files): Add lib/same-inode.h.
75911         * modules/dirname (Files): Add m4/double-slash-root.m4.
75912         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
75913         * modules/mkdir-p (Files): Add lib/same-inode.h.
75914         * modules/same (Files): Add lib/same-inode.h.
75915
75916 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75917
75918         * m4/absolute-header.m4: Renamed from full-header-path.m4.
75919         This is to keep the terminology clean; POSIX talks about
75920         "absolute pathnames", not "full pathnames", but the GNU
75921         Coding Standards say to use "path" for something else;
75922         so use "absolute" to keep both sides happy.
75923         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
75924         Set gl_absolute_header, not gl_full_header_path.
75925         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
75926         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
75927         All uses changed.
75928
75929         Merge from coreutils.
75930
75931         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
75932
75933         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
75934         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
75935         want to require the building of c-strtod.o.
75936         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
75937         needs -lm directly.
75938         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
75939
75940         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
75941
75942         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
75943         --as-needed option if available.  Problem reported by Albert Chin in
75944         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
75945         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
75946         cc merely issues a bunch of annoying warnings for --as-needed
75947         (this problem was reported by Bob Proulx).  Also, try linking with
75948         -lm to detect a bug in binutils 2.16 (this problem was reported
75949         by Ralf Wildenhues).
75950
75951         2006-06-18  Jim Meyering  <jim@meyering.net>
75952
75953         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
75954         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
75955         macro.
75956         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
75957         also check for glibc-2.4's abort-inducing bug.
75958
75959         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
75960         Low-probability clean-up should be to use rmdir to get rid of
75961         the just-created directory, not unlink.
75962
75963         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
75964         configure fail, and request a bug report to inform us about it.
75965         Add a comment that, barring reports to the contrary, in 2007 we'll
75966         assume ftruncate is universally available.
75967
75968         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
75969
75970         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
75971
75972         2006-03-12  Jim Meyering  <jim@meyering.net>
75973
75974         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
75975         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
75976         * m4/same.m4 (gl_SAME): Likewise.
75977         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
75978
75979         2006-03-11  Eric Blake  <ebb9@byu.net>
75980
75981         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
75982         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
75983         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
75984         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
75985
75986 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75987
75988         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
75989         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
75990         reported by Mark D. Baushke, one in
75991         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
75992
75993         Merge from coreutils.
75994
75995         * lib/.cppi-disable: Add stdint_.h.
75996         * lib/.cvsignore: Add stdint.h.
75997
75998         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
75999
76000         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
76001         both double and long double versions.
76002         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
76003         * lib/xstrtold.c: New file.
76004         * lib/xstrtod.h (xstrtold): New decl.
76005
76006         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
76007
76008         * lib/filemode.c (setst): Remove.
76009         (strmode): Rewrite to avoid setst.  This makes the code shorter,
76010         (arguably) clearer, and the generated code is a bit smaller on my
76011         Debian GNU/Linux stable x86 host.
76012
76013         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
76014
76015         * lib/filemode.c: Include "filemode.h" first, to test the interface.
76016         Assume that filemode.h includes sys/types.h and sys/stat.h.
76017         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
76018         (ftypelet): Reorder to put common cases first, for efficiency.
76019         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
76020         to do 'M'.
76021         (strmode): Renamed from mode_string, and now stores 12 bytes instead
76022         of 10, for compatibility with FreeBSD.  All callers changed.
76023         (filemodestring): Now stores 12 bytes instead of 10, and sets file
76024         types that can't be deduced solely from st_mode.  First arg is now a
76025         const pointer.
76026         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
76027         (strmode): Renamed from mode_string.
76028         (filemodestring): New decl.
76029         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
76030         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
76031         needed.
76032         (S_ISPORT, S_ISWHT): New macros, if not already defined.
76033
76034         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
76035
76036         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
76037         fsusage.h now does that.  Include fsusage.h first, to test interface.
76038         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
76039         at most one method (the old code could have generated decls that
76040         didn't conform to C89, not that this was ever exercised).
76041         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
76042
76043         2006-03-19  Jim Meyering  <jim@meyering.net>
76044
76045         Work even in a chroot where d_ino values for entries in "/"
76046         don't match the stat.st_ino values for the same names.
76047         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
76048         number, iterate through all entries again, using lstat instead.
76049         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
76050         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
76051
76052         * lib/getcwd.c (__getcwd): Clarify a comment.
76053         Use memcpy in place of a call to strcpy.
76054
76055         2006-03-12  Jim Meyering  <jim@meyering.net>
76056
76057         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
76058         matches that of the current directory (which we're about to chdir ".."
76059         out of), then save the dev-ino of the parent, instead.
76060
76061         * lib/same-inode.h (SAME_INODE): New file/macro.
76062         * lib/chdir-safer.c (SAME_INODE): Remove definition.
76063         Include "same-inode.h", instead.
76064         * lib/same.c: Likewise.
76065         * lib/cycle-check.h: Include "same-inode.h".
76066         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
76067         * lib/cycle-check.c (SAME_INODE): Remove definition.
76068         * lib/root-dev-ino.h: Include "same-inode.h".
76069
76070         2006-03-11  Eric Blake  <ebb9@byu.net>
76071
76072         * lib/same.c (same_name): s/base_name/last_component/
76073         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
76074         * lib/filenamecat.c (file_name_concat): Likewise.
76075
76076         2006-03-11  Eric Blake  <ebb9@byu.net>,
76077                     Paul Eggert  <eggert@cs.ucla.edu>
76078
76079         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
76080         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
76081         drive prefix.
76082         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
76083         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
76084         (last_component): New method.
76085         * lib/dirname.c (dir_len): Determine when drive letters need a
76086         subsequent slash.  Preserve // when it is special.
76087         (dir_name): Don't append dot when drive letter is absolute.
76088         [TEST_DIRNAME]: Move into a full-blown gnulib test.
76089         * lib/basename.c (base_name): New semantics - malloc the result.
76090         Preserve // when it is special.  Preserve relative files that look
76091         like drive letters.
76092         (base_len): Preserve // when it is special.
76093         (last_component): New method, similar to old base_name semantics.
76094         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
76095         base_name.  Strip redundant slashes from ///.
76096
76097 2006-07-03  Jim Meyering  <jim@meyering.net>
76098
76099         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
76100         macro is used before the first cycle_check call.
76101
76102 2006-07-03  Eric Blake  <ebb9@byu.net>
76103
76104         * modules/dirname (Depends-on): Add xstrndup.
76105
76106 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
76107
76108         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
76109         test cases, so that config.log is a bit easier to follow.
76110
76111 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
76112
76113         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
76114         both are 64 bits, since this seems to be the tradition, and this
76115         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
76116         we ever run into a host that prefers long long to long in this
76117         case, we'll need another configure-time test.  Problem reported by
76118         Jim Meyering.
76119
76120 2006-07-02  Eric Blake  <ebb9@byu.net>
76121
76122         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
76123
76124 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76125
76126         * modules/inttypes (Depends-on): No longer depends on stdint.
76127         * modules/stdint (Description): Say more about assumptions.
76128         Say that the fast types might differ.  Say macros are used.
76129         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
76130         (Makefile.am): Revise list of substituted symbols to match
76131         new stdint.m4.
76132         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
76133         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
76134         * tests/test-stdint.c (verify_same_types)
76135         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
76136         the code conforms to C99/C89.
76137         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
76138         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
76139
76140 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76141
76142         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
76143         but fix a bug, by requiring at least 64 bits.
76144         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
76145         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
76146         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
76147         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
76148
76149         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
76150         changes.  Make 2.59 a prerequisite.  Check and substitute for
76151         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
76152         inttypes.h.  Do not use special include files; just use the
76153         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
76154         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
76155         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
76156         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
76157         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
76158         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
76159         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
76160         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
76161         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
76162         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
76163         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
76164         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
76165         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
76166         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
76167         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
76168         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
76169         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
76170         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
76171         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
76172         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
76173         WINT_MAX.  Check for C99 conformance more strictly, by detecting
76174         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
76175         not check for things that C99 does not require, e.g., int8_t.  If
76176         a test isn't needed unless <stdint.h> isn't working, and is
76177         unlikely to be needed for any other reason, then don't do it
76178         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
76179         size_t, since we assume C89 freestanding at least.  Do not check
76180         for sig_atomic_t, wchar_t, or wint_t, since the code now does
76181         the right thing even if the types are not defined.  Instead use:
76182         (gl_STDINT_TYPE_PROPERTIES): New macro.
76183         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
76184         testing whether <sys/types.h> clashes, as Autoconf does this for
76185         us now.  All uses removed.
76186         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
76187         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
76188         (gl_CHECK_TYPE_SAME):
76189         Remove; no longer needed.
76190         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
76191         exists, since we'll return 0 anyway in that case.
76192         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
76193
76194 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76195
76196         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
76197         possible collision with system files.
76198         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
76199         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
76200         WCHAR_MIN and WCHAR_MAX in this case.
76201         (<stddef.h>): Do not include; no longer needed.
76202         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
76203         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
76204         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
76205         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
76206         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
76207         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
76208         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
76209         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
76210         !defined(__c99))]: Include in this case too, since it's harmless
76211         now.
76212         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
76213         dangerous to do so.
76214         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
76215         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
76216         (_STDINT_MIN, _STDINT_MAX): New macros.
76217         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
76218         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
76219         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
76220         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
76221         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
76222         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
76223         macros, not typedefs; this simplifies things quite a bit.
76224         Use long int for all types narrower than int64_t.
76225         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
76226         Define in terms of long long int or int64_t or long int,
76227         not int64_t or int32_t.  This saves some compile-time testing.
76228         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
76229         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
76230         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
76231         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
76232         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
76233         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
76234         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
76235         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
76236         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
76237         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
76238         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
76239         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
76240         undef any previous version and define our own version, for
76241         simplicity and consistency with the new macros for types.
76242         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
76243         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
76244         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
76245         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
76246         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
76247         @WINT_T_SUFFIX@ to keep things simple here.
76248         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
76249         Simplify by assuming typical 8/16/32/64 host, since we're
76250         already doing that elsewhere anyway.
76251         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
76252         and assume long long int is 64 bits if available.  This
76253         speeds up 'configure'.
76254
76255 2006-07-01  Eric Blake  <ebb9@byu.net>
76256
76257         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
76258         Reported by Andreas Buening.
76259
76260 2006-07-01  Eric Blake  <ebb9@byu.net>
76261
76262         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
76263
76264 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
76265
76266         * lib/getaddrinfo.c: fixed typo
76267
76268 2006-06-29  Jim Meyering  <jim@meyering.net>
76269
76270         * modules/strftime (Maintainer): Add my name, since with the
76271         FPRINTFTIME changes strftime.c has forked from glibc.
76272
76273 2006-06-29  Eric Blake  <ebb9@byu.net>
76274
76275         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
76276
76277 2006-06-29  Eric Blake  <ebb9@byu.net>
76278
76279         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
76280
76281 2006-06-29  Eric Blake  <ebb9@byu.net>
76282
76283         * lib/stat_.h: New file.
76284
76285 2006-06-29  Eric Blake  <ebb9@byu.net>
76286
76287         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
76288         unused static function.
76289
76290 2006-06-29  Eric Blake  <ebb9@byu.net>
76291
76292         * doc/functions.texi (Function Portability): Document missing lstat
76293         on mingw.
76294
76295 2006-06-29  Eric Blake  <ebb9@byu.net>
76296
76297         * MODULES.html.sh: Add sys_stat.
76298         * modules/sys_stat: New module.
76299         * modules/mkstemp (Depends-on): Add sys_stat.
76300
76301 2006-06-29  Derek R. Price  <derek@ximbiot.com>
76302
76303         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
76304
76305 2006-06-29  Derek R. Price  <derek@ximbiot.com>
76306
76307         * m4/c-bs-a.m4: Removed.
76308
76309 2006-06-29  Derek R. Price  <derek@ximbiot.com>
76310
76311         * lib/strftime.c: Assume strftime() exists.
76312
76313 2006-06-29  Derek Price  <derek@ximbiot.com>
76314
76315         * modules/c-bs-a: Removed - \a is C89.
76316         * MODULES.html.sh: Remove c-bs-a.
76317
76318 2006-06-29  Bruno Haible  <bruno@clisp.org>
76319
76320         * modules/wcwidth (License): Change to LGPL.
76321
76322 2006-06-28  Simon Josefsson  <jas@extundo.com>
76323
76324         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
76325         on _WIN32.
76326
76327         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
76328         getnameinfo.
76329
76330 2006-06-28  Simon Josefsson  <jas@extundo.com>
76331
76332         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
76333
76334 2006-06-28  Simon Josefsson  <jas@extundo.com>
76335
76336         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
76337         functions there.  It will succeed on Windows XP, but on Windows
76338         2000 and (presumably) earlier, it will fail, and use the internal
76339         re-implementation.
76340         (use_win32_p): New function.
76341         (getaddrinfo): Use strtoul on servname, to support numeric ports.
76342         Support AI_NUMERICSERV to disable getservbyname.
76343         (getnameinfo): New function, only supports
76344         NI_NUMERICHOST|NI_NUMERICSERV for now.
76345
76346         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
76347         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
76348         getnameinfo.
76349
76350 2006-06-28  Eric Blake  <ebb9@byu.net>
76351
76352         * modules/wcwidth: New file.
76353         * modules/mbchar (Depends-on): Add wcwidth.
76354         * modules/mbswidth (Depends-on): Add wcwidth.
76355         * MODULES.html.sh: Add wcwidth.
76356
76357 2006-06-28  Eric Blake  <ebb9@byu.net>
76358
76359         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
76360         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
76361
76362 2006-06-28  Eric Blake  <ebb9@byu.net>
76363
76364         * lib/xvasprintf.h: Fix comments.
76365
76366 2006-06-28  Eric Blake  <ebb9@byu.net>
76367
76368         * lib/mbchar.h (wcwidth): Include wcwidth.h.
76369         * lib/mbswidth.c (wcwidth): Move from here...
76370         * lib/wcwidth.h: ...to this new file.
76371
76372 2006-06-28  Derek R. Price  <derek@ximbiot.com>
76373
76374         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
76375
76376         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
76377         it's obsolete.
76378         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
76379
76380 2006-06-28  Derek R. Price  <derek@ximbiot.com>
76381
76382         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
76383         Autoconf 2.60 says this stuff was obsolete.
76384
76385 2006-06-28  Bruno Haible  <bruno@clisp.org>
76386
76387         * modules/wcwidth (Files): Add m4/wchar_t.m4.
76388
76389 2006-06-28  Bruno Haible  <bruno@clisp.org>
76390
76391         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
76392         gt_TYPE_WCHAR_T.
76393
76394 2006-06-28  Bruno Haible  <bruno@clisp.org>
76395
76396         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
76397         declaration for wcwidth.
76398         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
76399
76400 2006-06-28  Bruno Haible  <bruno@clisp.org>
76401
76402         * lib/mkdtemp.c [MINGW]: Include <io.h>.
76403         (mkdir): Define using _mkdir.
76404
76405 2006-06-28  Bruno Haible  <bruno@clisp.org>
76406
76407         * lib/getaddrinfo.h: Fix POSIX URL.
76408         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
76409         _WIN32.
76410         (use_win32_p): Make static.
76411         (getaddrinfo): Reject service name if it is empty or does not consist
76412         solely of decimal digits, or if its value is > 65535.
76413         (getnameinfo): Remove useless casts.
76414
76415 2006-06-27  Simon Josefsson  <jas@extundo.com>
76416
76417         * modules/sys_select: New file, suggested by Bruno Haible, Paul
76418         Eggert and Martin Lambers.
76419
76420 2006-06-27  Simon Josefsson  <jas@extundo.com>
76421
76422         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
76423         Eggert and Martin Lambers.
76424
76425 2006-06-27  Bruno Haible  <bruno@clisp.org>
76426
76427         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
76428         result to 0, not to empty.
76429         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
76430
76431 2006-06-27  Bruno Haible  <bruno@clisp.org>
76432
76433         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
76434
76435 2006-06-26  Simon Josefsson  <jas@extundo.com>
76436
76437         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
76438         present.
76439
76440 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
76441
76442         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
76443         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
76444         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
76445
76446 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
76447
76448         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
76449
76450 2006-06-26  Bruno Haible  <bruno@clisp.org>
76451
76452         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
76453
76454 2006-06-26  Bruno Haible  <bruno@clisp.org>
76455
76456         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
76457
76458 2006-06-26  Bruno Haible  <bruno@clisp.org>
76459
76460         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
76461         SGI C compiler in pre-C99 mode.
76462         Suggested by Mark D. Baushke and Larry Jones.
76463
76464 2006-06-26  Bruno Haible  <bruno@clisp.org>
76465
76466         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
76467         WCHAR_MAX.
76468         Reported by Mark D. Baushke and Larry Jones.
76469
76470 2006-06-26  Bruno Haible  <bruno@clisp.org>
76471
76472         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
76473         in pre-C99 mode.
76474         Suggested by Mark D. Baushke and Larry Jones.
76475
76476 2006-06-23  Simon Josefsson  <jas@extundo.com>
76477             Bruno Haible  <bruno@clisp.org>
76478
76479         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
76480         Emit mostlyclean-local rule.
76481         (func_emit_tests_Makefile_am): Likewise.
76482         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
76483
76484 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
76485
76486         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
76487
76488 2006-06-23  Bruno Haible  <bruno@clisp.org>
76489
76490         * tests/test-stdint.c: Update to match ISO C 99 Technical
76491         Corrigendum 1.
76492
76493 2006-06-23  Bruno Haible  <bruno@clisp.org>
76494
76495         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
76496
76497 2006-06-23  Bruno Haible  <bruno@clisp.org>
76498
76499         * lib/stdint_.h: Treat IRIX like OpenBSD.
76500
76501 2006-06-23  Bruno Haible  <bruno@clisp.org>
76502
76503         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
76504         ISO C 99 Technical Corrigendum 1.
76505
76506 2006-06-22  Simon Josefsson  <jas@extundo.com>
76507
76508         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
76509         MinGW.
76510
76511 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
76512
76513         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
76514         needed.  Some compiler complained about some of them.  Problem reported
76515         by Larry Jones in
76516         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
76517
76518 2006-06-21  Simon Josefsson  <jas@extundo.com>
76519
76520         * tests/test-getaddrinfo.c: New file.
76521
76522         * modules/getaddrinfo-tests: New file.
76523
76524         * MODULES.html.sh: Add inet_pton.
76525
76526         * modules/inet_pton: New file.
76527
76528 2006-06-21  Simon Josefsson  <jas@extundo.com>
76529
76530         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
76531         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
76532         of using the (limited) gnulib implementation on Windows XP.
76533
76534         * m4/inet_pton.m4: New file.
76535
76536 2006-06-21  Simon Josefsson  <jas@extundo.com>
76537
76538         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
76539         variable.
76540
76541         * lib/socket_.h: Don't define WINVER.
76542
76543         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
76544         slightly modified to work in gnulib.
76545
76546 2006-06-21  Simon Josefsson  <jas@extundo.com>
76547
76548         * doc/gnulib.texi (Windows sockets): Add.
76549
76550 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
76551
76552         * lib/read-file.c (fread_file): Start with buffer allocation of
76553         0 bytes rather than 1 byte; this simplifies the code.
76554         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
76555         code to free buffer and save/restore errno.
76556         (internal_read_file): Remove unused local.
76557
76558 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
76559
76560         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
76561         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
76562         Problem reported by Denis Excoffier in
76563         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
76564
76565 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76566
76567         * modules/sys_socket, modules/socklen: Include sys/types since
76568         FreeBSD 4.x's sys/socket.h needs it.
76569
76570 2006-06-19  Simon Josefsson  <jas@extundo.com>
76571
76572         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
76573
76574 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
76575
76576         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
76577
76578 2006-06-19  Bruno Haible  <bruno@clisp.org>
76579
76580         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
76581         and FULL_PATH_INTTYPES_H in angle brackets.
76582         Reported by Mark D. Baushke <mdb@gnu.org>.
76583
76584 2006-06-17  Eric Blake  <ebb9@byu.net>
76585
76586         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
76587         errno.
76588
76589 2006-06-17  Bruno Haible  <bruno@clisp.org>
76590
76591         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
76592         <sys/inttypes.h>.
76593
76594 2006-06-17  Bruno Haible  <bruno@clisp.org>
76595
76596         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
76597         whether errno is declared. Assume <errno.h> declares errno.
76598
76599 2006-06-17  Bruno Haible  <bruno@clisp.org>
76600
76601         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
76602
76603 2006-06-17  Bruno Haible  <bruno@clisp.org>
76604
76605         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
76606         problem on Solaris 2.5.1.
76607
76608 2006-06-16  Eric Blake  <ebb9@byu.net>
76609
76610         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
76611         * lib/unicodeio.c [!defined errno]: Likewise.
76612         * lib/strtol.c [!defined errno]: Likewise.
76613         * lib/strtod.c [!defined errno]: Likewise.
76614
76615 2006-06-15  Eric Blake  <ebb9@byu.net>
76616
76617         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
76618
76619 2006-06-15  Eric Blake  <ebb9@byu.net>
76620
76621         * config/srclist.txt (ssize_t.m4): Lose sync.
76622
76623 2006-06-15  Bruno Haible  <bruno@clisp.org>
76624
76625         * modules/stdint (Files): Include m4/full-header-path.m4,
76626         m4/size_max.m4, m4/wchar_t.m4.
76627         (Makefile.am): Many more substitutions.
76628         * modules/stdint-tests: New file.
76629         * tests/test-stdint.c: New file.
76630
76631 2006-06-15  Bruno Haible  <bruno@clisp.org>
76632
76633         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
76634         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
76635         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
76636         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
76637         gl_CHECK_TYPE_SAME): New macros.
76638
76639 2006-06-15  Bruno Haible  <bruno@clisp.org>
76640
76641         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
76642
76643 2006-06-15  Bruno Haible  <bruno@clisp.org>
76644
76645         * lib/stdint_.h: Rewritten to be fully auto-configured.
76646         Fixes bug on HP-UX/IA64.
76647
76648 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
76649
76650         * lib/getdate.y (__attribute__): Don't define if already defined.
76651         Problem reported by Larry Jones.
76652         * lib/utimens.c (__attribute__): Likewise.
76653
76654 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
76655
76656         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
76657         reported by Andreas Schwab.
76658
76659 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76660             Bruno Haible  <bruno@clisp.org>
76661
76662         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
76663         check for the declaration of strnlen and a run test that exposes the
76664         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
76665         rpl_strndup.
76666
76667 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76668             Bruno Haible  <bruno@clisp.org>
76669
76670         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
76671
76672 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76673
76674         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
76675         compile test, for Tru64 4.0D.
76676
76677 2006-05-28  Karl Berry  <karl@gnu.org>
76678
76679         * config/srclist.txt (printf-args.c): lose sync.
76680
76681 2006-05-26  Martin Lambers  <marlam@marlam.de>
76682
76683         * lib/getpass.c: Updates the test for the native W32 API, and adds
76684         missing includes, thus fixing compilation warnings.
76685
76686 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
76687
76688         * lib/exclude.c (exclude_fnmatch): New function.
76689         (excluded_file_name): Call exclude_fnmatch.
76690         * lib/exclude.h (excluded_file_name): New prototype
76691
76692 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
76693
76694         * lib/tempname.c (small_open, large_open): New macros.
76695         (__open, __open64) [!_LIBC]: Remove.
76696         (__gen_tempname): Use small_open and large_open instead of __open
76697         and __open64.  This fixes a portability bug on HP-UX 11.11i
76698         reported by Simon Wing-Tang in
76699         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
76700
76701 2006-05-24  Bruno Haible  <bruno@clisp.org>
76702
76703         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
76704         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
76705         Reported by Thorsten Maerz <torte@netztorte.de> via
76706         Aaron Stone <aaron@serendipity.cx>.
76707
76708 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
76709
76710         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
76711         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
76712         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
76713         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
76714         not really conditional on the cache.
76715         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
76716
76717 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
76718
76719         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
76720         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
76721         (my_usleep): Don't mishandle maximum value.
76722
76723 2006-05-19  Jim Meyering  <jim@meyering.net>
76724
76725         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
76726
76727 2006-05-17  Bruno Haible  <bruno@clisp.org>
76728
76729         Cygwin portability.
76730         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
76731
76732 2006-05-17  Bruno Haible  <bruno@clisp.org>
76733
76734         * lib/stdint_.h: Fix recognition of Cygwin.
76735
76736 2006-05-15  Bruno Haible  <bruno@clisp.org>
76737
76738         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
76739         on libtool patch by Ralf Wildenhues.
76740
76741 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76742
76743         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
76744         test for C99 conformance; (bool) 0.5 is an integer constant
76745         expression, but (bool) -0.5 is not.  Problem reported by Fedor
76746         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
76747
76748 2006-05-11  Simon Josefsson  <jas@extundo.com>
76749
76750         * m4/xvasprintf.m4: Fix obvious typo.
76751
76752 2006-05-11  Jim Meyering  <jim@meyering.net>
76753
76754         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
76755         James Lemley.
76756
76757 2006-05-10  Simon Josefsson  <jas@extundo.com>
76758
76759         * lib/md4.c: Typo fix, update copyright years.
76760         (K1, K2): Don't use L because it turn computations into 64-bit on
76761         64-bit platforms.
76762
76763 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
76764
76765         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
76766         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
76767         unwanted sign propagation, e.g., on hosts with 64-bit int.
76768         There still are some problems with reeelly weird theoretical hosts
76769         (e.g., 33-bit int) but it's not worth worrying about now.
76770         * lib/sha1.c (rol): Likewise.
76771         (K1, K2, K3, K4): Remove unnecessary L suffix.
76772
76773 2006-05-10  Bruno Haible  <bruno@clisp.org>
76774
76775         * lib/des.c: Cast to avoid warnings.
76776
76777 2006-05-09  Bruno Haible  <bruno@clisp.org>
76778
76779         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
76780         (Depends-on): Depend also on xsize, stdarg.
76781         (configure.ac): Add gl_XVASPRINTF.
76782
76783 2006-05-09  Bruno Haible  <bruno@clisp.org>
76784
76785         * m4/xvasprintf.m4: New file.
76786
76787 2006-05-09  Bruno Haible  <bruno@clisp.org>
76788
76789         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
76790         (EOVERFLOW): Define fallback value.
76791         (xstrcat): New function.
76792         (xvasprintf): Recognize the special case of a string concatenation.
76793
76794 2006-05-08  Eric Blake  <ebb9@byu.net>
76795
76796         * gnulib-tool (func_version): Base copyright year on CVS date.
76797         (func_emit_copyright_notice): New function.
76798         (func_emit_lib_Makefile_am): Use it.
76799         (func_emit_tests_Makefile_am): Likewise.
76800         (func_import): Likewise.
76801
76802 2006-05-08  Bruno Haible  <bruno@clisp.org>
76803
76804         * modules/stdarg: New file.
76805         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
76806
76807 2006-05-08  Bruno Haible  <bruno@clisp.org>
76808
76809         * m4/stdarg.m4: New file, from GNU gettext.
76810
76811 2006-05-08  Bruno Haible  <bruno@clisp.org>
76812
76813         * config/srclist.txt (build-aux/config.rpath): different from latest
76814         release.
76815
76816 2006-05-08  Bruno Haible  <bruno@clisp.org>
76817
76818         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
76819
76820 2006-05-05  Jim Meyering  <jim@meyering.net>
76821
76822         * m4/warning.m4: New file, derived from bison's file by the same name.
76823
76824 2006-05-03  Bruno Haible  <bruno@clisp.org>
76825
76826         * lib/stdint_.h: Shorter URL.
76827         * lib/inttypes.h: Likewise.
76828
76829 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
76830
76831         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
76832
76833 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
76834
76835         * lib/verify.h: Document the internals better.  Most of this change
76836         was written by Bruno Haible.
76837
76838 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
76839
76840         * doc/verify.texi: New file, partly based on a proposal by
76841         Bruno Haible.
76842
76843 2006-05-02  Bruno Haible  <bruno@clisp.org>
76844
76845         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
76846         test from here...
76847         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
76848
76849 2006-04-29  Bruno Haible  <bruno@clisp.org>
76850
76851         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
76852         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
76853
76854 2006-04-29  Bruno Haible  <bruno@clisp.org>
76855
76856         * gnulib-tool: Make --update option actually work.
76857
76858 2006-04-29  Bruno Haible  <bruno@clisp.org>
76859
76860         * doc/gcd.texi: New file.
76861         * doc/gnulib.texi: Include it.
76862
76863 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
76864
76865         * lib/getdate.y (get_date): When adding relative date, start with the
76866         initial time, not with the result of the first mktime call.
76867
76868 2006-04-25  Bruno Haible  <bruno@clisp.org>
76869
76870         * gnulib-tool (func_import): Output the include directives in three
76871         blocks, sorted separately.
76872         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76873
76874 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
76875
76876         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
76877         to define main with arguments, for C++.  Reported by Eric Blake.
76878         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
76879         Prefer 'int main ()' to 'int main (void)', for C++.
76880         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
76881         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
76882         for 'main', for C99 and C++.
76883
76884 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
76885
76886         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
76887         Don't assume that exit status -1 is valid.
76888         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
76889         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
76890         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
76891         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
76892         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
76893         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
76894         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
76895         functions can be used without declaring them, or that you can
76896         exit with status -1.
76897         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
76898
76899 2006-04-24  Karl Berry  <karl@gnu.org>
76900
76901         * config/srclist.txt (longdouble.m4): sync lost.
76902
76903 2006-04-24  Eric Blake  <ebb9@byu.net>
76904
76905         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
76906
76907 2006-04-24  Bruno Haible  <bruno@clisp.org>
76908
76909         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
76910         poll() implementation in AIX.
76911         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76912
76913 2006-04-24  Bruno Haible  <bruno@clisp.org>
76914
76915         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
76916         assigned exactly once.
76917
76918 2006-04-23  Claudio Fontana  <claudio@gnu.org>
76919             Bruno Haible  <bruno@clisp.org>
76920
76921         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
76922         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
76923         for AM_CPPFLAGS.
76924
76925 2006-04-23  Bruno Haible  <bruno@clisp.org>
76926
76927         * modules/copy-file: Depend on unistd.
76928         * modules/execute: Likewise.
76929         * modules/fatal-signal: Likewise.
76930         * modules/findprog: Likewise.
76931         * modules/mkdtemp : Likewise.
76932         * modules/pipe: Likewise.
76933         * modules/wait-process: Likewise.
76934
76935 2006-04-23  Bruno Haible  <bruno@clisp.org>
76936
76937         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
76938         condition was already detected.
76939         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76940
76941 2006-04-23  Bruno Haible  <bruno@clisp.org>
76942
76943         * lib/copy-file.c: Include <unistd.h> unconditionally.
76944         * lib/execute.c: Likewise.
76945         * lib/fatal-signal.c: Likewise.
76946         * lib/findprog.c: Likewise.
76947         * lib/mkdtemp.c: Likewise.
76948         * lib/pipe.h: Likewise.
76949         * lib/pipe.c: Likewise.
76950         * lib/wait-process.h: Likewise.
76951
76952 2006-04-23  Bruno Haible  <bruno@clisp.org>
76953
76954         * gnulib-tool (func_usage): Fix --import description. Document
76955         --update.
76956         (func_import): Create temporary file in a temporary directory, if
76957         --dry-run is specified. Silence errors from 'grep' when there are no
76958         m4 files in $m4dir.
76959         (func_create_testdir): Silence errors from 'grep' when there are no
76960         m4 files in $m4dir.
76961         Reported by Karl Berry <karl@freefriends.org>.
76962
76963 2006-04-20  Bruno Haible  <bruno@clisp.org>
76964
76965         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
76966         one argument, so that the code will be portable to Autoconf 2.60.
76967         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
76968         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
76969         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
76970
76971 2006-04-19  Derek Price  <derek@ximbiot.com>
76972             Eric Blake  <ebb9@byu.net>
76973
76974         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
76975         rather than "/full/path.h".  Update comment to match.  Shorten &
76976         generalize m4_translit call via AS_TR_CPP.
76977
76978 2006-04-19  Derek Price  <derek@ximbiot.com>
76979             Eric Blake  <ebb9@byu.net>
76980
76981         * lib/inttypes.h: Correct grammar in comment.
76982
76983 2006-04-18  Derek Price  <derek@ximbiot.com>
76984             Paul Eggert  <eggert@cs.ucla.edu>
76985
76986         * modules/inttypes: New file.
76987         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
76988
76989 2006-04-18  Derek Price  <derek@ximbiot.com>
76990             Paul Eggert  <eggert@cs.ucla.edu>
76991
76992         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
76993         New files.
76994
76995 2006-04-18  Derek Price  <derek@ximbiot.com>
76996             Paul Eggert  <eggert@cs.ucla.edu>
76997
76998         * lib/inttypes.h: New file.
76999         * lib/strtoimax.c: Assume <inttypes.h>.
77000
77001 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
77002
77003         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
77004         isn't mounted.  Problem reported by Kir Kolyshkin.
77005
77006 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
77007
77008         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
77009         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
77010         Derek R. Price.
77011         * lib/regex.h (RE_DUP_MAX): Update comment to match current
77012         implementation.
77013
77014 2006-04-12  Eric Blake  <ebb9@byu.net>
77015
77016         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
77017         is now done automatically by the corresponding Autoconf macro.
77018
77019 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
77020
77021         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
77022         time_r.h.
77023
77024 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
77025
77026         Merge regex changes from libc, removing some of our
77027         POSIX-conformance changes that were rejected and redoing them in a
77028         less-intrusive way.
77029
77030         * lib/regcomp.c (re_compile_internal, init_dfa):
77031         Length arg is now size_t, not Idx.  All uses changed.
77032         (peek_token): Forward decl now says internal_function.
77033         (__re_error_msgid, __re_error_msgid_idx):
77034         Now static rather than extern with attribute_hidden.
77035         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
77036         For some reason libc prefers K&R style defns for external functions.
77037         (regerror) [!defined _LIBC]: Likewise.
77038         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
77039         (seek_collating_symbol_entry, lookup_collation_sequence_value):
77040         (build_range_exp, build_collating_symbol):
77041         Use K&R-style defn.
77042         (re_compile_fastmap): Use '\0' to memset, not 0.
77043         (utf8_sb_map): Make the calculations more obvious.
77044         (init_dfa, parse_bracket_exp, build_charclass_op):
77045         Call calloc and cast result, as glibc does.
77046         (init_word_char, fetch_token, peek_token, peek_token_bracket):
77047         (build_range_exp, build_collating_symbol):
77048         Now internal functions.
77049
77050         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
77051
77052         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
77053         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
77054         Don't depend on VMS; depend on __VMS instead, for POSIX
77055         namespace cleanness.
77056         (regoff_t): Define to ssize_t, not long int.
77057
77058         Remove the REG_ macros named below.  Instead, make the old names
77059         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
77060         __USE_GNU_REGEX.
77061         (REG_BACKSLASH_ESCAPE_IN_LISTS):
77062         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
77063         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
77064         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
77065         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
77066         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
77067         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
77068         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
77069         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
77070         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
77071         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
77072         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
77073         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
77074         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
77075         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
77076         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
77077         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
77078         (REG_NREGS):
77079         Remove.  All uses replaced by the old RE_* names.
77080         (RE_BACKSLASH_ESCAPE_IN_LISTS):
77081         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
77082         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
77083         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
77084         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
77085         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
77086         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
77087         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
77088         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
77089         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
77090         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
77091         Don't bother having these macros be independent of each others'
77092         values, since they no longer exist in the POSIX name space.
77093
77094         Rename the following member names back to their old names,
77095         unless !__USE_GNU_REGEX.  All uses changed back.
77096         (buffer): Renamed from re_buffer.
77097         (allocated): Renamed from re_allocated.
77098         (used): Renamed from re_used.
77099         (syntax): Renamed from re_syntax.
77100         (fastmap): Renamed from re_fastmap.
77101         (translate): Renamed from re_translate.
77102         (can_be_null): Renamed from re_can_be_null.
77103         (regs_allocated): Renamed from re_regs_allocated.
77104         (fastmap_accurate): Renamed from re_fastmap_accurate.
77105         (no_sub): Renamed from re_no_sub.
77106         (not_bol): Renamed from re_not_bol.
77107         (not_eol): Renamed from re_not_eol.
77108         (newline_anchor): Renamed from re_newline_anchor.
77109         (num_regs): Renamed from rm_num_regs.
77110         (start): Renamed from rm_start.
77111         (end): Renamed from rm_end.
77112
77113         (free_state): Move up a bit.
77114
77115         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
77116         #define to be empty.
77117         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
77118         when that is what is intended.
77119         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
77120         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
77121         (MAX): New macro.
77122         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
77123         All uses changed back to re_malloc, etc.  It's now the caller's
77124         responsibility to check for overflow; all callers changed.
77125         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
77126         (re_x2nrealloc): Remove.
77127         (free_state): Remove decl.
77128
77129         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
77130         (re_set_registers, re_exec):
77131         Use K&R-style defn.
77132
77133         2006-01-31  Roland McGrath  <roland@redhat.com>
77134
77135         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
77136         Reported by Mike Frysinger <vapier@gentoo.org>.
77137
77138         2006-01-15  Andreas Jaeger  <aj@suse.de>
77139
77140         [BZ #1950]
77141         * lib/regex_internal.c (re_string_reconstruct): Adjust for
77142         build_wcs_upper_buffer change.
77143         (build_wcs_upper_buffer): Change return type.
77144
77145         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
77146
77147         * lib/regex_internal.h: Include <stdint.h> if available.
77148
77149         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
77150
77151         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
77152
77153         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
77154
77155         * lib/regcomp.c: Adjust for changed secondary hash function.
77156
77157         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
77158
77159         * lib/regex.h: Pretty printing.
77160         Clean up namespace a bit.
77161
77162         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
77163
77164         * lib/regexec.c (update_cur_sifted_state, check_arrival,
77165         check_arrival_add_next_nodes): Avoid using uninitialized variable.
77166
77167         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
77168                     Ulrich Drepper  <drepper@redhat.com>
77169
77170         [BZ #1302]
77171         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
77172         changed.
77173         (bitset_word_t): Renamed from bitset_word.  All uses changed.
77174
77175         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
77176
77177         [BZ #281]
77178         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
77179         * lib/regcomp.c: Remove unnecessary uses of
77180         unsigned RE_TRANSLATE_TYPE.
77181         * lib/regex_internal.h: Likewise.
77182         * lib/regex_internal.c: Likewise.
77183         * lib/regexec.c: Likewise.
77184         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
77185
77186         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
77187
77188         * lib/regexec.c (find_recover_state): Remove unnecessary
77189         initialization.
77190         (transit_state_bkref): Make DFA a const pointer.
77191         (get_subexp): Likewise.
77192         (check_arrival): Likewise.
77193         (update_cur_sifted_state): Likewise.
77194         (re_search_internal): Likewise.
77195         (prune_impossible_nodes): Likewise.
77196         (acquire_init_state_context): Likewise.
77197         (proceed_next_node): Likewise.
77198         (set_regs): Likewise.
77199         (free_fail_stack_return): Likewise.
77200         (check_arrival_expand_ecl): Mark DFA parameter as const.
77201         (check_arrival_expand_ecl_sub): Likewise.
77202         (check_subexp_limits): Likewise.
77203         (sub_epsilon_src_nodes):  Likewise.
77204         (add_epsilon_src_nodes):  Likewise.
77205         (merge_state_array): Likewise.
77206         (update_regs): Likewise.
77207         (build_trtable): Likewise.
77208         (sift_states_backward): Mark MCTX parameter as const.
77209         (build_sifted_states): Likewise.
77210         (update_cur_sifted_state): Likewise.
77211         (sift_states_mkref): Likewise.
77212         (check_arrival_expand_ecl): Mark eclosure as const.
77213         (check_dst_limits_calc_pos_1): Likewise.
77214         * lib/regex_internal.h (re_match_context_t): Make dfa a const
77215         pointer.
77216
77217         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
77218
77219         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
77220         (transit_state_sb): Likewise.
77221         (transit_state_mb): Likewise.
77222         (sift_states_iter_mb): Likewise.
77223         (check_arrival_add_next_nodes): Likewise.
77224         (check_node_accept_bytes): Change first parameter to pointer-to-const.
77225         [_LIBC] (re_search_2_stub): Use mempcpy.
77226
77227         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
77228         mbrtowc for very simple UTF-8 case.
77229
77230         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
77231         a pointer-to-const.
77232         (re_acquire_state_context): Likewise.
77233         * lib/regex_internal.h: Adjust prototypes.
77234
77235         * lib/regex.c: Prevent using C++ compilers.
77236
77237         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
77238         (re_acquire_state_context): Likewise.
77239
77240 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
77241
77242         * modules/regex (Depends-on): Add ssize_t.
77243
77244 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
77245
77246         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
77247         translation table.
77248
77249 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
77250
77251         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
77252
77253 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
77254             Bruno Haible  <bruno@clisp.org>
77255
77256         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
77257         <sys/types.h> and <inttypes.h>.
77258
77259 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77260
77261         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
77262         `__error_t_defined', so argp.h will not typedef the former.
77263
77264 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
77265
77266         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
77267         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
77268         glibc names.  Even if glibc is changed to conform to POSIX, the
77269         traditional names will be available anyway, since regex depends on
77270         the extensions module.  Also, fix a longstanding typo in the
77271         implementation of Spencer ERE test #75 from grep 2.3.  Problems
77272         reported by Emanuele Giaquinta.  Also, change sense of cached
77273         variable, so that the message makes sense.
77274
77275 2006-03-24  Simon Josefsson  <jas@extundo.com>
77276
77277         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
77278         including some doc fixes.
77279         (base64_encode_alloc): Fix +1 bug on allocation failures.
77280
77281 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77282
77283         * lib/base64.c (base64_encode): Do not read past end of array with
77284         unsanitized input on systems with CHAR_BIT > 8.
77285
77286 2006-03-24  Eric Blake  <ebb9@byu.net>
77287
77288         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
77289
77290 2006-03-22  Karl Berry  <karl@gnu.org>
77291
77292         * config/srclist.txt (*setenv.[ch]): get from coreutils.
77293         * config/srclistvars.sh (COREUTILS): new var.
77294
77295 2006-03-17  Jim Meyering  <jim@meyering.net>
77296
77297         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
77298         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
77299
77300 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
77301
77302         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
77303         no longer needs it.  Instead, check that regoff_t is as least
77304         as wide as ptrdiff_t.
77305
77306         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
77307         so that our regex.h stays compatible with the installed regex.
77308         This is helpful for installers who configure --without-included-regex.
77309         Problem reported by Emanuele Giaquinta.
77310
77311 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
77312
77313         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
77314         Typedef to long int, not to off_, as POSIX will likely change
77315         in that direction.
77316
77317 2006-03-15  Eric Blake  <ebb9@byu.net>
77318
77319         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
77320
77321 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
77322
77323         * lib/argp-help.c (validate_uparams): Fix typo
77324         * lib/argp-parse.c (argp_default_options): Consistently begin help
77325         messages with a lowercase letter.
77326
77327 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
77328
77329         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
77330         overrun buffers and shouldn't be used (much as gets shouldn't be
77331         used).
77332         * lib/time_r.c (asctime_r, ctime_r): Likewise.
77333
77334 2006-03-08  Simon Josefsson  <jas@extundo.com>
77335
77336         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
77337         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77338
77339 2006-03-08  Simon Josefsson  <jas@extundo.com>
77340
77341         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
77342         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77343
77344 2006-03-08  Simon Josefsson  <jas@extundo.com>
77345
77346         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
77347         signal that configure disabled the device.
77348
77349 2006-03-08  Simon Josefsson  <jas@extundo.com>
77350
77351         * build-aux/maint.mk: Fix refresh-po, to handle no translated
77352         languages.
77353
77354 2006-03-07  Simon Josefsson  <jas@extundo.com>
77355
77356         * modules/getopt (Depends-on): Add unistd.
77357
77358         * modules/unistd: New file.
77359
77360 2006-03-07  Simon Josefsson  <jas@extundo.com>
77361
77362         * modules/gc-random: New file.
77363
77364 2006-03-07  Simon Josefsson  <jas@extundo.com>
77365
77366         * m4/unistd_h.m4: New file.
77367
77368 2006-03-07  Simon Josefsson  <jas@extundo.com>
77369
77370         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
77371         test to be side-effect free by storing the result in the cache
77372         variable gl_cv_lib_readline, and moving the assignment of
77373         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
77374         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77375
77376 2006-03-07  Simon Josefsson  <jas@extundo.com>
77377
77378         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
77379         error on missing devices (the functions will return an error).
77380
77381         * m4/gc.m4: Move random stuff to gc-random.m4
77382
77383 2006-03-07  Simon Josefsson  <jas@extundo.com>
77384
77385         * lib/unistd_.h: New file.
77386
77387 2006-03-07  Simon Josefsson  <jas@extundo.com>
77388
77389         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
77390
77391 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
77392
77393         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
77394         Problem reported by Juan Manuel Guerrero.
77395
77396 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
77397
77398         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
77399         the unistd module.
77400         * lib/getlogin_r.c: Likewise.
77401         * lib/getlogin_r.h: Likewise.
77402         * lib/glob.c: Likewise.
77403         * lib/pagealign_alloc.c: Likewise.
77404         * lib/unistd_.h: Remove; no longer needed.
77405
77406 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
77407
77408         * MODULES.html.sh (Support for systems lacking POSIX:2001):
77409         Add unistd.
77410         * modules/c-stack (Depends-on): Add unistd.
77411         * modules/getlogin_r: Likewise.
77412         * modules/glob: Likewise.
77413         * modules/pagealign_alloc: Likewise.
77414         * modules/unistd (Files): Remove lib/unistd_.h.
77415         (EXTRA_DIST): Remove.
77416         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
77417         need unistd_.h.
77418         (MOSTLYCLEANFILES): Remove unistd.h-t.
77419
77420 2006-03-03  Simon Josefsson  <jas@extundo.com>
77421
77422         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
77423
77424 2006-03-03  Simon Josefsson  <jas@extundo.com>
77425
77426         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
77427         libidn and bison.
77428
77429 2006-03-03  Simon Josefsson  <jas@extundo.com>
77430
77431         * build-aux/maint.mk: Add indent target.
77432
77433 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
77434
77435         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
77436         our replacement poll.h in any case, to avoid a differing
77437         declaration from a system header.  Seen on AIX.
77438
77439 2006-03-01  Simon Josefsson  <jas@extundo.com>
77440
77441         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
77442         <kasal@ucw.cz>.
77443
77444 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77445
77446         * modules/gettime (Depends-on): Add extensions module.
77447         * modules/nanosleep (Depends-on): Likewise.
77448         * modules/settime (Depends-on): Likewise.
77449
77450 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77451
77452         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
77453         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
77454         pedantically.
77455         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
77456         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
77457
77458         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
77459         not "==".  Reported by Ralf Wildenhues.
77460
77461 2006-03-01  Karl Berry  <karl@gnu.org>
77462
77463         * doc/Copyright/request-*: new files, synced from gnuorg.
77464
77465 2006-03-01  Karl Berry  <karl@gnu.org>
77466
77467         * config/srclist.txt (Copyright/*): new entries.
77468
77469 2006-02-28  Simon Josefsson  <jas@extundo.com>
77470
77471         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
77472
77473 2006-02-27  Simon Josefsson  <jas@extundo.com>
77474
77475         * lib/base64.h: Indent #define's.  From Jim Meyering
77476         <jim@meyering.net>.
77477
77478 2006-02-27  Jim Meyering  <jim@meyering.net>
77479
77480         Revert the change of 2006-02-24, so these files can continue
77481         to be sync'd from gettext.
77482         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
77483         of `config.h'.
77484
77485 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
77486
77487         * modules/intprops: New file.
77488         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
77489         Add intprops.
77490         * modules/getloadavg (Files): Remove lib/intprops.h.
77491         (Depends-on): Add intprops.
77492         * modules/human: Likewise.
77493         * modules/inttostr: Likewise.
77494         * modules/openat: Likewise.
77495         * modules/sig2str: Likewise.
77496         * modules/userspec: Likewise.
77497         * modules/utimecmp: Likewise.
77498         * modules/xnanosleep: Likewise.
77499         * modules/xstrtol: Likewise.
77500
77501 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
77502
77503         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
77504         * modules/lock-tests (TESTS): Use $(EXEEXT).
77505         * modules/tls-tests: Likewise.
77506         * modules/argp-tests: Likewise.
77507         (check_PROGRAMS): New var, replacing...
77508         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
77509
77510 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77511
77512         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
77513         `config.h'.
77514
77515 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
77516
77517         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
77518
77519 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77520
77521         Sync from coreutils.
77522         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
77523         gl_CHDIR_SAFER.
77524
77525 2006-02-22  Jim Meyering  <jim@meyering.net>
77526
77527         Sync from coreutils.
77528         * m4/chdir-safer.m4: New file.
77529
77530 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
77531
77532         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
77533         AT_FDCWD exceeds INT_MAX.
77534         * lib/openat.h (AT_FDCWD): Likewise.
77535
77536 2006-02-17  Eric Blake  <address@hidden>
77537
77538         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
77539
77540 2006-02-16  Simon Josefsson  <jas@extundo.com>
77541
77542         * modules/getaddrinfo (Depends-on): Add sys_socket.
77543
77544 2006-02-15  Simon Josefsson  <jas@extundo.com>
77545
77546         * build-aux/maint.mk: Add dsyntax-check rule.
77547
77548 2006-02-15  Eric Blake  <ebb9@byu.net>
77549
77550         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
77551         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
77552         'present but cannot compile' warnings on cygwin.
77553         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
77554         use ws2tcpip.h if sys/socket.h works.
77555         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
77556         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
77557
77558 2006-02-14  Simon Josefsson  <jas@extundo.com>
77559
77560         * modules/maintainer-makefile (Files): Rename.
77561
77562         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
77563         and (the local) Makefile.cfg to maint-cfg.mk.
77564
77565         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
77566         to the latter.
77567
77568         * modules/maintainer-makefile: New module.
77569
77570         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
77571         severaly stripped to make it possible to build it up from scratch
77572         with reliable tests.
77573
77574         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
77575         fixes to permit overriding the default actions when configure and
77576         makefile are not available.
77577
77578 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
77579
77580         Sync from coreutils.
77581         * modules/lstat (Depends-on): Don't depend on xalloc.
77582         (License): Change from GPL to LGPL, since this is now simply a
77583         replacement for a libc function.
77584
77585 2006-02-14  Jim Meyering  <jim@meyering.net>
77586
77587         Sync from coreutils.
77588
77589         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
77590         failure on deficient systems, and simplify gnulib lgpl dependencies.
77591         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
77592         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
77593
77594         * lib/xalloc-die.c: Remove unused definition of N_.
77595
77596 2006-02-14  Jim Meyering  <jim@meyering.net>
77597
77598         Sync from coreutils.
77599         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
77600         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
77601         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
77602         double-quote uses of that variable, to accommodate the rare case in
77603         which getmntent is available in none of the libraries checked.  This
77604         happens at least on FreeBSD 5.0.
77605
77606 2006-02-13  Simon Josefsson  <jas@extundo.com>
77607
77608         * gnulib-tool (Usage): Fix --import, from
77609         karl@freefriends.org (Karl Berry).
77610
77611 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
77612
77613         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
77614
77615 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
77616
77617         * lib/argp-namefrob.h: Restore changes accidentally lost during the
77618         "autoupdate" on 2005-12-12.
77619
77620 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
77621
77622         * modules/closeout (Depends-on): Remove atexit.
77623
77624 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
77625
77626         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
77627         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
77628
77629 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
77630
77631         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
77632         __EXTENSIONS__ if this causes compilation to fail.  Problem
77633         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
77634         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
77635
77636 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
77637
77638         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
77639         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
77640         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
77641         All uses changed.
77642
77643 2006-01-26  Simon Josefsson  <jas@extundo.com>
77644
77645         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
77646         prototype is visible on mingw32.
77647
77648         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
77649         for mingw32.
77650
77651         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
77652         mingw32).
77653
77654 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
77655
77656         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
77657         attempt to open for write; this always fails, at least on POSIX
77658         hosts.  This reinstates the 2006-01-09 change, which was
77659         inadvertently removed.
77660
77661 2006-01-26  Bruno Haible  <bruno@clisp.org>
77662
77663         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
77664         Reported by Paul Eggert.
77665
77666 2006-01-26  Bruno Haible  <bruno@clisp.org>
77667             Paul Eggert  <eggert@cs.ucla.edu>
77668
77669         * lib/stdbool_.h (_Bool)
77670         [(! (defined __cplusplus || defined __BEOS__)
77671           && !defined __GNUC__
77672           && !(defined __HP_cc || defined __xlc__
77673                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
77674                || defined __sgi))]:
77675         #define to signed char in these cases too; this simplifies
77676         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
77677         etc., separately) and makes it more conservative.
77678
77679 2006-01-25  Simon Josefsson  <jas@extundo.com>
77680
77681         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
77682         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
77683         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
77684
77685 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
77686
77687         * lib/argp-namefrob.h: Bugfix. Remove stray #
77688
77689 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
77690
77691         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
77692         so that we test the test.
77693         Check for yet another HP-UX cc bug involving *bool |= bool.
77694
77695 2006-01-25  Karl Berry  <karl@gnu.org>
77696
77697         * config/srclist.txt (vasnprintf.c): sync lost.
77698
77699 2006-01-25  Jim Meyering  <jim@meyering.net>
77700
77701         Sync from the stable (b5) branch of coreutils:
77702
77703         * lib/fts.c (fts_children): Don't let close() clobber errno from
77704         failed fchdir().
77705
77706         * lib/fts.c (fts_stat): When following a symlink-to-directory,
77707         don't necessarily interpret stat-fails+lstat-succeeds as indicating
77708         a dangling symlink.  That can also happen at least for ELOOP.
77709         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
77710         FYI, this bug predates the inclusion of fts.c in coreutils.
77711
77712         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
77713         in their own block, so pre-c99 compilers don't object.
77714
77715         Avoid the double-free (first in fts_read, second in fts_close) that
77716         would occur when an `active' directory is made inaccessible (e.g.,
77717         via chmod a-x) during a traversal.
77718         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
77719         before returning.  Reproduce this failure by
77720         mkdir -p a/b; cd a; chmod a-x . b
77721         Reported by Stavros Passas.
77722
77723 2006-01-25  Jim Meyering  <jim@meyering.net>
77724
77725         * lib/fileblocks.c: Remove more useless parentheses.
77726         * lib/readutmp.h: Likewise.
77727
77728 2006-01-25  Bruno Haible  <bruno@clisp.org>
77729
77730         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
77731         warnings.
77732         Reported by Paul Eggert.
77733
77734 2006-01-25  Bruno Haible  <bruno@clisp.org>
77735
77736         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
77737         rid of a trap command. For Solaris sh.
77738         Reported by Mark D. Baushke <mdb@gnu.org>.
77739
77740 2006-01-24  Simon Josefsson  <jas@extundo.com>
77741
77742         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
77743         Bruno.
77744
77745 2006-01-24  Karl Berry  <karl@gnu.org>
77746
77747         * config/srclist.txt (argp-namefrob.h): sync lost.
77748
77749 2006-01-24  Jim Meyering  <jim@meyering.net>
77750
77751         * modules/openat (Files): Add lib/intprops.h.
77752         From Mark D. Baushke.
77753
77754 2006-01-24  Jim Meyering  <jim@meyering.net>
77755
77756         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
77757         Reported by Mark D. Baushke.
77758
77759 2006-01-24  Jim Meyering  <jim@meyering.net>
77760
77761         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
77762
77763 2006-01-24  Bruno Haible  <bruno@clisp.org>
77764
77765         * modules/strnlen (Maintainer): Change from glibc to all.
77766
77767 2006-01-24  Bruno Haible  <bruno@clisp.org>
77768
77769         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
77770         Patch by Paul Eggert.
77771
77772 2006-01-24  Bruno Haible  <bruno@clisp.org>
77773
77774         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
77775         already has it.
77776         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
77777         2005-11-26.
77778
77779         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
77780         'signed char' to avoid problems with the built-in _Bool type.
77781         Reported by Paul Eggert on 2005-11-26.
77782
77783 2006-01-24  Bruno Haible  <bruno@clisp.org>
77784
77785         * gnulib-tool (func_import): Avoid constructing complicated sed
77786         expressions inside backquote.
77787         Report and solution by Mark D. Baushke <mdb@gnu.org>.
77788
77789 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
77790
77791         These changes imported from libc.
77792         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
77793         test and two separate function calls.
77794         * lib/strndup.c (__strndup): Add libc_hidden_def.
77795
77796 2006-01-23  Simon Josefsson  <jas@extundo.com>
77797
77798         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
77799         Remove the test_*_SOURCES variable: automake infers it by default.
77800         * modules/tls-tests: Likewise.
77801
77802 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77803
77804         Work around porting bugs reported by Dieter in
77805         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
77806         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
77807         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
77808         Include "getopt.h" first, to check interface.
77809         (getenv): Declare only if defined HAVE_DECL_GETENV &&
77810         !HAVE_DECL_GETENV.
77811         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
77812         (__strndup): Revert to K&R-style function dfns, the glibc style.
77813         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
77814         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
77815         Include strnlen.h first, to get prototype properly.
77816         (strnlen): Renamed from __strnlen.
77817         Remove weak alias.
77818
77819 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77820
77821         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
77822
77823 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77824
77825         * config/srclist.txt: Adjust to reflect glibc reorganization.
77826         This affects only comments.
77827
77828 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
77829
77830          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
77831          Reported by Bruce Korb <bkorb@gnu.org>.
77832
77833 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
77834
77835         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
77836         to pacify gcc -Wswitch-default.
77837
77838 2006-01-22  Bruno Haible  <bruno@clisp.org>
77839
77840         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
77841         temporary buffer for sprintf, take into account the precision also
77842         for 'd', 'i', 'u', 'o', 'x', 'X'.
77843
77844 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
77845
77846         * modules/argp-tests: New module
77847         * tests/test-argp.c: New file
77848         * tests/test-argp-2.sh: New file
77849
77850 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
77851
77852         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
77853         (__argp_base_name): Removed
77854         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
77855         typo.
77856         (__argp_base_name): Provide macro definition or extern declaration
77857         depending on the configuration
77858
77859 2006-01-20  Simon Josefsson  <jas@extundo.com>
77860
77861         * modules/inet_ntop (Depends-on): Depend on sys_socket.
77862
77863 2006-01-20  Simon Josefsson  <jas@extundo.com>
77864
77865         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
77866
77867 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77868
77869         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
77870         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
77871         Suggested by Bruno Haible.
77872
77873 2006-01-20  Karl Berry  <karl@gnu.org>
77874
77875         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
77876         until changes propagate, I guess.
77877
77878 2006-01-19  Simon Josefsson  <jas@extundo.com>
77879
77880         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
77881
77882 2006-01-19  Simon Josefsson  <jas@extundo.com>
77883
77884         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
77885
77886 2006-01-19  Simon Josefsson  <jas@extundo.com>
77887
77888         * gnulib-tool: Set check_PROGRAMS.
77889
77890         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
77891         modules/des-tests, modules/gc-arcfour-tests,
77892         modules/gc-arctwo-tests, modules/gc-des-tests,
77893         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
77894         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
77895         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
77896         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
77897         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
77898         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
77899         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
77900         test_*_SOURCES.
77901
77902 2006-01-18  Simon Josefsson  <jas@extundo.com>
77903
77904         * modules/socklen (Depends-on): Depend on sys_socket.
77905
77906 2006-01-18  Simon Josefsson  <jas@extundo.com>
77907
77908         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
77909         modules/des-tests, modules/gc-arcfour-tests,
77910         modules/gc-arctwo-tests, modules/gc-des-tests,
77911         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
77912         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
77913         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
77914         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
77915         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
77916         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
77917         $(EXEEXT) to automake TESTS variable, for mingw32.
77918
77919 2006-01-17  Simon Josefsson  <jas@extundo.com>
77920
77921         * modules/socklen (Include): Need sys/socket.h.
77922
77923 2006-01-17  Bruno Haible  <bruno@clisp.org>
77924
77925         * modules/ssize_t (Include): Add <sys/types.h>.
77926
77927 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
77928
77929         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
77930         it's not portable and it doesn't work with cross-compiles.
77931         Problem reported by Bruno Haible.  Fix missing-$ typo in
77932         'test "gl_cv_ignore_unused_libraries" ...' that prevented
77933         -zignore from being used with Sun's C compiler.
77934
77935 2006-01-12  Simon Josefsson  <jas@extundo.com>
77936
77937         * lib/base64.c: Fix warning, reported by Bruno Haible
77938         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
77939
77940 2006-01-12  Bruno Haible  <bruno@clisp.org>
77941
77942         * modules/ldd: New file.
77943         * build-aux/ldd.sh.in: New file.
77944         * MODULES.html.sh (Support for building libraries and executables): Add
77945         ldd.
77946
77947 2006-01-12  Bruno Haible  <bruno@clisp.org>
77948
77949         * m4/ldd.m4: New file.
77950
77951 2006-01-12  Bruno Haible  <bruno@clisp.org>
77952
77953         * gnulib-tool (func_import, func_create_testdir): Don't go into an
77954         endless loop while replacing $auxdir with build-aux.
77955
77956 2006-01-11  Simon Josefsson  <jas@extundo.com>
77957
77958         * lib/stdint_.h (SIZE_MAX): Add missing (.
77959
77960 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
77961
77962         Sync from coreutils.
77963         * lib/md5.c: Fix commentary typos.
77964         (alignof, UNALIGNED_P): No need for a GCC-specific version.
77965         * lib/md5.h (__attribute__): Remove; unused.
77966         * lib/sha1.c: Fix commentary to match md5 better.
77967         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
77968         so that we don't need to worry about alignment.  All uses changed.
77969         This merges the 2005-10-28 md5 change into sha1.
77970
77971 2006-01-11  Jim Meyering  <jim@meyering.net>
77972
77973         Sync from coreutils.
77974         * lib/md5.c (OP): Fix spacing.
77975
77976 2006-01-11  Bruno Haible  <bruno@clisp.org>
77977
77978         Ensure automatic ordering between gl_LOCK and gl_ARGP.
77979         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
77980         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
77981
77982 2006-01-11  Bruno Haible  <bruno@clisp.org>
77983
77984         Ensure automatic ordering between gl_LOCK and gl_ARGP.
77985         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
77986         the "early" section as well.
77987
77988 2006-01-11  Bruno Haible  <bruno@clisp.org>
77989
77990         Avoid "ar: no archive members specified" error on MacOS X.
77991         * gnulib-tool (func_modules_add_dummy): New function.
77992         (func_import, func_create_testdir): Invoke it.
77993
77994 2006-01-11  Bruno Haible  <bruno@clisp.org>
77995
77996         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
77997         with $auxdir in AC_CONFIG_FILES statements.
77998
77999 2006-01-11  Bruno Haible  <bruno@clisp.org>
78000
78001         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
78002         Initialize also noinst_HEADERS to empty.
78003
78004 2006-01-11  Bruno Haible  <bruno@clisp.org>
78005
78006         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
78007         variables.
78008         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
78009         autoreconf.
78010
78011 2006-01-11  Bruno Haible  <bruno@clisp.org>
78012
78013         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
78014         overridable by the user.
78015         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78016
78017 2006-01-10  Simon Josefsson  <jas@extundo.com>
78018
78019         * modules/sys_socket: New file.
78020
78021 2006-01-10  Simon Josefsson  <jas@extundo.com>
78022
78023         * m4/sys_socket_h.m4: New file.
78024
78025 2006-01-10  Simon Josefsson  <jas@extundo.com>
78026
78027         * lib/socket_.h: New file.
78028
78029 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
78030
78031         * modules/readutmp (Maintainer): Add myself.
78032
78033 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
78034
78035         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
78036         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
78037         People who are still concerned with buggy memcmp implementations
78038         can invoke gl_FUNC_MEMCMP themselves.
78039
78040 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
78041
78042         * lib/regex_internal.h (BITSET_WORD_BITS):
78043         Work around a bug in 64-bit PGC (before version 6.1-2), where the
78044         preprocessor mishandles large unsigned values as if they were signed.
78045         Problem reported by Claudio Fontana in
78046         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
78047
78048 2006-01-10  Jim Meyering  <jim@meyering.net>
78049
78050         Avoid the double-free (first in fts_read, second in fts_close) that
78051         would occur when an `active' directory is made inaccessible (e.g.,
78052         via chmod a-x) during a traversal.
78053         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
78054         before returning.  Reproduce this failure by
78055         mkdir -p a/b; cd a; chmod a-x . b
78056         Reported by Stavros Passas.
78057
78058         Sync from coreutils.
78059         * lib/sha1.c: Tweak grammar in a comment.
78060
78061 2006-01-10  Jim Meyering  <jim@meyering.net>
78062
78063         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
78064         Patch by Joerg Sonnenberger.
78065
78066 2006-01-10  Bruno Haible  <bruno@clisp.org>
78067
78068         * modules/readutmp: Depend on module free.
78069         * modules/strtok_r: Depend on module restrict.
78070
78071 2006-01-10  Bruno Haible  <bruno@clisp.org>
78072
78073         * modules/gettext (configure.ac): Add an invocation of
78074         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
78075
78076 2006-01-10  Bruno Haible  <bruno@clisp.org>
78077
78078         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
78079         Reported by Werner Lemberg <wl@gnu.org>.
78080
78081 2006-01-10  Bruno Haible  <bruno@clisp.org>
78082
78083         * lib/localcharset.c: Update from GNU gettext.
78084
78085 2006-01-10  Bruno Haible  <bruno@clisp.org>
78086
78087         * lib/argp.h (__const): Remove macro. Use const instead.
78088         * lib/argp-fmtstream.h (__const): Likewise.
78089         * lib/glob_.h (__const): Remove macro.
78090         * lib/glob-libc.h: Use const instead of __const.
78091
78092 2006-01-10  Bruno Haible  <bruno@clisp.org>
78093
78094         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
78095         variable.
78096         Needed to avoid an automake error regarding the 'gettext' module.
78097
78098 2006-01-09  Simon Josefsson  <jas@extundo.com>
78099
78100         * modules/inet_ntop (Depends-on): Add restrict.
78101
78102 2006-01-09  Simon Josefsson  <jas@extundo.com>
78103
78104         * modules/gc-rijndael-tests (License): Put under LGPL.
78105
78106         * modules/gc-des-tests (License): Likewise.
78107
78108         * modules/gc-arcfour-tests (License): Likewise.
78109
78110         * modules/gc-arctwo-tests (License): Likewise.
78111
78112         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
78113
78114         * modules/gc-hmac-sha1-tests (Files): Likewise.
78115
78116         * modules/gc-hmac-md5-tests (License): Likewise.
78117
78118         * modules/gc-sha1-tests (License): Likewise.
78119
78120         * modules/gc-md5-tests (License): Likewise.
78121
78122         * modules/gc-md4-tests (License): Likewise.
78123
78124         * modules/gc-md2-tests (License): Likewise.
78125
78126         * modules/gc-tests (License): Likewise.
78127
78128         * modules/des-tests (License): Likewise.
78129
78130         * modules/md4-tests (License): Likewise.
78131
78132         * modules/md2-tests (License): Likewise.
78133
78134 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
78135
78136         Sync from coreutils:
78137
78138         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
78139         * modules/lib-ignore: New file.
78140         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
78141         chdir-safer.m4, lchmod.m4.
78142         * modules/openat: Add mkdirat.c, openat-priv.h.
78143
78144 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
78145
78146         Sync from coreutils.
78147         * m4/lib-ignore.m4: New file.
78148         * m4/lchmod.m4: New file.
78149
78150 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
78151
78152         Sync from coreutils.
78153         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
78154         for write access: POSIX says that must fail.
78155         * lib/fts.c (diropen): Likewise.
78156         * lib/save-cwd.c (save_cwd): Likewise.
78157         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
78158         well, for minor improvements on hosts that lack O_DIRECTORY.
78159         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
78160         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
78161         Fall back on chown if open failed with EACCES.
78162
78163         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
78164         Report an error at compile-time if only a 1-second nominal clock
78165         resolution is found.
78166
78167         * lib/lchmod.h: New file.
78168         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
78169         (make_dir_parents): Use lchown rather than chown, and
78170         lchmod rather than chmod.
78171
78172         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
78173         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
78174         "proc" reported by n0dalus.
78175
78176         * lib/mountlist.c: Include <limits.h>.
78177         (dev_from_mount_options)
78178         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
78179         New function.  It no longer assumes "dev=" has the System V meaning
78180         on Linux (since it doesn't).  It also parses "dev=" more carefully.
78181         (read_file_system_list)
78182         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
78183         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
78184         dev= in that case.
78185
78186         * lib/posixtm.h (PDS_PRE_2000): New macro.
78187         * lib/posixtm.c (year): Arg is now syntax_bits rather than
78188         allow_century.  All usages changed.  Reject dates outside the range
78189         1969-1999 if PDS_PRE_2000 is used.
78190
78191 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
78192
78193         Sync from coreutils.
78194         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
78195         (Time of day items): Mention the possibility of leap seconds.
78196         Problem reported by Dr. David Alan Gilbert.
78197
78198 2006-01-09  Jim Meyering  <jim@meyering.net>
78199
78200         Sync from coreutils.
78201
78202         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
78203
78204         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
78205
78206         * lib/modechange.c (mode_compile): Reject an invalid mode string
78207         that starts with an octal digit.  From Andreas Gruenbacher.
78208
78209         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
78210         and dup to open_safer and dup_safer, respectively.
78211         (openat_permissive): Fix typo in comment.
78212
78213         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
78214         "gettext.h"; either no longer needed or are guaranteed by openat.h.
78215         (_): Remove; no longer needed.
78216         (openat): Renamed from rpl_openat; no need for rpl_openat
78217         since openat.h renames openat for us.
78218         Replace most of the body with a call to openat_permissive,
78219         to avoid duplicate code.
78220         Port to (probably hypothetical) environments were mode_t is
78221         wider than int.
78222         (openat_permissive): Require mode arg, so that we can check
78223         types better.  Put it just after flags.  Change cwd failure
78224         indicator from pointer-to-bool to pointer-to-errno-value.
78225         All callers changed.
78226         Invoke openat_save_fail and/or openat_restore_fail if
78227         cwd_errno is null, so that openat can call us.
78228         (openat_permissive, fdopendir, fstatat, unlinkat):
78229         Simplify errno handling to avoid some duplicate code,
78230         as it's OK to set errno on success.
78231         * lib/openat.h: Revamp code so that function macros depend on
78232         __OPENAT_PREFIX only, not also on AT_FDCWD.
78233         (openat_ro): Remove.  Caller changed to use openat_permissive.
78234         (openat_permissive): Now a macro, if not a function.
78235         (openat_restore_fail, openat_save_fail): Now always functions,
78236         since mkdirat needs them even if __OPENAT_PREFIX is defined.
78237
78238         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
78239         and openat.c.
78240         * lib/mkdirat.c: Include openat-priv.h.
78241         Remove definitions of macros defined therein.
78242         * lib/openat.c: Likewise.
78243
78244         * lib/mkdirat.c (mkdirat): New file and function.
78245         * lib/openat.h (mkdirat): Declare.
78246
78247         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
78248
78249         * lib/openat.h (openat_permissive): Declare.
78250         (openat_ro): Define.
78251
78252         * lib/openat.c (EXPECTED_ERRNO): New macro.
78253         (openat_permissive): New function -- used in remove.c rewrite.
78254         (all functions): Set errno just before returning, only if there
78255         was an actual failure.
78256         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
78257
78258         Emulate openat-family functions using Linux's procfs, if possible.
78259         Idea and some code based on Ulrich Drepper's glibc changes.
78260
78261         * lib/openat.c: (BUILD_PROC_NAME): New macro.
78262         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
78263         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
78264         before falling back on save_cwd and restore_cwd.
78265         (fdopendir, fstatat, unlinkat): Likewise.
78266
78267         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
78268         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
78269
78270         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
78271         as second argument to va_arg.  Otherwise, some versions of gcc
78272         warn that `if this code is reached, the program will abort'.
78273
78274 2006-01-09  Jim Meyering  <jim@meyering.net>
78275
78276         Sync from coreutils.
78277         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
78278         Require openat-priv.h.
78279
78280 2006-01-09  Bruno Haible  <bruno@clisp.org>
78281
78282         * modules/strnlen (Include): Use strnlen.h.
78283
78284 2006-01-09  Bruno Haible  <bruno@clisp.org>
78285
78286         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
78287
78288 2006-01-09  Bruno Haible  <bruno@clisp.org>
78289
78290         * lib/sysexit_.h (EX_OK): New macro.
78291         Suggested by Martin Lambers <marlam@marlam.de>.
78292
78293 2006-01-09  Bruno Haible  <bruno@clisp.org>
78294
78295         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
78296         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
78297
78298 2006-01-09  Bruno Haible  <bruno@clisp.org>
78299
78300         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
78301         numbers.
78302
78303 2006-01-09  Bruno Haible  <bruno@clisp.org>
78304
78305         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
78306         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
78307         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
78308         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
78309
78310 2006-01-09  Bruno Haible  <bruno@clisp.org>
78311
78312         * build-aux/javacomp.sh.in: New file, moved from lib/.
78313         * modules/javacomp-script (Files): Update.
78314         (configure.ac): Add AC_CONFIG_FILES invocation.
78315         (EXTRA_DIST): Remove variable.
78316
78317         * build-aux/javaexec.sh.in: New file, moved from lib/.
78318         * modules/javaexec (Files): Update.
78319         (configure.ac): Add AC_CONFIG_FILES invocation.
78320         (EXTRA_DIST): Remove javaexec.sh.in.
78321
78322         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
78323         * modules/csharpcomp-script (Files): Update.
78324         (configure.ac): Add AC_CONFIG_FILES invocation.
78325         (EXTRA_DIST): Remove variable.
78326
78327         * build-aux/csharpexec.sh.in: New file, moved from lib/.
78328         * modules/csharpexec (Files): Update.
78329         (configure.ac): Add AC_CONFIG_FILES invocation.
78330         (EXTRA_DIST): Remove csharpexec.sh.in.
78331
78332 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
78333
78334         Sync from coreutils.
78335
78336         Add POSIX ACL support
78337         * lib/acl.h (copy_acl, set_acl): Add declarations.
78338         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
78339         systems other than Linux.
78340         (chmod_or_fchmod): New function: use fchmod when possible,
78341         and chmod otherwise.
78342         (file_has_acl): Add a POSIX ACL implementation, with a
78343         Linux-specific subcase.
78344         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
78345         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
78346         acls are unsupported.
78347         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
78348         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
78349         are unsupported.
78350
78351 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
78352
78353         Sync from coreutils.
78354         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
78355
78356 2006-01-07  Bruno Haible  <bruno@clisp.org>
78357
78358         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
78359         gl_EARLY.
78360
78361 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
78362
78363         * lib/strftime.c (tzname): Don't declare if it is already #defined.
78364         Problem reported for Mingw by Mark Junker.
78365
78366 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
78367
78368         * README: Gnulib normally doesn't generate a tarball.
78369
78370 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
78371
78372         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
78373         long int, not int, for nanosecond counts, so that people who are
78374         used to POSIX struct timespec won't be surprised.  Reported by Jim
78375         Meyering.
78376
78377 2005-12-28  Bruno Haible  <bruno@clisp.org>
78378
78379         * build-aux/config.rpath: Update from GNU gettext.
78380
78381 2005-12-16  Jim Meyering  <jim@meyering.net>
78382
78383         * modules/fprintftime: New module.
78384         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
78385
78386 2005-12-16  Jim Meyering  <jim@meyering.net>
78387
78388         * m4/fprintftime.m4: New file.
78389
78390 2005-12-16  Jim Meyering  <jim@meyering.net>
78391
78392         * lib/fprintftime.c, lib/fprintftime.h: New files.
78393
78394 2005-12-15  Simon Josefsson  <jas@extundo.com>
78395
78396         * modules/socklen (configure.ac): Fix M4 macro name, to align with
78397         new m4/socklen.m4.
78398
78399 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
78400
78401         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
78402         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
78403
78404 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
78405
78406         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
78407         * lib/argp-help.c (fill_in_uparams): Check if the constructed
78408         struct uparams is valid. Fall back to the default values if it is
78409         not.
78410
78411 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78412
78413         * modules/argp (Files): Add argp-pin.c
78414         (Depends-on): dirname
78415         (lib_SOURCES): Add argp-pin.c
78416
78417 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78418
78419         * m4/argp.m4:  Check if program_invocation_name and
78420         program_invocation_short_name are declared and define appropriate
78421         macros if they are not.
78422
78423 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78424
78425         * lib/argp-help.c (__argp_base_name): New function
78426         (__argp_short_program_name): Rewrite using __argp_base_name
78427         * lib/argp-namefrob.h: Define program_invocation_name and
78428         program_invocation_short_name if requested
78429         (__argp_base_name): Add prototype
78430         * lib/argp-parse.c (argp_def): Use gettext wrappers
78431         (argp_default_parser): Use __argp_base_name
78432         * lib/argp-pin.c: New file. Defines program_invocation_name and
78433         program_invocation_short_name on systems that lack them.
78434
78435 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
78436
78437         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
78438         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
78439         porting problem reported by Georg Schwarz in
78440         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
78441
78442 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
78443
78444         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
78445         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
78446         porting problem reported by Georg Schwarz in
78447         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
78448
78449 2005-12-05  Bruno Haible  <bruno@clisp.org>
78450
78451         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
78452         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
78453         Reported by Mark Junker <mjscod@gmx.de>.
78454
78455 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
78456
78457         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
78458         Use implementation from Albert Chin, with some
78459         comments/corrections by Stepan Kasal and myself.
78460
78461 2005-12-02  Bruno Haible  <bruno@clisp.org>
78462
78463         * gnulib-tool (func_import): Accept GPLed build tool modules when
78464         --lgpl is given.
78465         * modules/csharpcomp-script: New file.
78466         * modules/csharpcomp: Depend on it.
78467         * modules/javacomp-script: New file.
78468         * modules/javacomp: Depend on it.
78469         Suggested by Simon Josefsson.
78470
78471 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
78472
78473         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
78474         statement, to work around an HP-UX 10.20 compiler bug reported by
78475         Peter O'Gorman.
78476
78477 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
78478
78479         * modules/savedir (Depends-on): Add openat.
78480
78481 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
78482
78483         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
78484         (uintmax_t) [defined uintmax_t]: Do not declare.
78485         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
78486         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
78487         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
78488         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
78489         sake of portability to weird hosts that C allows (though we don't
78490         know of any practical examples).
78491
78492         * lib/savedir.h (fdsavedir): New decl.
78493         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
78494         contains most of the former guts of savedir.
78495         (savedir): Use savedirstream.
78496         Include "openat.h".
78497
78498 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
78499
78500         * modules/obstack (Files): Add m4/ulonglong.m4.
78501         Problem reported by Davide Angelocola.
78502
78503 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
78504
78505         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
78506         coreutils no longer futzes with rounding modes.
78507
78508 2005-11-14  Jim Meyering  <jim@meyering.net>
78509
78510         * lib/mkstemp-safer.c: Include <config.h>, required for possible
78511         replacement of mkstemp.
78512
78513 2005-11-10  Simon Josefsson  <jas@extundo.com>
78514
78515         * lib/readline.c: Remove EOL.
78516
78517 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78518
78519         * modules/gethrxtime (Depends-on): Add gettime.
78520
78521 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78522
78523         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
78524         or gettimeofday; no longer needed.
78525
78526 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78527
78528         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
78529         time business.
78530         (gethrxtime) [! (HAVE_NANOUPTIME
78531         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
78532         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
78533         our own approximation.
78534
78535 2005-11-08  Eric Blake  <ebb9@byu.net>
78536
78537         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
78538
78539 2005-11-08  Eric Blake  <ebb9@byu.net>
78540
78541         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
78542
78543 2005-11-04  Bruno Haible  <bruno@clisp.org>
78544
78545         * gnulib-tool: Implement --update mode.
78546
78547 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
78548
78549         Fix porting problem reported by Theodoros V. Kalamatianos.
78550         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
78551         Don't assume that futimes failing means we must fail.
78552
78553 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
78554
78555         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
78556         variables to suggest the intended function of the PATH_MAX check.
78557
78558 2005-10-30  Kean Johnston  <jkj@sco.com>
78559
78560         Trivial changes to support SCO systems.
78561         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
78562         as PATH_MAX.
78563         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
78564         where __ptr is null when no I/O is pending.
78565
78566 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78567
78568         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
78569         leave errno alone.  Problem reported by Dmitry V. Levin.
78570
78571 2005-10-28  Simon Josefsson  <jas@extundo.com>
78572
78573         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
78574         Test more.
78575
78576         * tests/test-gc-md2.c, tests/test-md2.c: New files.
78577
78578         * modules/md2, modules/md2-tests: New files.
78579
78580 2005-10-28  Simon Josefsson  <jas@extundo.com>
78581
78582         * m4/inet_ntop.m4: More tests.
78583
78584         * m4/gc-md2.m4, md2.m4: New file.
78585
78586 2005-10-28  Simon Josefsson  <jas@extundo.com>
78587
78588         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
78589         "restrict" keywords, as per POSIX.  Protect the function
78590         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
78591         Don't use K&R prototypes.  Check the sprintf return values.
78592         Re-define EAFNOSUPPORT if not present.  Indent.
78593
78594         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
78595         suggested by Bruno Haible <bruno@clisp.org>.
78596
78597         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
78598
78599         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
78600
78601         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
78602         libgcrypt).
78603
78604         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
78605
78606         * lib/md2.h, lib/md2.c: New files.
78607
78608 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
78609
78610         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
78611         errno alone.  Problem reported by Frederic Jolliton.
78612
78613 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
78614
78615         * modules/verify (License): Change from GPL to LGPL.  This is a
78616         tiny module and there are apparently near-equivalents that are
78617         under the BSD license.
78618
78619 2005-10-24  Simon Josefsson  <jas@extundo.com>
78620
78621         * modules/sha1: Relicense to LGPL.
78622
78623 2005-10-24  Simon Josefsson  <jas@extundo.com>
78624
78625         * lib/md4.h: Shrink buffer size, now that we changed the type.
78626
78627 2005-10-23  Simon Josefsson  <jas@extundo.com>
78628
78629         * gnulib-tool (func_import): Fix --tests-base.
78630
78631 2005-10-22  Simon Josefsson  <jas@extundo.com>
78632
78633         * modules/arcfour (Depends-on): Need stdint.
78634
78635 2005-10-22  Simon Josefsson  <jas@extundo.com>
78636
78637         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
78638         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
78639
78640 2005-10-22  Simon Josefsson  <jas@extundo.com>
78641
78642         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
78643         suggested by Bruno Haible <bruno@clisp.org>.
78644
78645 2005-10-22  Simon Josefsson  <jas@extundo.com>
78646
78647         * lib/crc.h: Include stddef.h, for size_t.
78648
78649 2005-10-22  Simon Josefsson  <jas@extundo.com>
78650
78651         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
78652         arcfour_context struct (simplify test vector testing in GNU
78653         Shishi).
78654
78655 2005-10-21  Simon Josefsson  <jas@extundo.com>
78656
78657         * modules/des, modules/des-tests: New files.
78658
78659         * modules/gc-des, modules/gc-des-tests: New files.
78660
78661         * tests/test-des.c, tests/test-gc-des.c: New file.
78662
78663 2005-10-21  Simon Josefsson  <jas@extundo.com>
78664
78665         * modules/arctwo, modules/arctwo-tests: New files.
78666
78667         * tests/test-arctwo.c: New file.
78668
78669         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
78670
78671         * tests/test-gc-arctwo.c: New file.
78672
78673 2005-10-21  Simon Josefsson  <jas@extundo.com>
78674
78675         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
78676         Bruno Haible <bruno@clisp.org>.
78677
78678         * m4/gc-des.m4: New file.
78679
78680 2005-10-21  Simon Josefsson  <jas@extundo.com>
78681
78682         * m4/arctwo.m4: New file.
78683
78684         * m4/gc-arctwo.m4: New file.
78685
78686 2005-10-21  Simon Josefsson  <jas@extundo.com>
78687
78688         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
78689         block.
78690
78691 2005-10-21  Simon Josefsson  <jas@extundo.com>
78692
78693         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
78694         <bruno@clisp.org>.
78695
78696         * lib/hmac-sha1.c (hmac_sha1): Likewise.
78697
78698         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
78699         Bruno Haible <bruno@clisp.org>.
78700
78701         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
78702         <bruno@clisp.org>.
78703
78704 2005-10-21  Simon Josefsson  <jas@extundo.com>
78705
78706         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
78707
78708 2005-10-21  Simon Josefsson  <jas@extundo.com>
78709
78710         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
78711
78712 2005-10-21  Simon Josefsson  <jas@extundo.com>
78713
78714         * lib/des.h, lib/des.c: New files.
78715
78716         * lib/gc-gnulib.c: Support DES.c
78717
78718 2005-10-21  Simon Josefsson  <jas@extundo.com>
78719
78720         * lib/arctwo.h, lib/arctwo.c: New files.
78721
78722         * lib/gc-gnulib.c: Support ARCTWO.
78723
78724 2005-10-21  Simon Josefsson  <jas@extundo.com>
78725
78726         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
78727         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78728
78729 2005-10-21  Simon Josefsson  <jas@extundo.com>
78730
78731         * gnulib-tool (func_import, func_create_testdir): Define automake
78732         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
78733         Makefile.am snippet),
78734         suggested by Bruno Haible <bruno@clisp.org>.
78735
78736         * modules/gc (Makefile.am): Use it.
78737
78738 2005-10-21  Bruno Haible  <bruno@clisp.org>
78739
78740         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
78741         patch.
78742
78743 2005-10-19  Simon Josefsson  <jas@extundo.com>
78744
78745         * tests/test-gc-rijndael.c: New file.
78746
78747         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
78748
78749 2005-10-19  Simon Josefsson  <jas@extundo.com>
78750
78751         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
78752         interface too.
78753
78754 2005-10-19  Simon Josefsson  <jas@extundo.com>
78755
78756         * tests/test-gc-arcfour.c: New file.
78757
78758         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
78759
78760 2005-10-19  Simon Josefsson  <jas@extundo.com>
78761
78762         * modules/gc-md4, modules/gc-md4-tests: New file.
78763
78764         * tests/test-gc-md4.c: New file.
78765
78766 2005-10-19  Simon Josefsson  <jas@extundo.com>
78767
78768         * m4/gc-md4.m4: New file.
78769
78770 2005-10-19  Simon Josefsson  <jas@extundo.com>
78771
78772         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
78773         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
78774         <kasal@ucw.cz>.
78775
78776 2005-10-19  Simon Josefsson  <jas@extundo.com>
78777
78778         * m4/gc-arcfour.m4: New file.
78779
78780         * m4/gc-rijndael.m4: New file.
78781
78782 2005-10-19  Simon Josefsson  <jas@extundo.com>
78783
78784         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
78785
78786 2005-10-19  Simon Josefsson  <jas@extundo.com>
78787
78788         * lib/gc-gnulib.c: Support ARCFOUR.
78789
78790 2005-10-19  Simon Josefsson  <jas@extundo.com>
78791
78792         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
78793         support.
78794
78795         * lib/gc.h: Add ECB enum type.
78796
78797         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
78798
78799 2005-10-18  Simon Josefsson  <jas@extundo.com>
78800
78801         * tests/test-md5.c: New file.
78802
78803         * modules/md5-tests: New file.
78804
78805 2005-10-18  Simon Josefsson  <jas@extundo.com>
78806
78807         * tests/test-md4.c: New file.
78808
78809         * modules/md4, modules/md4-tests: New files.
78810
78811 2005-10-18  Simon Josefsson  <jas@extundo.com>
78812
78813         * m4/md4.m4: New file.
78814
78815 2005-10-18  Simon Josefsson  <jas@extundo.com>
78816
78817         * lib/md4.h, lib/md4.c: New files, based on md5.?.
78818
78819 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
78820
78821         * gnulib-tool (func_create_testdir): Omit the second check whether
78822         BUILT_SOURCES in nonempty.
78823
78824 2005-10-17  Simon Josefsson  <jas@extundo.com>
78825
78826         * tests/test-rijndael.c: New file.
78827
78828 2005-10-17  Simon Josefsson  <jas@extundo.com>
78829
78830         * modules/sha1: Depend on stdint instead of md5.
78831
78832         * modules/md5: Depend on stdint, remove uint32_t.
78833
78834 2005-10-17  Simon Josefsson  <jas@extundo.com>
78835
78836         * modules/gc-sha1-tests: New file.
78837
78838         * tests/test-gc-sha1.c: New file.
78839
78840 2005-10-17  Simon Josefsson  <jas@extundo.com>
78841
78842         * m4/md5.m4: Remove call to uint32_t.m4.
78843
78844 2005-10-17  Simon Josefsson  <jas@extundo.com>
78845
78846         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
78847
78848         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
78849         md5.h.
78850
78851         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
78852
78853         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
78854
78855 2005-10-17  Simon Josefsson  <jas@extundo.com>
78856
78857         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
78858
78859 2005-10-17  Simon Josefsson  <jas@extundo.com>
78860
78861         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
78862
78863 2005-10-17  Simon Josefsson  <jas@extundo.com>
78864
78865         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
78866
78867         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
78868
78869 2005-10-17  Bruno Haible  <bruno@clisp.org>
78870
78871         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
78872         that it can also be used in a test.
78873
78874 2005-10-16  Bruno Haible  <bruno@clisp.org>
78875
78876         * gnulib-tool (func_emit_tests_Makefile_am): Also define
78877         TESTS_ENVIRONMENT, so that individual tests can augment it.
78878
78879         * gnulib-tool (func_create_testdir): Use an intermediate target for
78880         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
78881         macros, like $(ALLOCA_H), which cannot be passed through the command
78882         line.
78883
78884 2005-10-15  Simon Josefsson  <jas@extundo.com>
78885
78886         * modules/rijndael-tests: New file.
78887
78888         * modules/rijndael: New file.
78889
78890 2005-10-15  Simon Josefsson  <jas@extundo.com>
78891
78892         * m4/rijndael.m4: New file.
78893
78894 2005-10-15  Simon Josefsson  <jas@extundo.com>
78895
78896         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
78897
78898         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
78899
78900 2005-10-14  Simon Josefsson  <jas@extundo.com>
78901
78902         * tests/test-arcfour.c: New file.
78903
78904         * modules/arcfour, modules/arcfour-tests: New files.
78905
78906 2005-10-14  Simon Josefsson  <jas@extundo.com>
78907
78908         * m4/arcfour.m4: New file.
78909
78910 2005-10-14  Simon Josefsson  <jas@extundo.com>
78911
78912         * lib/arcfour.h, lib/arcfour.c: New files.
78913
78914 2005-10-14  Roland McGrath  <roland@redhat.com>
78915
78916         Import from libc.  [BZ #1331]
78917         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
78918         macro argument.
78919         Reported by Matej Vela <vela@debian.org>.
78920
78921 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
78922
78923         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
78924         include <wchar.h>; no longer needed.
78925
78926 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
78927
78928         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
78929
78930 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
78931         and  Ulrich Drepper  <drepper@redhat.com>
78932
78933         Import from libc.
78934         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
78935         instead of inline stream orientation test and two separate
78936         function calls.  Pay no attention to USE_IN_LIBIO.
78937
78938 2005-10-13  Simon Josefsson  <jas@extundo.com>
78939
78940         * modules/gc-hmac-md5-tests: New file.
78941
78942         * tests/test-gc-hmac-sha1.c: New file.
78943
78944         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
78945
78946         * modules/gc-hmac-md5-tests: New file.
78947
78948         * tests/test-gc-md5.c: New file.
78949
78950         * modules/gc-md5-tests: New file.
78951
78952 2005-10-13  Simon Josefsson  <jas@extundo.com>
78953
78954         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
78955         Move memory allocation outside of loop.
78956
78957 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
78958
78959         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
78960         intermediate directory is in a read-only file system.  Problem
78961         reported by Eric Blake.
78962
78963 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
78964
78965         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
78966
78967 2005-10-12  Simon Josefsson  <jas@extundo.com>
78968
78969         * tests/test-hmac-sha1.c: New file.
78970
78971         * modules/hmac-sha1-tests: New file.
78972
78973         * modules/hmac-sha1: New file.
78974
78975 2005-10-12  Simon Josefsson  <jas@extundo.com>
78976
78977         * modules/gc-sha1: New file.
78978
78979 2005-10-12  Simon Josefsson  <jas@extundo.com>
78980
78981         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
78982
78983         * tests/test-gc-pbkdf2-sha1.c: New file.
78984
78985 2005-10-12  Simon Josefsson  <jas@extundo.com>
78986
78987         * modules/gc-md5, modules/gc-hmac-md5: New files.
78988
78989         * modules/gc (Files): Remove md5, memxor and hmac files.
78990
78991 2005-10-12  Simon Josefsson  <jas@extundo.com>
78992
78993         * m4/gc-pbkdf2-sha1.m4: New file.
78994
78995         * m4/gc-hmac-sha1.m4: New file.
78996
78997         * m4/gc-sha1: New file.
78998
78999         * m4/hmac-sha1.m4: New file.
79000
79001 2005-10-12  Simon Josefsson  <jas@extundo.com>
79002
79003         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
79004
79005         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
79006
79007 2005-10-12  Simon Josefsson  <jas@extundo.com>
79008
79009         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
79010         suggested by Bruno Haible <bruno@clisp.org>.
79011
79012 2005-10-12  Simon Josefsson  <jas@extundo.com>
79013
79014         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
79015
79016 2005-10-12  Simon Josefsson  <jas@extundo.com>
79017
79018         * lib/gc-pbkdf2-sha1.c: New file.
79019
79020         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
79021
79022 2005-10-12  Simon Josefsson  <jas@extundo.com>
79023
79024         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
79025
79026         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
79027
79028 2005-10-12  Simon Josefsson  <jas@extundo.com>
79029
79030         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
79031         GC_USE_HMAC_MD5, respectively.
79032
79033         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
79034         (gc_md5): Fix typo.
79035
79036         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
79037
79038         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
79039
79040         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
79041
79042 2005-10-12  Bruno Haible  <bruno@clisp.org>
79043
79044         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
79045         Reported by Stepan Kasal <kasal@ucw.cz>.
79046
79047 2005-10-11  Simon Josefsson  <jas@extundo.com>
79048
79049         * tests/test-crc.c: New file.
79050
79051         * modules/crc, modules/crc-tests: New files.
79052
79053 2005-10-11  Simon Josefsson  <jas@extundo.com>
79054
79055         * m4/crc.m4: New file.
79056
79057 2005-10-11  Simon Josefsson  <jas@extundo.com>
79058
79059         * lib/gc.h: Add gc_hash and gc_hash_buffer.
79060
79061         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
79062
79063         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
79064
79065 2005-10-11  Simon Josefsson  <jas@extundo.com>
79066
79067         * lib/crc.h, lib/crc.c: New files.
79068
79069         * lib/gc.h (gc_hash_buffer): Add doc.
79070
79071 2005-10-11  Bruno Haible  <bruno@clisp.org>
79072
79073         * modules/c-strcasestr: New file.
79074         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
79075
79076 2005-10-11  Bruno Haible  <bruno@clisp.org>
79077
79078         * modules/c-strcase: New file.
79079         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
79080
79081 2005-10-11  Bruno Haible  <bruno@clisp.org>
79082
79083         * lib/strcasecmp.c: Include limits.h.
79084         (strcasecmp): Avoid integer overflow on exotic platforms.
79085         * lib/strncasecmp.c: Include limits.h.
79086         (strncasecmp): Avoid integer overflow on exotic platforms.
79087         Reported by Paul Eggert.
79088
79089 2005-10-11  Bruno Haible  <bruno@clisp.org>
79090
79091         * lib/c-strcasestr.h: New file, from GNU gettext.
79092         * lib/c-strcasestr.c: New file, from GNU gettext.
79093
79094 2005-10-11  Bruno Haible  <bruno@clisp.org>
79095
79096         * lib/c-strcase.h: New file, from GNU gettext.
79097         * lib/c-strcasecmp.c: New file, from GNU gettext.
79098         * lib/c-strncasecmp.c: New file, from GNU gettext.
79099
79100 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
79101
79102         * modules/mempcpy (License): GPL -> LGPL.
79103         * modules/strchrnul (License): Likewise.
79104         * modules/sysexits (License): Likewise.
79105
79106 2005-10-08  Simon Josefsson  <jas@extundo.com>
79107
79108         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
79109
79110 2005-10-07  Simon Josefsson  <jas@extundo.com>
79111
79112         * m4/memxor.m4: Remove gl_C_RESTRICT call.
79113
79114 2005-10-06  Simon Josefsson  <jas@extundo.com>
79115
79116         * tests/test-hmac-md5.c: New file.
79117
79118         * modules/hmac-md5-tests: New file.
79119
79120         * modules/hmac-md5: New file.
79121
79122 2005-10-06  Simon Josefsson  <jas@extundo.com>
79123
79124         * m4/hmac-md5.m4: New file.
79125
79126         * m4/memxor.m4: Require gl_C_RESTRICT.
79127
79128 2005-10-06  Simon Josefsson  <jas@extundo.com>
79129
79130         * lib/memxor.c (memxor): Avoid casts and warnings.
79131
79132 2005-10-06  Simon Josefsson  <jas@extundo.com>
79133
79134         * lib/hmac-md5.c: New file.
79135
79136         * lib/hmac.h: New file.
79137
79138 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
79139
79140         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
79141         promotes to int, not unsigned int, to catch the AIX 5.3
79142         compiler bug.
79143
79144 2005-10-05  Simon Josefsson  <jas@extundo.com>
79145
79146         * modules/memxor: New file.
79147
79148         * modules/iconv (Files): Move config.rpath to havelib, it is used
79149         there.
79150
79151         * modules/havelib (Files): Add config.rpath.
79152
79153 2005-10-05  Simon Josefsson  <jas@extundo.com>
79154
79155         * m4/memxor.m4: New file.
79156
79157 2005-10-05  Simon Josefsson  <jas@extundo.com>
79158
79159         * lib/memxor.c (memxor): Fix compiler error.
79160
79161         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
79162         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
79163
79164         * lib/memxor.h, lib/memxor.c: New files.
79165
79166         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
79167         we assume all systems have it, suggested by Jim Meyering
79168         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
79169         any systems lack sys/socket.h; mingw32 is known to lack it, but we
79170         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
79171         same reasons.
79172
79173 2005-10-05  Simon Josefsson  <jas@extundo.com>
79174
79175         * config/srclist.txt: Add glibc bug 1423 for md5.h.
79176
79177 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
79178
79179         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
79180         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
79181         needed, since the source code now assumes these .h files.
79182
79183 2005-10-05  Derek Price  <derek@ximbiot.com>
79184
79185         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
79186
79187 2005-10-05  Bruno Haible  <bruno@clisp.org>
79188
79189         * modules/stdint (License): Change to LGPL.
79190
79191 2005-10-04  Simon Josefsson  <jas@extundo.com>
79192
79193         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
79194         D. Baushke" <mdb@gnu.org>.
79195
79196 2005-10-04  Bruno Haible  <bruno@clisp.org>
79197
79198         * lib/verify.h (verify_true): Provide alternative definition for C++.
79199
79200 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
79201
79202         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
79203         (SSIZE_MAX): New macro, if not already defined.
79204         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
79205         than 2 GiB.
79206
79207 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
79208
79209         Sync from coreutils.
79210         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
79211         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
79212         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
79213         ULLONG_MAX doesn't work with 2.7.2.1.
79214
79215 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
79216
79217         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
79218         From Ben Pfaff.
79219
79220         * modules/exclude (Depends-on): Depend on verify.
79221         * modules/strtoimax (Depends-on): Likewise.
79222         * modules/utimecmp (Depends-on): Likewise.
79223
79224 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
79225
79226         * lib/exclude.c: Include verify.h.
79227         (verify): Remove.  All callers changed to use verify.h's version.
79228         * lib/strtoimax.c: Likewise.
79229         * lib/utimecmp.c: Likewis.e
79230
79231         Sync from coreutils.
79232         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
79233         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
79234         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
79235         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
79236         bother returning ENOSYS if settimeofday or stime fails; just let
79237         them return whatever errno they want to return.
79238         * lib/utimens.c: Include unistd.h, for dup2.
79239         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
79240         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
79241
79242 2005-10-02  Jim Meyering  <jim@meyering.net>
79243
79244         Sync from coreutils.
79245         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
79246         from glibc-2.2.5 that fails for read-only files.
79247
79248 2005-10-02  Jim Meyering  <jim@meyering.net>
79249
79250         Sync from coreutils.
79251         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
79252         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
79253         `#if HAVE_CONFIG_H'.
79254         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
79255         Remove AT_FDCWD test.
79256         Do not consume the fd unless successful.
79257         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
79258         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
79259         block, so that we don't even try to compile it if settimeofday is
79260         available.  This works around a compilation failure on OSF1 V5.1,
79261         due to stime requiring a `long int*' while tv_sec is `int'.
79262
79263 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
79264
79265         Sync from coreutils.
79266         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
79267         against `yes', rather than just testing for nonempty.
79268
79269 2005-10-01  Simon Josefsson  <jas@extundo.com>
79270
79271         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
79272         and Darwin.
79273
79274         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
79275         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
79276         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
79277         freeaddrinfo and gai_strerror are declared by the POSIX headers.
79278         Check if struct addrinfo is declared.
79279
79280 2005-10-01  Simon Josefsson  <jas@extundo.com>
79281
79282         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
79283         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
79284         AI_* and EAI_* definitions.  Protect function declarations.
79285
79286 2005-10-01  Jim Meyering  <jim@meyering.net>
79287
79288         Sync from coreutils.
79289
79290         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
79291         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
79292         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
79293         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
79294         in the inet and nsl libraries.  Required on Solaris 5.7.
79295
79296 2005-10-01  Jim Meyering  <jim@meyering.net>
79297
79298         Sync from coreutils.
79299         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
79300         in the inet and nsl libraries.  Required on Solaris 5.7.
79301
79302 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
79303
79304         * lib/getdelim.c (getdelim): Remove unused variables.
79305
79306 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
79307
79308         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
79309         so that the code works even with ancient cpp.  Portability problem
79310         with GCC 2.7.2.1 reported by Thomas M.Ott.
79311
79312 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
79313
79314         * modules/regex (Depends-on): Add strcase.
79315
79316         * modules/gethostname (Licence): Change from GPL to LGPL, since
79317         gethostname.c is a trivial implementation of a standard library
79318         function.
79319         * modules/poll (License): Change from GPL to LGPL, since it's
79320         derived from LGPL code.
79321
79322 2005-09-27  Jim Meyering  <jim@meyering.net>
79323
79324         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
79325         HAVE_CONFIG_H.
79326
79327         * lib/intprops.h (signed_type_or_expr__): Define.
79328         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
79329         for unsigned types.
79330
79331 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
79332
79333         * lib/verify.h (verify_expr): Remove, replacing with:
79334         (verify_true): New macro that returns true instead of void.
79335         (verify_type__): Remove.
79336         (verify): Use verify_true rather than verify_type__.
79337
79338 2005-09-26  Bruno Haible  <bruno@clisp.org>
79339
79340         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
79341         is necessary.
79342         (lib_SOURCES): Remove mbchar.c.
79343         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
79344         (Files): Add m4/mbrtowc.m4.
79345         * modules/mbiter: Likewise.
79346         * modules/mbuiter: Likewise.
79347
79348 2005-09-26  Bruno Haible  <bruno@clisp.org>
79349
79350         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
79351         compile mbchar.c if they are not both present.
79352         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
79353         * m4/mbiter.m4 (gl_MBITER): Likewise.
79354         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
79355         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
79356         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
79357
79358 2005-09-25  Jim Meyering  <jim@meyering.net>
79359
79360         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
79361         also uses socklen_t.
79362
79363 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
79364
79365         * lib/utimens.c (ENOSYS): Define if not already defined.
79366         (futimens): Support having a null PATH if the file descriptor
79367         is nonnegative.
79368
79369         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
79370         Remove.
79371         (__attribute): Define to empty unless GCC 3.1 or later.
79372         This works around a core dump on OpenBSD 3.4, which has GCC
79373         2.95.3, which dumps core when given __attribute__(()).  It also
79374         simplifies other tests, since we really don't want to bother with
79375         worrying about which ancient version of GCC supported what.
79376         Original problem reported by Yoann Vandoorselaere, with part of
79377         the fix suggested by Derek Price.
79378
79379 2005-09-24  Jim Meyering  <jim@meyering.net>
79380
79381         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
79382         so we can once again use a positive bitfield width of 1 -- now we
79383         don't have to explain why we were using a bitfield width of 2.
79384
79385 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
79386
79387         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
79388         and similarly for the other external symbols.  Problem reported
79389         by James Gallager.
79390
79391         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
79392         bug reported by Jim Meyering.
79393
79394         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
79395         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
79396         not needed, since socklen is a prerequisite module.
79397
79398 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
79399
79400         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
79401         Problem reported by Eric Blake.
79402         (getaddrinfo): Initialize se so that it's not garbage.
79403         Redo internal storage allocation so that it doesn't make unportable
79404         assumptions about alignment.
79405         Fix a memory leak.
79406
79407         * lib/utimens.c (futimens): Use futimesat if available.
79408         Prefer it to futimes since it doesn't have the futimes bug.
79409
79410         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
79411         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
79412         Instead, declare a function that returns a pointer to an array,
79413         and use verify_type__ to declare the size of the array.
79414         Problem and germ of a solution reported by Bruno Haible.
79415         (verify_type__): Use 2, not 1, for bitfield size, to avoid
79416         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
79417
79418 2005-09-23  Jim Meyering  <jim@meyering.net>
79419
79420         Sync from coreutils.
79421         Correct build failure (socklen_t not defined) on at least
79422         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
79423         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
79424
79425 2005-09-23  Jim Meyering  <jim@meyering.net>
79426
79427         * modules/getaddrinfo (Depends-on): Add socklen.
79428
79429 2005-09-23  Bruno Haible  <bruno@clisp.org>
79430
79431         * tests/test-verify.c: New file.
79432
79433 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
79434
79435         Sync from coreutils.
79436
79437         * modules/argmatch (Depends-on): Add verify.
79438         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
79439         unistd-safer.
79440         * modules/save-cwd (Depends-on): Likewise.
79441
79442         * modules/openat (Files): Add lib/openat-die.c.
79443         (Depends-on): Remove error, exitfail.
79444         Add dirname.
79445
79446         * modules/verify: New file.
79447         * MODULES.html.sh (Diagnostics <assert.h>): New section,
79448         with "verify" module.
79449
79450 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
79451
79452         Sync from coreutils.
79453
79454         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
79455         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
79456         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
79457         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
79458         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
79459         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
79460         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
79461         Don't bother checking for string.h, stdlib.h, unistd.h.
79462         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
79463         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
79464         module's job.
79465         * m4/jm-macros.m4 (gl_MACROS): Likewise.
79466         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
79467
79468         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
79469         (gl_GETDATE): Use it.
79470
79471         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
79472
79473 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
79474
79475         Sync from coreutils.
79476
79477         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
79478         stat-time.h.
79479         * lib/argmatch.h: Include verify.h
79480         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
79481         (ARGMATCH_ASSERT): Remove; unused.
79482         * lib/canonicalize.c: Assume STDC_HEADERS.
79483         * lib/exclude.c: Include "strcase.h".
79484         * lib/regex_internal.h [!defined _LIBC]: Likewise.
79485         * lib/getusershell.c: Include stdio--.h rather than stdio.h
79486         and stdio-safer.h.
79487         (getusershell): Call fopen, not fopen_safer.
79488         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
79489         Do not include unistd-safer.h.
79490         (save_cwd): Don't call fd_safer; no longer needed
79491         now that we include fcntl--.h.
79492
79493         * lib/getdate.y (relative_time): New type.
79494         (RELATIVE_TIME_0): New constant.
79495         (parser_control): Use relative_time instead of doing it ourselves.
79496         (%union): Add new relative_time rel member.
79497         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
79498         Now typeless.
79499         (relunit, relunit_snumber): Now of type rel.
79500         (zone, rel, relunit, get_date): Adjust to above changes.
79501
79502         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
79503         Do not include unistd-safer.h.
79504         (getloadavg): Don't call fd_safer; no longer needed
79505         now that we include fcntl--.h.
79506
79507         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
79508         (make_dir_parents): Treat ENOSYS like EEXIST.
79509
79510         Improve quality of diagnostics on restore_cwd failure.
79511         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
79512         (make_dir_parents): Last arg is now int * (for errno), not bool *.
79513         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
79514         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
79515         each time through the loop.  Do not diagnose restore_cwd failure;
79516         that is the caller's job (and perhaps the caller does not care).
79517
79518         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
79519         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
79520         If the file already exists but is not a directory, don't bother
79521         to try to make its parents.
79522         Close potential file descriptor leak if we can't chdir("/") (!).
79523         Don't always return true if chdir($PWD) fails; return true only
79524         if the requested action was done successfully (except for the
79525         chdir($PWD)).
79526         Don't log final directory unless we actually made it.
79527         Refactor to avoid duplicate code to fix up permissions.
79528         Don't attempt to fix up parent permissions if chdir($PWD) fails.
79529
79530         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
79531         to make it a bit faster and (I hope) clearer.
79532         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
79533         Fix bug in formats like %2N.
79534
79535         * lib/verify.h: New file.
79536
79537 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
79538
79539         Sync from coreutils.
79540         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
79541
79542 2005-09-22  Jim Meyering  <jim@meyering.net>
79543
79544         Sync from coreutils.
79545
79546         * m4/lstat.m4 (gl_FUNC_LSTAT):
79547         Use AC_LIBSOURCES to require lstat.c and lstat.h.
79548         Remove obsolete comment.
79549         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
79550         * m4/xstrtod.m4: Likewise.
79551
79552         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
79553
79554 2005-09-22  Jim Meyering  <jim@meyering.net>
79555
79556         Sync from coreutils.
79557
79558         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
79559
79560         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
79561         the .tm_year member, since otherwise gcc-4.0 would now warn about
79562         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
79563
79564         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
79565         order to avoid an unsuppressible warning from gcc on 64-bit systems.
79566
79567         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
79568         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
79569         when run in a time zone for which daylight savings time is in effect
79570         for the starting date.
79571
79572         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
79573         stop us from restricting permissions of just-created absolute-named
79574         directories.
79575         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
79576         to restore initial working directory.
79577         * lib/mkdir-p.c (make_dir_parents): New parameter:
79578         different_working_dir, to tell caller if/when we change the working
79579         directory and are unable to return to the initial one.
79580         * lib/mkdir-p.h (make_dir_parents): Update prototype.
79581         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
79582         `return false'.  This fixes a bug introduced on 2004-07-30.
79583
79584         * lib/openat.c (fdopendir): Be sure to close the supplied
79585         file descriptor before returning.  This makes our replacement
79586         implementation a little closer to Solaris's, where fdopendir
79587         ties the file descriptor to the returned DIR* pointer.
79588         * lib/openat.c (unlinkat): New function.
79589         * lib/openat.h (unlinkat): Add prototype.
79590         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
79591         (openat_restore_fail): Rename from openat_restore_die.
79592         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
79593
79594         Provide an alternative to exiting immediately upon save_cwd or
79595         restore_cwd failure.  Now, an application can arrange e.g.,
79596         to perform a longjump in that case.
79597         * lib/openat.c: Include dirname.h.
79598         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
79599         (rpl_openat, fdopendir, fstatat): Call openat_save_die
79600         and openat_restore_die rather than calling error directly.
79601         Don't include "error.h" or "exitfail.h"; they're no longer needed.
79602
79603         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
79604         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
79605         define.
79606
79607         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
79608         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
79609                             int utc, int nanoseconds);
79610         Background:
79611         date should not have to allocate a megabyte of virtual memory to
79612         handle a format argument like +%1048575T.  When implemented with
79613         strftime, it must allocate such a buffer, use strftime to fill it
79614         in, print it, then free it.
79615         With fprintftime, it simply prints everything and exits.
79616         With no need for memory allocation, that's one fewer way to fail.
79617         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
79618         optional field width, not before, so we accept %9:z, not %:9z.
79619         (my_strftime): Be sure to use L_('x') for literals.
79620
79621         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
79622         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
79623         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
79624         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
79625         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
79626         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
79627         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
79628         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
79629         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
79630         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
79631         * lib/xgethostname.c, lib/xreadlink.c:
79632         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
79633
79634         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
79635         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
79636         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
79637         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
79638         and don't include <sys/file.h>).
79639
79640 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
79641
79642         Sync from coreutils.
79643
79644         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
79645         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
79646         [!LDAV_DONE]: Avoid unused variable warning.
79647
79648 2005-09-21  Bruno Haible  <bruno@clisp.org>
79649
79650         * lib/unicodeio.h (unicode_to_mb): New declaration.
79651
79652 2005-09-20  Derek Price  <derek@ximbiot.com>
79653
79654         * lib/getaddrinfo.c: Don't include <netdb.h> included from
79655         getaddrinfo.h.
79656
79657 2005-09-20  Bruno Haible  <bruno@clisp.org>
79658
79659         * gnulib-tool: Remove trailing slashes from the values specified for
79660         --source-base, --m4-base, --tests-base, --aux-dir.
79661         Suggested by Simon Josefsson <jas@extundo.com>.
79662
79663 2005-09-20  Bruno Haible  <bruno@clisp.org>
79664
79665         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
79666         func_modules_to_filelist, func_import, func_create_testdir): Make all
79667         sorting results locale-independent, so that gnulib-cache.m4 doesn't
79668         change when gnulib-tool is invoked in a different locale.
79669
79670 2005-09-19  Simon Josefsson  <jas@extundo.com>
79671
79672         * m4/socklen.m4: Fix typo.
79673
79674 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79675
79676         Use a consistent style for including <config.h>.
79677         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
79678         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
79679         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
79680         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
79681         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
79682         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
79683         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
79684         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
79685         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
79686         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
79687         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
79688         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
79689         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
79690         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
79691         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
79692         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
79693         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
79694         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
79695         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
79696         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
79697         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
79698         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
79699         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
79700         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
79701         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
79702         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
79703         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
79704         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
79705         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
79706         lib/xstrtoumax.c, lib/yesno.c:
79707         Standardize inclusion of config.h.
79708         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
79709         lib/inttostr.h:  Removed inclusion of config.h from header files.
79710         * lib/inttostr.c:  Adjusted in-tree users.
79711         * lib/timespec.h: Remove superfluous warning to include config.h.
79712         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
79713         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
79714         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
79715         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
79716         config.h with HAVE_CONFIG_H.
79717
79718 2005-09-19  Jim Meyering  <jim@meyering.net>
79719
79720         * modules/pathmax (License): Change to LGPL.
79721
79722 2005-09-19  Derek Price  <derek@ximbiot.com>
79723
79724         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
79725
79726 2005-09-19  Bruno Haible  <bruno@clisp.org>
79727
79728         * gnulib-tool (import): Provide default for --tests-base.
79729
79730 2005-09-19  Bruno Haible  <bruno@clisp.org>
79731
79732         * doc/quote.texi: New file, extracted from gnulib.texi.
79733         * doc/ctime.texi: New file, extracted from gnulib.texi.
79734         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
79735         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
79736         * doc/gnulib.texi: Include them.
79737
79738 2005-09-18  Bruno Haible  <bruno@clisp.org>
79739
79740         Portability fix.
79741         * gnulib-tool (func_readlink): New function.
79742         (func_ln_if_changed): Use it.
79743
79744 2005-09-18  Bruno Haible  <bruno@clisp.org>
79745
79746         * gnulib-tool: Support --with-tests also with --import.
79747         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
79748         (func_import): Use variables $testsbase and $inctests. Emit a
79749         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
79750         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
79751         SUBDIRS += $testsdir.
79752         (func_create_testdir): Update.
79753
79754 2005-09-18  Bruno Haible  <bruno@clisp.org>
79755
79756         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
79757         instead of $dry_run.
79758         (func_cp_if_changed, func_mv_if_changed): Remove functions.
79759         (func_ln_if_changed): Don't handle dry-run here.
79760         (func_import): In dry-run mode, detect more precisely which actions
79761         would be performed, and don't use "...ing" verbs.
79762
79763 2005-09-18  Bruno Haible  <bruno@clisp.org>
79764
79765         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
79766         (func_import): Use join on two temporary files instead of three nested
79767         loops, in order to determine which files are new or old.
79768
79769 2005-09-18  Bruno Haible  <bruno@clisp.org>
79770
79771         * gnulib-tool (func_import): Comment out code that spits out the
79772         new files with --dry-run.
79773
79774 2005-09-18  Bruno Haible  <bruno@clisp.org>
79775
79776         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
79777
79778 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
79779
79780         * lib/stat-time.h: New file.
79781         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
79782         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
79783         in a different way.
79784         (timespec_cmp): New function.
79785         * lib/utimecmp.c: Include stat-time.h.
79786         (SYSCALL_RESOLUTION): Depend on whether various struct stat
79787         members exist, not on the obsolescent ST_MTIM_NSEC.
79788         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
79789
79790 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
79791
79792         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
79793
79794 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
79795
79796         * MODULES.html.sh (File system functions): Add stat-time.
79797         * modules/stat-time: New file.
79798         * modules/timespec (Files): Remove m4/st_mtim.m4; this
79799         is now done in a different way, by the stat-time module.
79800         * modules/utimecmp (Depends-on): Add stat-time.
79801
79802 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
79803
79804         * m4/st_mtim.m4: Remove.  Superseded by...
79805         * m4/stat-time.m4: New file.
79806         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
79807         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
79808
79809 2005-09-15  Derek Price  <derek@ximbiot.com>
79810
79811         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
79812
79813 2005-09-15  Derek Price  <derek@ximbiot.com>
79814
79815         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
79816         * lib/regex_internal.c: Ditto, using this...
79817         (__GNUC_PREREQ): ...new macro.
79818         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
79819         using...
79820         (__GNUC_PREREQ): ...this new macro.
79821
79822         * lib/strstr.h: Include string.h. Define strstr as a macro here.
79823
79824 2005-09-15  Derek Price  <derek@ximbiot.com>
79825             Paul Eggert  <eggert@cs.ucla.edu>
79826
79827         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
79828         changes, consolidating in...
79829         * lib/regex_internal.h: ...this file.
79830
79831 2005-09-13  Jim Meyering  <jim@meyering.net>
79832
79833         * lib/canon-host.c: Filter through gnu indent and reword comments
79834         slightly.
79835         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
79836
79837 2005-09-13  Derek Price  <derek@ximbiot.com>
79838
79839         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
79840         failure.
79841         Reported by Jim Meyering  <jim@meyering.net>.
79842
79843 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
79844
79845         * lib/base64.c: Typo.
79846         (base64_encode): Put b64str in initialized data section.
79847
79848 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
79849
79850         Merge glibc and coreutils changes into gnulib, plus a few
79851         extra fixes.
79852         * lib/md5.c: Use #error rather than a string.
79853         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
79854         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
79855         (__attribute__): Define to empty for non recent-GCC.
79856         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
79857         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
79858         Renamed from their non-__ counterparts, with new macros replacing
79859         them if not _LIBC.  Add __THROW attribute.
79860         (rol): Remove.
79861         (struct md5_ctx): Align buffer if using GCC.
79862         * lib/sha1.h (struct sha1_ctx): Likewise.
79863         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
79864         The old name was backwards.
79865         (NOTSWAP): Remove; not used.
79866         (rol): New macro, moved here from md5.h.
79867         (sha1_process_block): Remove a FIXME that doesn't make sense.
79868
79869 2005-09-12  Derek Price  <derek@ximbiot.com>
79870
79871         Return usable errors from canon-host.
79872         * lib/canon-host.h: New file.
79873         * lib/canon-host.c (canon_host): Wrap...
79874         (canon_host_r): ...this new function, which now relies exclusively on
79875         getaddrinfo.
79876         (ch_strerror): New function.
79877         (last_cherror): New global.
79878         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
79879         interface.
79880         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
79881         void *.
79882         (freeaddrinfo): Free ai->ai_canonname when set.
79883
79884 2005-09-12  Derek Price  <derek@ximbiot.com>
79885
79886         Make canon-host require getaddrinfo.
79887         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
79888         AC_LIBSOURCE canon-host.h.  Call...
79889         (gl_PREREQ_CANON_HOST): ...this new function, which requires
79890         gl_GETADDRINFO.
79891         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
79892
79893 2005-09-12  Derek Price  <derek@ximbiot.com>
79894
79895         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
79896         LGPL.
79897         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
79898
79899 2005-09-12  Derek Price  <derek@ximbiot.com>
79900
79901         * lib/gai_strerror.c: Include config.h when available.  Include
79902         getaddrinfo.h before other headers to test interface.
79903         Reported by Larry Jones <lawrence.jones@ugs.com>.
79904
79905 2005-09-12  Derek Price  <derek@ximbiot.com>
79906             Paul Eggert  <eggert@cs.ucla.edu>
79907
79908         * modules/glob (Files): Add glob-libc.h.
79909
79910 2005-09-12  Derek Price  <derek@ximbiot.com>
79911             Paul Eggert  <eggert@cs.ucla.edu>
79912
79913         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
79914         glob_.h, glob-libc.h.
79915         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
79916
79917 2005-09-12  Derek Price  <derek@ximbiot.com>
79918             Paul Eggert  <eggert@cs.ucla.edu>
79919
79920         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
79921         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
79922         protecting things that should be done only in gnulib contexts.
79923         * lib/glob_.h: New file, containing only the glob things needed for
79924         gnulib.
79925         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
79926         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
79927         (glob, globfree, glob_pattern_p): Now defined simply in terms of
79928         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
79929         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
79930         and to respect the namespace rules better.
79931
79932 2005-09-08  Simon Josefsson  <jas@extundo.com>
79933
79934         * modules/socklen: New file.
79935
79936 2005-09-08  Simon Josefsson  <jas@extundo.com>
79937
79938         * m4/socklen.m4: New file.
79939
79940 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79941
79942         * modules/utimens (Files): Add m4/utimbuf.m4, since
79943         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
79944         Reported by Sergey Poznyakoff.
79945
79946 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79947
79948         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
79949         definitions, since that's the preferred style in glibc.
79950         Fix a minor spacing issue, and update copyright notice to match
79951         glibc's.
79952
79953 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79954
79955         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
79956
79957 2005-09-06  Simon Josefsson  <jas@extundo.com>
79958
79959         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
79960         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
79961
79962 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79963
79964         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
79965         warning.
79966
79967 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79968
79969         * config/srclist.txt: Add glibc bug 1302.
79970
79971 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
79972
79973         Change bitset word type from unsigned int to unsigned long int,
79974         as this has better performance on typical 64-bit hosts.
79975         Port bitset code to hosts with unusual word sizes.
79976         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
79977         (build_collating_symbol):
79978         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
79979         argument is a bitset.  This is merely a style issue, but it makes
79980         it clearer that an entire array is expected.
79981         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
79982         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
79983         Port to the case where bitset_word is not the same as unsigned int.
79984         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
79985         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
79986         Likewise.
79987         * lib/regexec.c (check_dst_limits_calc_pos_1,
79988         check_subexp_matching_top):
79989         (build_trtable, group_nodes_into_DFAstates):
79990         Likewise.
79991         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
79992         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
79993         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
79994         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
79995         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
79996         * lib/regcomp.c (optimize_subexps, lower_subexp):
79997         Work even if bitset_word has holes in its bitwise representation.
79998         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
79999         * lib/regexec.c (check_dst_limits_calc_pos_1,
80000         check_subexp_matching_top):
80001         Likewise.
80002         * lib/regex_internal.c (re_string_reconstruct):
80003         Don't assume UCHAR_MAX == 255.
80004         * lib/regex_internal.h (bitset_set_all): Likewise.
80005         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
80006         All uses changed.
80007         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
80008         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
80009         All uses changed.
80010         (BITSET_WORD_MAX): New macro.
80011         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
80012         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
80013         (bitset_empty, bitset_copy):
80014         Prefer sizeof (bitset) to multiplying it out ourselves.
80015         (bitset_not_merge): Remove; unused.
80016         (bitset_contain): Return bool, not unsigned int with one bit on.
80017         All callers changed.
80018         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
80019         alignment than re_node_set; do this by defining a new internal
80020         type struct dests_alloc and using it to allocate memory.
80021
80022 2005-09-05  Bruno Haible  <bruno@clisp.org>
80023
80024         * gnulib-tool (func_import): Fix comparison in handling of symbolic
80025         links.
80026
80027 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
80028
80029         * modules/size_max (Makefile.am): Add size_max.h
80030
80031 2005-09-04  Derek Price  <derek@ximbiot.com>
80032
80033         * gnulib-tool (func_import): Fix reversed $symbolic logic.
80034
80035 2005-09-03  Simon Josefsson  <jas@extundo.com>
80036
80037         * gnulib-tool: Fix typo.
80038
80039 2005-09-03  Simon Josefsson  <jas@extundo.com>
80040
80041         * config/srclist.txt: Add glibc bug 1293.
80042
80043 2005-09-03  Derek Price  <derek@ximbiot.com>
80044
80045         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
80046         From Larry Jones <lawrence.jones@ugs.com>.
80047
80048 2005-09-02  Simon Josefsson  <jas@extundo.com>
80049
80050         * modules/socklen: New file.
80051
80052 2005-09-02  Simon Josefsson  <jas@extundo.com>
80053
80054         * modules/havelib: New module.
80055
80056         * modules/gettext, modules/iconv, modules/lock, modules/readline:
80057         Use havelib.
80058
80059 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
80060
80061         Check for arithmetic overflow when calculating sizes, to prevent
80062         some buffer-overflow issues.  These patches are conservative, in the
80063         sense that when I couldn't determine whether an overflow was possible,
80064         I inserted a run-time check.
80065         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
80066         macros.
80067         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
80068         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
80069         (re_xnrealloc, re_x2nrealloc): New inline functions.
80070         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
80071         parse_bracket_exp):
80072         (build_equiv_class, build_charclass): Check for arithmetic overflow
80073         in size expression calculations.
80074         * lib/regex_internal.c (re_string_realloc_buffers):
80075         (build_wcs_upper_buffer, re_node_set_add_intersect):
80076         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
80077         (re_dfa_add_node, register_state): Likewise.
80078         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
80079         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
80080         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
80081         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
80082
80083 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
80084
80085         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
80086         m4/ulonglong.m4.  Problem reported by Martin Lambers.
80087
80088 2005-09-02  Bruno Haible  <bruno@clisp.org>
80089
80090         Support for lib vs. lib64 distinction on biarch platforms.
80091         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
80092         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
80093         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
80094
80095 2005-09-02  Bruno Haible  <bruno@clisp.org>
80096
80097         * gnulib-tool (import): In the other first-use case, provide defaults
80098         as well.
80099
80100 2005-09-02  Bruno Haible  <bruno@clisp.org>
80101
80102         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
80103         patches not yet found in the latest gettext release.
80104
80105 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
80106
80107         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
80108         to avoid a collision with bits/local_lim.h in glibc.
80109         All uses changed.  Problem reported by Dmitry V. Levin in
80110         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
80111
80112         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
80113         bugs in int versus size_t comparisons.
80114         (re_string_context_at): Fix bug where the code assumed that
80115         Idx is signed.
80116
80117         Use bool where appropriate.
80118         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
80119         All callers changed.
80120         (calc_eclosure_iter): Likewise, for ROOT arg.
80121         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
80122         (build_charclass_op): Likewise, for NON_MATCH arg.
80123         * lib/regex_internal.c (re_string_allocate, re_string_construct):
80124         (re_string_construct_common): Likewise, for ICASE arg.
80125         * lib/regexec.c (re_search_2_stub, re_search_stub):
80126         Likewise, for RET_LEN arg.
80127         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
80128         (set_regs): Likewise, for FL_BACKTRACK arg.
80129         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
80130         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
80131         (calc_eclosure_iter, parse_bracket_exp):
80132         Use bool for internal variables that are booleans.
80133         * lib/regexec.c (re_search_internal, check_matching,
80134         proceed_next_node):
80135         (set_regs, build_sifted_states, sift_states_bkref):
80136         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
80137         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
80138         (find_collation_sequence_value):
80139         Likewise.
80140         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
80141         (re_node_set_compare):
80142         Return bool, not int. All callers changed.
80143         * lib/regexec.c (check_halt_node_context, check_dst_limits):
80144         (build_trtable, check_node_accept): Likewise.
80145         * lib/regex_internal.h: Include stdbool.h.
80146
80147         Fix bugs uncovered when converting to bool.
80148         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
80149         failure instead of charging ahead blindly.
80150         * lib/regex_internal.c (register_state): Likewise.
80151         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
80152         for freeing internal storage.
80153         (group_nodes_into_DFA_states): Use unsigned int, not int, for
80154         bitset pieces used as boolean, to avoid undefined behavior
80155         on hosts that do int overflow checking.
80156
80157 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
80158
80159         * config/srclist.txt: Add glibc bugs 1285-1287.
80160
80161 2005-09-01  Jim Meyering  <jim@meyering.net>
80162
80163         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
80164         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
80165         Require gl_STAT_MACROS, too.
80166
80167 2005-09-01  Bruno Haible  <bruno@clisp.org>
80168
80169         * gnulib-tool (import): In the first-use case, provide defaults.
80170
80171 2005-09-01  Bruno Haible  <bruno@clisp.org>
80172
80173         * gnulib-tool (func_import): Remove the .tmp files.
80174
80175 2005-09-01  Bruno Haible  <bruno@clisp.org>
80176
80177         * gnulib-tool (func_import): Fix handling of symbolic links.
80178
80179 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
80180
80181         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
80182         old glibc regex code mishandles strings longer than 2**31 bytes.
80183         This patch fixes this when the regex code is used in gnulib
80184         (i.e., outside glibc).
80185
80186         This patch should not affect the use of the regex code inside
80187         glibc.  No doubt this problem also needs to be handled for glibc
80188         as well, but the result will be an incompatible change to the
80189         glibc ABI, and the old ABI will have to be supported too.  That
80190         can be the the subject for another patch.
80191
80192         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
80193         governing whether the rest of this patch is active.  By default,
80194         the macro is disabled and the patch has no effect.
80195         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
80196         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
80197         (struct re_pattern_buffer, re_search, re_search_2, re_match):
80198         (re_match_2, re_set_registers): Use the new types.
80199         * lib/regex_internal.h (Idx, re_hashval_t): New types.
80200         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
80201         New macros.
80202         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
80203         (re_string_context_at, bin_tree_t, re_dfastate_t):
80204         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
80205         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
80206         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
80207         (re_string_char_size_at, re_string_wchar_at):
80208         (re_string_elem_size_at):
80209         Use the new types and macros to port to 64-bit hosts.
80210         Use unsigned types for internal values, so that the code
80211         mostly works even for arrays larger than SSIZE_MAX.
80212         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
80213         (search_duplicated_node, calc_eclosure_iter, fetch_number):
80214         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
80215         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
80216         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
80217         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
80218         (calc_inveclosure, parse_dup_op, build_range_exp):
80219         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
80220         (fetch_number, create_token_tree, mark_opt_subexp):
80221         Likewise.
80222         * lib/regex_internal.c (re_string_construct_common,
80223         create_ci_newstate):
80224         (create_cd_newstate, re_string_allocate, re_string_construct):
80225         (re_string_realloc_buffers, build_wcs_upper_buffer):
80226         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
80227         (re_string_reconstruct, re_string_peek_byte_case):
80228         (re_string_fetch_byte_case, re_string_context_at):
80229         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
80230         (re_node_set_init_copy, re_node_set_add_intersect):
80231         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
80232         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
80233         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
80234         (re_acquire_state, re_acquire_state_context, register_state):
80235         Likewise.
80236         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
80237         search_cur_bkref_entry):
80238         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
80239         (re_search_internal, re_search_2_stub, re_search_stub)
80240         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
80241         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
80242         (update_cur_sifted_state, check_dst_limits):
80243         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
80244         (check_subexp_limits, sift_states_bkref, merge_state_array):
80245         (check_subexp_matching_top, get_subexp, get_subexp_sub):
80246         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
80247         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
80248         (expand_bkref_cache, check_node_accept_bytes):
80249         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
80250         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
80251         (acquire_init_state_context, check_halt_node_context):
80252         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
80253         (sift_states_backward, clean_state_log_if_needed):
80254         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
80255         (find_recover_state, transit_state_sb, transit_state_mb):
80256         (transit_state_bkref, build_trtable, match_ctx_clean):
80257         Likewise.
80258         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
80259         to work around an assumption that REG_MISSING is negative.
80260
80261         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
80262         (seek_collating_symbol_entry) [defined _LIBC]:
80263         (lookup_collation_sequence_value) [defined _LIBC]:
80264         (build_range_exp, build_collating_symbol) [defined _LIBC]:
80265         Use prototypes rather than old-style function definitions.
80266         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
80267         (transit_state_sb) [0]:
80268         (find_collation_sequence_value) [defined _LIBC]: Likewise.
80269
80270         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
80271         rm_eo.
80272
80273         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
80274         (optimize_subexps, lower_subexp):
80275         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
80276         since the signed shift might overflow.  Use 1u<<31 instead.
80277         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
80278         Likewise.
80279         * lib/regexec.c (check_dst_limits_calc_pos_1,
80280         check_subexp_matching_top): Likewise.
80281
80282         * lib/regcomp.c (optimize_subexps, lower_subexp):
80283         Use CHAR_BIT rather than 8, for clarity.
80284         * lib/regexec.c (check_dst_limits_calc_pos_1):
80285         (check_subexp_matching_top): Likewise.
80286         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
80287         have to worry about portability issues when shifting it left.
80288         Remove no-longer-needed test for table_size > 0.
80289         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
80290         in a word, as the resulting behavior is undefined.
80291         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
80292         in one case, a <= should have been an <, and in another case the
80293         whole test was missing.
80294         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
80295         the standard name CHAR_BIT.
80296         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
80297         this is not true on one's complement and signed-magnitude hosts.
80298
80299         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
80300         next_last_offset.
80301         (struct re_dfa_t): Remove unused member states_alloc.
80302         * lib/regcomp.c (init_dfa): Don't initialize unused members.
80303
80304 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
80305
80306         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
80307         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
80308         and large-file glibc and in 32-bit large-file Solaris.
80309
80310 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
80311
80312         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
80313         lengths fit in regoff_t; this isn't true if regoff_t is the same
80314         width as size_t.
80315         * lib/regex.c (re_search_internal): 5th arg is LAST_START
80316         (= START + RANGE) instead of RANGE.  This avoids overflow
80317         problems when regoff_t is the same width as size_t.
80318         All callers changed.
80319         (re_search_2_stub): Check for overflow when adding the
80320         sizes of the two strings.
80321         (re_search_stub): Check for overflow when adding START
80322         to RANGE; if it occurs, substitute the extreme value.
80323
80324 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
80325
80326         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
80327
80328 2005-08-31  Jim Meyering  <jim@meyering.net>
80329
80330         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
80331         a pointer-to-const.
80332         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
80333         (register_state): Likewise.
80334         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
80335         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
80336         (group_nodes_into_DFAstates): Likewise.
80337
80338 2005-08-31  Jim Meyering  <jim@meyering.net>
80339
80340         * check-module: Add a FIXME comment.
80341
80342 2005-08-31  Eric Blake  <ebb9@byu.net>
80343
80344         * modules/unistd-safer (Files): Add unistd--.h.
80345         * modules/stdio-safer (Files): Add stdio--.h.
80346
80347 2005-08-31  Derek Price  <derek@ximbiot.com>
80348
80349         * lib/getdelim.c (getdelim): Return EOF on EOF.
80350         Reported by Larry Jones <lawrence.jones@ugs.com>.
80351
80352 2005-08-31  Bruno Haible  <bruno@clisp.org>
80353
80354         Avoid unnecessary diffs in the generated lib/Makefile.am.
80355         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
80356         the generated files.
80357         (func_import): Don't set cmd.
80358
80359 2005-08-31  Bruno Haible  <bruno@clisp.org>
80360
80361         * lib/strstr.c: Include <stddef.h>, for NULL.
80362         * lib/strcasestr.c: Likewise.
80363         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
80364
80365 2005-08-31  Bruno Haible  <bruno@clisp.org>
80366
80367         * gnulib-tool: New option --macro-prefix.
80368         (func_import): Use macro_prefix.
80369         (import): Handle option --macro-prefix.
80370
80371 2005-08-31  Bruno Haible  <bruno@clisp.org>
80372
80373         * gnulib-tool (import): Rename most ac_* variables to cached_*.
80374         Also use new variables cached_lgpl, cached_libtool.
80375
80376 2005-08-31  Bruno Haible  <bruno@clisp.org>
80377
80378         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
80379         always instantiating them.
80380
80381 2005-08-31  Bruno Haible  <bruno@clisp.org>
80382
80383         * gnulib-tool (func_import): Read the previous cached settings
80384         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
80385         earlier added by gnulib but are now dropped. Warn when a gnulib file
80386         overwrites a non-gnulib file.
80387
80388 2005-08-31  Bruno Haible  <bruno@clisp.org>
80389
80390         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
80391         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
80392         projects that don't keep autogenerated files in CVS. Put into
80393         actioncmd only the specified modules, not the transitive closure.
80394
80395 2005-08-31  Bruno Haible  <bruno@clisp.org>
80396
80397         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
80398         Create directories that shall be filled.
80399         (import): Don't look for gl_* macros in configure.ac. Recurse across
80400         all directories containing a gnulib-cache.m4 files, if meaningful.
80401
80402 2005-08-31  Bruno Haible  <bruno@clisp.org>
80403
80404         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
80405         (import): Set seen_libtool when we see gl_LIBTOOL.
80406
80407 2005-08-31  Bruno Haible  <bruno@clisp.org>
80408
80409         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
80410         declaration macro definitions from generated gnulib.m4.
80411
80412 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
80413
80414         * lib/iconvme.h: Add prototype for iconv_alloc.
80415
80416 2005-08-29  Simon Josefsson  <jas@extundo.com>
80417
80418         * lib/iconvme.c: Fix errno.
80419
80420 2005-08-29  Bruno Haible  <bruno@clisp.org>
80421
80422         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
80423         that it works when the directory contains spaces.
80424
80425 2005-08-29  Bruno Haible  <bruno@clisp.org>
80426
80427         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
80428
80429 2005-08-29  Bruno Haible  <bruno@clisp.org>
80430
80431         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
80432         Emit more advice.
80433
80434 2005-08-29  Bruno Haible  <bruno@clisp.org>
80435         and Stepan Kasal  <kasal@ucw.cz>
80436
80437         * check-module: If more parameters are given, check each of them
80438         separately; add more exceptions, as noted by Jim Meyering.
80439         (check_module): New procedure.
80440         (%exempt_header): Now contains all exceptions.
80441
80442 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
80443
80444         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
80445
80446 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
80447
80448         * lib/iconvme.c: Split iconv_string into iconv_alloc.
80449
80450 2005-08-28  Bruno Haible  <bruno@clisp.org>
80451
80452         * m4/gnulib-tool.m4: New file.
80453
80454 2005-08-27  Jim Meyering  <jim@meyering.net>
80455
80456         * modules/unistd-safer (Files): Add pipe-safer.c.
80457         * modules/fcntl-safer (Files): Add creat-safer.c.
80458
80459 2005-08-27  Jim Meyering  <jim@meyering.net>
80460
80461         * m4/stdlib-safer.m4: New file.  From coreutils.
80462         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
80463         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
80464         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
80465         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
80466         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
80467
80468 2005-08-27  Jim Meyering  <jim@meyering.net>
80469
80470         * lib/fopen-safer.c: Merge minor changes from coreutils.
80471         * lib/dup-safer.c: Likewise.
80472         * lib/fd-safer.c: Likewise.
80473
80474         Merge from coreutils.
80475         * lib/stdio--.h: New file.
80476         * lib/stdlib--.h: New file.
80477         * lib/mkstemp-safer.c: New file.
80478
80479         GNU tar needs these.
80480         * lib/pipe-safer.c: New file.
80481         * lib/creat-safer.c: New file.
80482         * lib/fcntl--.h (creat): Define to creat_safer.
80483         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
80484         * lib/unistd--.h (pipe): Define to pipe_safer.
80485         * lib/unistd-safer.h: Declare pipe_safer.
80486
80487 2005-08-26  Simon Josefsson  <jas@extundo.com>
80488
80489         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
80490         Haible <bruno@clisp.org>.
80491
80492 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
80493
80494         * lib/regex_internal.h: Remove all references to
80495         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
80496         or better.
80497         (bitset_not, bitset_merge, bitset_not_merge):
80498         (bitset_mask, re_string_allocate, re_string_construct):
80499         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
80500         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
80501         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
80502         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
80503         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
80504         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
80505         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
80506         (re_acquire_state_context):
80507         Remove unnecessary forward decls.
80508         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
80509         Put __attribute at function definition,
80510         now that the function decl has been removed.
80511         * lib/regex_internal.c (re_string_peek_byte_case):
80512         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
80513         Likewise.
80514
80515 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
80516
80517         * m4/regex.m4: Add AC_PREREQ(2.50).
80518         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
80519
80520 2005-08-25  Simon Josefsson  <jas@extundo.com>
80521
80522         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
80523         __fsetlocking.
80524
80525 2005-08-25  Simon Josefsson  <jas@extundo.com>
80526
80527         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
80528         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
80529         GLIBC specific code.
80530
80531 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
80532
80533         Make regex safe for g++.  This fixes one real bug (an "err"
80534         that should have been "*err").  g++ problem reported by
80535         Sam Steingold.
80536         * lib/regex_internal.h (re_calloc): New macro, consistent with
80537         re_malloc etc.  All callers of calloc changed to use re_calloc.
80538         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
80539         not int.  All callers changed.
80540         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
80541         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
80542         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
80543         (find_recover_state): Change "err" to "*err"; this fixes what
80544         appears to be a real bug.
80545         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
80546         versus int.
80547
80548 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
80549
80550         * modules/regex (Depends-on): Add malloc, since the code
80551         assumes that !malloc(0) means failure.
80552
80553 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
80554
80555         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
80556
80557         alloca modernization/simplification for regex.
80558         * lib/regex.c: Remove portability cruft for alloca.  This no longer
80559         needs to be at the start of the file, and can be moved into
80560         regex_internal.h and simplified.
80561         * lib/regex_internal.h: Include <alloca.h>.
80562         (__libc_use_alloca) [!defined _LIBC]: New macro.
80563         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
80564         now works outside glibc.
80565
80566 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
80567
80568         * config/srclist.txt: Add glibc bugs 1241, 1245.
80569
80570 2005-08-25  Jim Meyering  <jim@meyering.net>
80571
80572         * lib/open-safer.c: Include <config.h>.
80573         Otherwise, we'd lose LARGEFILE support in any file using
80574         e.g. "fcntl--.h"
80575
80576 2005-08-25  Bruno Haible  <bruno@clisp.org>
80577
80578         * m4/minmax.m4: Require autoconf 2.52.
80579         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
80580         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
80581         alternatives of translit over the alphabet.
80582         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
80583
80584 2005-08-24  Simon Josefsson  <jas@extundo.com>
80585
80586         * tests/test-getpass.c: New file.
80587
80588 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
80589
80590         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
80591         for GNU regex features.
80592
80593 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
80594
80595         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
80596         * lib/regex.h (regerror): Likewise.
80597
80598         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
80599         requires this.  (The code never needed it.)
80600
80601         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
80602         All uses of recently-renamed identifiers changed to use the new,
80603         POSIX-compliant names.  The code will build and run just fine
80604         without these changes, but it's better to eat our own dog food
80605         and use the standard-conforming names.
80606
80607         * lib/regex.h: Fix a multitude of POSIX name space violations.
80608         These changes have an effect only for programs that define
80609         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
80610         do not change anything for programs compiled in the normal way.
80611         Also, there is no effect on the ABI.
80612
80613         (_REGEX_SOURCE): New macro.
80614         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
80615         defined and _GNU_SOURCE is not; this fixes a name space violation.
80616
80617         Rename the following macros to obey POSIX requirements.
80618         The old names are still visible as macros if _REGEX_SOURCE is defined.
80619         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
80620         RE_BACKSLASH_ESCAPE_IN_LISTS.
80621         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
80622         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
80623         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
80624         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
80625         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
80626         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
80627         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
80628         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
80629         (REG_INTERVALS): renamed from RE_INTERVALS.
80630         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
80631         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
80632         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
80633         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
80634         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
80635         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
80636         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
80637         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
80638         RE_UNMATCHED_RIGHT_PAREN_ORD.
80639         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
80640         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
80641         (REG_DEBUG): renamed from RE_DEBUG.
80642         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
80643         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
80644         unusual, since we can't clash with the POSIX REG_ICASE.
80645         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
80646         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
80647         (REG_NO_SUB): renamed from RE_NO_SUB.
80648         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
80649         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
80650         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
80651         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
80652         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
80653         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
80654         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
80655         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
80656         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
80657         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
80658         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
80659         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
80660         RE_SYNTAX_POSIX_MINIMAL_BASIC.
80661         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
80662         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
80663         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
80664         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
80665         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
80666         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
80667         (REG_FIXED): Renamed from REGS_FIXED.
80668         (REG_NREGS): Renamed from RE_NREGS.
80669
80670         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
80671         of other REG_* macros, since POSIX says the user is allowed to
80672         #undef these macros selectively.
80673
80674         (reg_errcode_t): Update comment stating what other tables need
80675         to be consistent.
80676
80677         Rename the following enum values to obey POSIX requirements.
80678         The old names are still visible as macros.
80679         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
80680         is not defined, since GNU is supposed to be a superset of POSIX as
80681         much as possible, and since we want reg_errcode_t to be a signed
80682         type for implementation consistency.
80683         (_REG_NOERROR): Renamed from REG_NOERROR.
80684         (_REG_NOMATCH): Renamed from REG_NOMATCH.
80685         (_REG_BADPAT): Renamed from REG_BADPAT.
80686         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
80687         (_REG_ECTYPE): Renamed from REG_ECTYPE.
80688         (_REG_EESCAPE): Renamed from REG_EESCAPE.
80689         (_REG_ESUBREG): Renamed from REG_ESUBREG.
80690         (_REG_EBRACK): Renamed from REG_EBRACK.
80691         (_REG_EPAREN): Renamed from REG_EPAREN.
80692         (_REG_EBRACE): Renamed from REG_EBRACE.
80693         (_REG_BADBR): Renamed from REG_BADBR.
80694         (_REG_ERANGE): Renamed from REG_ERANGE.
80695         (_REG_ESPACE): Renamed from REG_ESPACE.
80696         (_REG_BADRPT): Renamed from REG_BADRPT.
80697         (_REG_EEND): Renamed from REG_EEND.
80698         (_REG_ESIZE): Renamed from REG_ESIZE.
80699         (_REG_ERPAREN): Renamed from REG_ERPAREN.
80700         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
80701         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
80702         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
80703         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
80704
80705         (_REG_RE_NAME, _REG_RM_NAME): New macros.
80706         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
80707         changed.  But support the old name if the new one is not defined
80708         and if _REGEX_SOURCE.
80709
80710         Change the following member names in struct re_pattern_buffer.
80711         The old names are still supported if !_REGEX_SOURCE.
80712         The new names are always supported, regardless of _REGEX_SOURCE.
80713         (re_buffer): Renamed from buffer.
80714         (re_allocated): Renamed from allocated.
80715         (re_used): Renamed from used.
80716         (re_syntax): Renamed from syntax.
80717         (re_fastmap): Renamed from fastmap.
80718         (re_translate): Renamed from translate.
80719         (re_can_be_null): Renamed from can_be_null.
80720         (re_regs_allocated): Renamed from regs_allocated.
80721         (re_fastmap_accurate): Renamed from fastmap_accurate.
80722         (re_no_sub): Renamed from no_sub.
80723         (re_not_bol): Renamed from not_bol.
80724         (re_not_eol): Renamed from not_eol.
80725         (re_newline_anchor): Renamed from newline_anchor.
80726
80727         Change the following member names in struct re_registers.
80728         The old names are still supported if !_REGEX_SOURCE.
80729         The new names are always supported, regardless of _REGEX_SOURCE.
80730         (rm_num_regs): Renamed from num_regs.
80731         (rm_start): Renamed from start.
80732         (rm_end): Renamed from end.
80733
80734         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
80735         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
80736         Prepend __ to parameter names.
80737
80738         Undo yesterday's changes.
80739
80740 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
80741
80742         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
80743         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
80744         lib/regex.c.
80745
80746 2005-08-24  Jim Meyering  <jim@meyering.net>
80747
80748         Sync from coreutils.
80749         * m4/fcntl-safer.m4: New file.
80750
80751         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
80752         and object files for this module.
80753
80754 2005-08-24  Jim Meyering  <jim@meyering.net>
80755
80756         Sync from coreutils.
80757         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
80758
80759 2005-08-24  Jim Meyering  <jim@meyering.net>
80760
80761         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
80762         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
80763
80764 2005-08-24  Jim Meyering  <jim@meyering.net>
80765
80766         * modules/fcntl-safer: New module.
80767         * modules/fts (Depends-on): Add fcntl-safer.
80768         * MODULES.html.sh (File descriptor based Input/Output):
80769         Add fcntl-safer.
80770
80771 2005-08-24  Bruno Haible  <bruno@clisp.org>
80772
80773         Support for unit test modules.
80774         * modules/README: Mention tests modules.
80775         * modules/TEMPLATE-TESTS: New file.
80776         * gnulib-tool: New options --extract-tests-module, --with-tests and
80777         --tests-base (unused for the moment).
80778         (testsbase, inctests): New variables.
80779         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
80780         (func_verify_module): Exclude TEMPLATE-TESTS.
80781         (func_verify_nontests_module, func_verify_tests_module): New functions.
80782         (func_get_dependencies): Add implicit dependency for tests modules.
80783         (func_get_tests_module): New function.
80784         (func_modules_transitive_closure): When --with-tests was specified,
80785         include the unit tests as well, unless explicitly avoided.
80786         (func_emit_lib_Makefile_am): Ignore the tests modules here.
80787         (func_emit_tests_Makefile_am): New function.
80788         (func_create_testdir): When --with-tests was specified, emit a
80789         tests/ directory.
80790         * MODULES.html.sh (Future developments): Update.
80791
80792 2005-08-24  Bruno Haible  <bruno@clisp.org>
80793
80794         * modules/tls-tests: New file.
80795         * tests/test-tls.c: New file, from GNU gettext.
80796
80797 2005-08-24  Bruno Haible  <bruno@clisp.org>
80798
80799         * modules/lock-tests: New file.
80800         * tests/test-lock.c: New file, from GNU gettext.
80801
80802 2005-08-24  Bruno Haible  <bruno@clisp.org>
80803
80804         * lib/lock.h: Add multiple inclusion guard.
80805         * lib/tls.h: Add multiple inclusion guard.
80806
80807 2005-08-24  Bruno Haible  <bruno@clisp.org>
80808
80809         * gnulib-tool: Add support for the --aux-dir option to
80810         --create-testdir, --create-megatestdir, --test, --megatest.
80811         (func_create_testdir, func_create_megatestdir): Optionally emit a
80812         AC_CONFIG_AUX_DIR directive.
80813         (create-testdir, create-megatestdir, test, megatest): Provide a
80814         default value for $auxdir.
80815
80816 2005-08-24  Bruno Haible  <bruno@clisp.org>
80817
80818         * gnulib-tool (import): Use compound statement instead of subshell
80819         where possible.
80820
80821 2005-08-24  Bruno Haible  <bruno@clisp.org>
80822
80823         * gnulib-tool (import): Change --aux-dir default to "build-aux".
80824
80825 2005-08-24  Bruno Haible  <bruno@clisp.org>
80826
80827         * gnulib-tool (func_version): Update.
80828
80829 2005-08-24  Bruno Haible  <bruno@clisp.org>
80830
80831         * gnulib-tool (func_import, func_create_testdir,
80832         func_create_megatestdir): Quote all autoconf macro arguments.
80833
80834 2005-08-24  Bruno Haible  <bruno@clisp.org>
80835
80836         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
80837         option --force, because --force causes the aclocal.m4 of each
80838         subdirectory to be newer than the corresponding config.h.in.
80839
80840 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80841
80842         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
80843         All contents moved to gl_REGEX.
80844         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
80845         assume that it does.
80846
80847 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80848
80849         * lib/regex.h (REG_NOSYS)
80850         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
80851         Define, since POSIX requires it as of 2001.
80852         (_REG_ENOSYS)
80853         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
80854         New private symbol, used to keep the enum signed in all cases.
80855         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
80856         Youngman in
80857         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
80858
80859         * lib/regex_internal.c (re_string_skip_chars, register_state):
80860         (calc_state_hash):
80861         Remove forward decls; no longer needed now that we use prototypes.
80862         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
80863         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
80864         (clean_state_log_if_needed): Likewise.
80865
80866 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80867
80868         * config/srclist.txt: Add glibc bugs 1231-1233.
80869
80870 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80871
80872         Fix problems reported by Sam Steingold in
80873         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
80874         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
80875         assumed that reg_errcode_t is a signed type, which is not
80876         necessarily true if _XOPEN_SOURCE is not defined.
80877         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
80878         since some compilers warn about it otherwise.
80879
80880 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80881
80882         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
80883         (init_word_char, create_initial_state, duplicate_node_closure):
80884         (fetch_token, peek_token_bracket, build_range_exp):
80885         (build_collating_symbol): Remove forward decls; no longer needed
80886         now that we use prototypes.
80887
80888         * lib/regcomp.c:
80889         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
80890         (re_compile_fastmap_iter, regcomp, regerror, regfree):
80891         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
80892         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
80893         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
80894         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
80895         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
80896         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
80897         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
80898         (build_range_exp, build_collating_symbol, parse_bracket_exp):
80899         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
80900         (build_charclass, build_charclass_op, fetch_number, create_tree):
80901         (create_token_tree, mark_opt_subexp, duplicate_tree):
80902         Use prototypes rather than old-style definitions.
80903
80904         * lib/regex_internal.c:
80905         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
80906         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
80907         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
80908         (re_string_reconstruct, re_string_peek_byte_case):
80909         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
80910         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
80911         (re_node_set_init_copy, re_node_set_add_intersect):
80912         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
80913         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
80914         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
80915         (re_acquire_state, re_acquire_state_context, register_state):
80916         (create_ci_newstate, create_cd_newstate, free_state):
80917         Likewise.
80918         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
80919         re_search_2):
80920         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
80921         (re_search_internal, prune_impossible_nodes):
80922         (acquire_init_state_context, check_matching, static):
80923         (check_halt_node_context, check_halt_state_context, proceed_next_node):
80924         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
80925         (update_regs, sift_states_backward, build_sifted_states):
80926         (clean_state_log_if_needed, merge_state_array):
80927         (update_cur_sifted_state, add_epsilon_src_nodes):
80928         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
80929         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
80930         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
80931         (find_recover_state, check_subexp_matching_top, transit_state_mb):
80932         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
80933         (check_arrival, check_arrival_add_next_nodes):
80934         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
80935         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
80936         (check_node_accept_bytes, check_node_accept, extend_buffers):
80937         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
80938         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
80939         (sift_ctx_init):
80940         Likewise.
80941
80942         * lib/regex_internal.h:
80943         (re_string_allocate, re_string_construct, re_string_reconstruct):
80944         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
80945         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
80946         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
80947         (re_string_context_at, re_string_peek_byte_case):
80948         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
80949         is defined, since we now use prototypes always.
80950
80951         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
80952         C89 or better.  All uses removed.
80953
80954 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80955
80956         * config/srclist.txt: Add glibc bugs 1220-1227.
80957
80958 2005-08-20  Jim Meyering  <jim@meyering.net>
80959
80960         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
80961         of unused local, dfa.
80962
80963 2005-08-20  Bruno Haible  <bruno@clisp.org>
80964
80965         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
80966
80967 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80968
80969         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
80970         (re_node_set_insert_last, re_dfa_add_node):
80971         Rename local variables to avoid GCC shadowing warnings.
80972
80973 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80974
80975         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
80976         [defined lint]: Suppress bogus uninitialized-variable warnings.
80977
80978         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
80979         and let the caller return REG_ESPACE if out of space.  This
80980         removes an uninitialied-variable warning with GCC 4.0.1, and also
80981         avoids taking the address of a local variable.  All callers
80982         changed.
80983
80984 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80985
80986         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
80987         $LIBCSRC/posix/regexec.c.
80988         Add glibc bug 1217 for regcomp.c.
80989
80990 2005-08-19  Jim Meyering  <jim@meyering.net>
80991
80992         * lib/regexec.c (proceed_next_node): Redo local variables to
80993         avoid GCC shadowing warnings.
80994
80995 2005-08-18  Bruno Haible  <bruno@clisp.org>
80996
80997         * lib/strstr.c (strstr): Fix return value in multibyte case.
80998         * lib/strcasestr.c (strcasestr): Likewise.
80999
81000 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
81001
81002         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
81003
81004 2005-08-17  Jim Meyering  <jim@meyering.net>
81005
81006         Make the %s format (seconds since the epoch) work for a negative
81007         number and when used with a zero-padded field width, e.g. %015s.
81008
81009         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
81010         label so that it precedes the code to set `digits'.  Otherwise,
81011         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
81012         print `00-22'.  Now, it prints `-0022', as it should.
81013
81014 2005-08-17  Bruno Haible  <bruno@clisp.org>
81015
81016         * modules/strstr (Files): Add m4/mbrtowc.m4.
81017         (Depends-on): Add mbuiter.
81018
81019 2005-08-17  Bruno Haible  <bruno@clisp.org>
81020
81021         * modules/strcasestr: New file.
81022         * MODULES.html.sh (String handling, based on ANSI C 89): Add
81023         strcasestr.
81024
81025 2005-08-17  Bruno Haible  <bruno@clisp.org>
81026
81027         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
81028
81029 2005-08-17  Bruno Haible  <bruno@clisp.org>
81030
81031         * modules/mbuiter: New file.
81032         * MODULES.html.sh (Extended multibyte and wide character utilities):
81033         Add mbuiter.
81034
81035 2005-08-17  Bruno Haible  <bruno@clisp.org>
81036
81037         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
81038         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
81039
81040 2005-08-17  Bruno Haible  <bruno@clisp.org>
81041
81042         * m4/strcasestr.m4: New file.
81043
81044 2005-08-17  Bruno Haible  <bruno@clisp.org>
81045
81046         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
81047         * lib/strstr.c: Completely rewritten, with multibyte locale support.
81048
81049 2005-08-17  Bruno Haible  <bruno@clisp.org>
81050
81051         * lib/strcasestr.h: New file.
81052         * lib/strcasestr.c: New file.
81053
81054 2005-08-17  Bruno Haible  <bruno@clisp.org>
81055
81056         * lib/strcasecmp.c: Use mbuiter.h.
81057
81058 2005-08-17  Bruno Haible  <bruno@clisp.org>
81059
81060         * lib/mbuiter.h: New file.
81061
81062 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
81063
81064         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
81065         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
81066         and gl_GETOPT are both invoked via different paths (as happens
81067         with GNU tar CVS because it uses both argp and getopt), the former
81068         wins.
81069
81070 2005-08-16  Bruno Haible  <bruno@clisp.org>
81071
81072         * modules/tls: New file.
81073         * MODULES.html.sh (Multithreading): Add tls.
81074
81075 2005-08-16  Bruno Haible  <bruno@clisp.org>
81076
81077         * modules/strnlen1: New file.
81078         * MODULES.html.sh (String handling): Add strnlen1.
81079
81080 2005-08-16  Bruno Haible  <bruno@clisp.org>
81081
81082         * modules/strcase (Files): Add m4/mbrtowc.m4.
81083         (Depends-on): Add strnlen1, mbchar.
81084
81085 2005-08-16  Bruno Haible  <bruno@clisp.org>
81086
81087         * modules/mbiter: New file.
81088         * MODULES.html.sh (Extended multibyte and wide character utilities):
81089         Add mbiter.
81090
81091 2005-08-16  Bruno Haible  <bruno@clisp.org>
81092
81093         * modules/mbfile: New file.
81094         * MODULES.html.sh (Extended multibyte and wide character utilities):
81095         Add mbfile.
81096
81097 2005-08-16  Bruno Haible  <bruno@clisp.org>
81098
81099         * modules/mbchar: New file.
81100         * MODULES.html.sh (Extended multibyte and wide character utilities):
81101         New section.
81102
81103 2005-08-16  Bruno Haible  <bruno@clisp.org>
81104
81105         * m4/tls.m4: New file, from GNU gettext.
81106
81107 2005-08-16  Bruno Haible  <bruno@clisp.org>
81108
81109         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
81110         always.
81111         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
81112
81113 2005-08-16  Bruno Haible  <bruno@clisp.org>
81114
81115         * m4/mbiter.m4: New file.
81116
81117 2005-08-16  Bruno Haible  <bruno@clisp.org>
81118
81119         * m4/mbfile.m4: New file.
81120
81121 2005-08-16  Bruno Haible  <bruno@clisp.org>
81122
81123         * m4/mbchar.m4: New file.
81124
81125 2005-08-16  Bruno Haible  <bruno@clisp.org>
81126
81127         * lib/tls.h: New file, from GNU gettext.
81128         * lib/tls.c: New file, from GNU gettext.
81129
81130 2005-08-16  Bruno Haible  <bruno@clisp.org>
81131
81132         * lib/strnlen1.h: New file.
81133         * lib/strnlen1.c: New file.
81134
81135 2005-08-16  Bruno Haible  <bruno@clisp.org>
81136
81137         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
81138         (mbi_init): Update.
81139         (mbi_avail, mbi_advance): Let the iteration end before the terminating
81140         NUL byte, not after it.
81141
81142 2005-08-16  Bruno Haible  <bruno@clisp.org>
81143
81144         * lib/strcase.h (strcasecmp): Add note in comments.
81145         * lib/strncasecmp.c: Use code from strcasecmp.c.
81146         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
81147         (strcasecmp): Work correctly in multibyte locales.
81148
81149 2005-08-16  Bruno Haible  <bruno@clisp.org>
81150
81151         * lib/mbiter.h: New file.
81152
81153 2005-08-16  Bruno Haible  <bruno@clisp.org>
81154
81155         * lib/mbfile.h: New file.
81156
81157 2005-08-16  Bruno Haible  <bruno@clisp.org>
81158
81159         * lib/mbchar.h: New file.
81160         * lib/mbchar.c: New file.
81161
81162 2005-08-16  Bruno Haible  <bruno@clisp.org>
81163
81164         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
81165         the valid ones. Makes the comparison operations transitive:
81166         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
81167         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
81168
81169 2005-08-15  Simon Josefsson  <jas@extundo.com>
81170
81171         * modules/ssize_t (License): Change to 'unlimited'.
81172
81173         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
81174
81175 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
81176
81177         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
81178         Add comments for each pending glibc patch.
81179
81180 2005-08-15  Bruno Haible  <bruno@clisp.org>
81181
81182         * lib/regex.h (__restrict_arr): Don't define to __restrict if
81183         __cplusplus is defined.
81184
81185 2005-08-14  Jim Meyering  <jim@meyering.net>
81186
81187         Sync from coreutils.
81188
81189         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
81190         Use the hash-table-based cycle-detection code not just when
81191         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
81192         Reported by James Youngman in
81193         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
81194         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
81195         FTS_TIGHT_CYCLE_CHECK.
81196         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
81197         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
81198         once again.
81199         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
81200         * lib/fts.c (fd_safer): Remove decl.
81201         Include fcntl--.h rather than unistd-safer.h
81202         (fts_safe_changedir): Don't call fd_safer; no longer needed
81203         now that we include fcntl--.h.
81204
81205 2005-08-12  Simon Josefsson  <jas@extundo.com>
81206
81207         * modules/getndelim2: Use ssize_t module.
81208         * modules/getnline: Likewise.
81209         * modules/safe-read: Likewise.
81210         * modules/xreadlink: Likewise.
81211
81212         * modules/ssize_t: New file.
81213
81214 2005-08-12  Simon Josefsson  <jas@extundo.com>
81215
81216         * m4/readline.m4: Look for termcap, curses or ncurses if required.
81217
81218 2005-08-12  Simon Josefsson  <jas@extundo.com>
81219
81220         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81221         ssize_t.
81222
81223 2005-08-12  Simon Josefsson  <jas@extundo.com>
81224
81225         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
81226         readline, getdelim and check_version.
81227         (Support for systems lacking ISO C 99: Sizes of integer types):
81228         Add size_max.
81229
81230 2005-08-12  Bruno Haible  <bruno@clisp.org>
81231
81232         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
81233
81234 2005-08-11  Simon Josefsson  <jas@extundo.com>
81235
81236         * modules/readline: New file.
81237
81238         * modules/strnlen (Files): Add strnlen.h.
81239
81240 2005-08-11  Simon Josefsson  <jas@extundo.com>
81241
81242         * m4/readline.m4: New file.
81243
81244 2005-08-11  Simon Josefsson  <jas@extundo.com>
81245
81246         * lib/readline.h, readline.c: New file.
81247
81248 2005-08-11  Simon Josefsson  <jas@extundo.com>
81249
81250         * doc/gnulib.texi (Initial import, Finishing touches): Mention
81251         gl_AVOID.
81252
81253 2005-08-11  Bruno Haible  <bruno@clisp.org>
81254
81255         * lib/strnlen.h (strnlen): Change parameter name to match comment.
81256
81257 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
81258
81259         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
81260
81261 2005-08-10  Simon Josefsson  <jas@extundo.com>
81262
81263         * tests/test-iconvme.c: New file.
81264
81265 2005-08-10  Simon Josefsson  <jas@extundo.com>
81266
81267         * m4/strnlen.m4: New file.
81268
81269         * m4/strndup.m4: Don't check for strnlen declaration, done in
81270         strnlen.m4.
81271
81272 2005-08-10  Simon Josefsson  <jas@extundo.com>
81273
81274         * lib/strndup.c: Use strnlen.h.
81275
81276         * lib/strnlen.h: New file.
81277
81278 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
81279
81280         * README: Typos.
81281
81282 2005-08-02  Simon Josefsson  <jas@extundo.com>
81283
81284         * modules/readline: New file.
81285
81286 2005-08-02  Simon Josefsson  <jas@extundo.com>
81287
81288         * modules/getdelim: New file.
81289
81290         * modules/getline: Rewrite, don't use getndelim2.
81291
81292 2005-08-02  Simon Josefsson  <jas@extundo.com>
81293
81294         * m4/getline.m4: Separate out getdelim stuff into separate module.
81295
81296         * m4/getdelim.m4: New file.
81297
81298 2005-08-02  Simon Josefsson  <jas@extundo.com>
81299
81300         * lib/getline.h, getline.c: Rewrite.
81301
81302         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
81303
81304 2005-07-31  Bruno Haible  <bruno@clisp.org>
81305
81306         * lib/lock.h (gl_lock_initializer): New macro.
81307         (gl_lock_define_initialized): Use it.
81308         (gl_rwlock_initializer): New macro.
81309         (gl_rwlock_define_initialized): Use it.
81310         (gl_recursive_lock_initializer): New macro.
81311         (gl_recursive_lock_define_initialized): Use it.
81312
81313 2005-07-30  Karl Berry  <karl@gnu.org>
81314
81315         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
81316         Report from Ben Pfaff, regarding getopt.
81317
81318 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
81319
81320         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
81321         normal way.
81322         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
81323         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
81324         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
81325         (gl_GETOPT): Use the new macros.  Most of the implementation
81326         is moved to the new macros.  This is for programs like Emacs
81327         that don't want all the functionality of gl_GETOPT.
81328
81329 2005-07-26  Bruno Haible  <bruno@clisp.org>
81330
81331         * m4/lock.m4: Update from GNU gettext.
81332
81333 2005-07-26  Bruno Haible  <bruno@clisp.org>
81334
81335         * lib/lock.h: Update from GNU gettext.
81336         * lib/lock.c: Update from GNU gettext.
81337
81338 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
81339
81340         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
81341         obsolescent AC_TRY_RUN.  Include the default includes files, for
81342         'exit'.
81343
81344 2005-07-24  Bruno Haible  <bruno@clisp.org>
81345
81346         * modules/visibility: New file.
81347         * MODULES.html.sh (Misc): Add visibility.
81348
81349 2005-07-24  Bruno Haible  <bruno@clisp.org>
81350
81351         * m4/visibility.m4: New file.
81352
81353 2005-07-24  Bruno Haible  <bruno@clisp.org>
81354
81355         * doc/visibility.texi: New file.
81356
81357 2005-07-22  Bruno Haible  <bruno@clisp.org>
81358
81359         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
81360         $(ALLOCA_H), redundant through BUILT_SOURCES.
81361         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
81362         redundant through BUILT_SOURCES.
81363         * modules/byteswap (Makefile.am): Remove explicit dependency on
81364         $(BYTESWAP_H), redundant through BUILT_SOURCES.
81365         * modules/fnmatch (Makefile.am): Remove explicit dependency on
81366         $(FNMATCH_H), redundant through BUILT_SOURCES.
81367         * modules/getopt (Makefile.am): Remove explicit dependency on
81368         $(GETOPT_H), redundant through BUILT_SOURCES.
81369         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
81370         redundant through BUILT_SOURCES.
81371         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
81372         redundant through BUILT_SOURCES.
81373         * modules/stdbool (Makefile.am): Remove explicit dependency on
81374         $(STDBOOL_H), redundant through BUILT_SOURCES.
81375         * modules/stdint (Makefile.am): Remove explicit dependency on
81376         $(STDINT_H), redundant through BUILT_SOURCES.
81377         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
81378         Remove explicit dependency on $(SYSEXITS_H).
81379         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
81380
81381 2005-07-18  Simon Josefsson  <jas@extundo.com>
81382
81383         * lib/check-version.c (check_version): Accept identical versions too.
81384
81385 2005-07-18  Bruno Haible  <bruno@clisp.org>
81386
81387         * modules/lock: New file.
81388         * MODULES.html.sh (Multithreading): New section.
81389
81390 2005-07-18  Bruno Haible  <bruno@clisp.org>
81391
81392         * m4/lock.m4: New file, from GNU gettext.
81393
81394 2005-07-18  Bruno Haible  <bruno@clisp.org>
81395
81396         * lib/lock.h: New file, from GNU gettext.
81397         * lib/lock.c: New file, from GNU gettext.
81398
81399 2005-07-18  Bruno Haible  <bruno@clisp.org>
81400
81401         * lib/lock.h (gl_once_t): New type.
81402         (gl_once_define, gl_once): New macros.
81403         * lib/lock.c (fresh_once): New variable.
81404         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
81405         functions.
81406
81407 2005-07-16  Simon Josefsson  <jas@extundo.com>
81408
81409         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
81410         workaround, suggested by Bruno.
81411
81412 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
81413
81414         * modules/xalloc (Depends-on): Add xalloc-die.
81415         * modules/xvasprintf (Depends-on): Add xalloc-die.
81416
81417 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
81418
81419         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
81420         with a minor change.
81421
81422 2005-07-15  Bruno Haible  <bruno@clisp.org>
81423
81424         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
81425         When using lib/poll.c, define poll as rpl_poll.
81426
81427 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
81428
81429         * modules/argp (Depends-on): Remove unlocked-io.
81430
81431 2005-07-14  Derek Price  <derek@ximbiot.com>
81432
81433         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
81434         for glob symlink bug.
81435
81436 2005-07-14  Bruno Haible  <bruno@clisp.org>
81437
81438         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
81439         Instead, test for *_unlocked function declarations directly.
81440
81441 2005-07-11  Simon Josefsson  <jas@extundo.com>
81442
81443         * modules/size_max: New file.
81444
81445         * modules/xsize: Depend on size_max module for size_max.m4.
81446
81447 2005-07-11  Simon Josefsson  <jas@extundo.com>
81448
81449         * lib/size_max.h: New file.
81450
81451 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
81452
81453         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
81454         copyright symbol and the year.
81455         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
81456         (version_etc_va): Use parameterized copyright notice.
81457         Reword to conform to the current GNU coding standards.
81458
81459 2005-07-11  Karl Berry  <karl@gnu.org>
81460
81461         * doc/gnulib.texi (Quoting): new node.
81462         (Initial import): more info, from Patrice.
81463
81464 2005-07-11  Bruno Haible  <bruno@clisp.org>
81465
81466         * gnulib-tool (func_usage): Document option --avoid.
81467         (Command line options): Handle --avoid.
81468         (func_acceptable): New function.
81469         (func_modules_transitive_closure): Use it.
81470
81471 2005-07-11  Bruno Haible  <bruno@clisp.org>
81472
81473         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
81474         Reported by Jim Meyering.
81475
81476 2005-07-10  Bruno Haible  <bruno@clisp.org>
81477
81478         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
81479         Needed when size_t is smaller than 'unsigned int'.
81480         Reported by Paul Eggert.
81481
81482 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
81483
81484         * modules/argp (Depends-on): Add unlocked-io
81485
81486 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
81487
81488         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
81489         block of defines.
81490
81491 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
81492
81493         * config/srclist.txt: Comment out regcomp.c, since we have a porting
81494         fix now.
81495
81496 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
81497         and Paul Eggert  <eggert@cs.ucla.edu>
81498
81499         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
81500         in wint_t, not wchar_t.  Remove now-unnecessary cast.
81501
81502 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
81503
81504         * modules/regex (Files): Add lib/regex_internal.c,
81505         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
81506         (Depends-on): Add extensions.
81507         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
81508
81509 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
81510
81511         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
81512         pathconf.
81513         * m4/same.m4 (gl_SAME): Likewise.
81514         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
81515
81516         * m4/regex.m4: Adjust to new libc regex implementation.
81517         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
81518         all the .c and .h parts of (the new) regex.
81519         Quote the m4 stuff better.
81520         Check for RE_ICASE bug of old gnulib.
81521         Check for REG_STARTEND of recent libc.
81522         Rename local variables from jm_* to gl_*.
81523         Quote operand of "test -f".
81524         Say "recent enough" version of libc, not "version 2".
81525         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
81526         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
81527         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
81528         Remove check for btowc, isascii.
81529         Require AM_LANGINFO_CODESET.
81530
81531 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
81532
81533         * lib/regex.c, regex.h: Sync from libc.
81534         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
81535         * lib/regexec.c:
81536         New files, synced from libc, except that regex_internal.h
81537         currently has a small porting fix.
81538
81539 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
81540
81541         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
81542         regex_internal.c, regexec.c.
81543         Add regex_internal.h too, but as a comment, since the libc version
81544         is currently broken in gnulib mode.
81545
81546 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
81547
81548         Support programs like Emacs that use gnulib but not gettext.
81549         * MODULES.html.sh (Internationalization functions): Add gettext-h.
81550         * modules/gettext-h: New file.
81551         * modules/gettext (Files): Remove lib/gettext.h.
81552         (Depends-on): Add gettext-h.
81553         (Makefile.am): Remove lib_SOURCES.
81554         * modules/argmatch, modules/c-stack, modules/closeout:
81555         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
81556         * modules/execute, modules/file-type, modules/getaddrinfo:
81557         * modules/getopt, modules/human, modules/javacomp:
81558         * modules/javaexec, modules/mkdir-p, modules/obstack:
81559         * modules/openat, modules/pagealign_alloc, modules/pipe:
81560         * modules/quotearg, modules/regex, modules/rpmatch:
81561         * modules/unicodeio, modules/userspec, modules/version-etc:
81562         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
81563         * modules/xsetenv:
81564         Depend on gettext-h, not gettext.
81565
81566 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
81567
81568         * gnulib-tool (func_import): Add support for 'public domain' license.
81569         * modules/alloca, modules/atexit, modules/memmove:
81570         Now public domain, not GPL.
81571         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
81572         * modules/realloc, modules/strerror, modules/strtod:
81573         Now LGPL, not GPL.
81574
81575 2005-07-05  Bruno Haible  <bruno@clisp.org>
81576
81577         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
81578         autoconf CVS. Needed for mingw.
81579
81580 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81581
81582         Remove the dependency of the strftime module on the tzset module.
81583         * modules/strftime (Depends-on): Remove dependency on tzset.
81584
81585 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81586
81587         Remove the dependency of the strftime module on the tzset module.
81588         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
81589         gl_FUNC_TZSET_CLOBBER.
81590
81591 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81592
81593         Remove the dependency of the strftime module on the tzset module.
81594         * lib/strftime.c (my_strftime)
81595         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
81596         Copy the input structure, to work around some of the bug with
81597         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
81598         Solaris releases, you should also use the tzset module, but we won't
81599         require it as a dependency any more since we don't want LGPLed code
81600         to depend on GPLed code.
81601
81602 2005-07-02  Jim Meyering  <jim@meyering.net>
81603
81604         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
81605         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
81606         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
81607         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
81608
81609 2005-07-02  Jim Meyering  <jim@meyering.net>
81610
81611         * lib/backupfile.c (backup_args): Change a `0' to NULL.
81612
81613 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81614
81615         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
81616         declares only 'struct timespec;' (!).
81617
81618 2005-07-01  Jim Meyering  <jim@meyering.net>
81619
81620         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
81621         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
81622         * lib/save-cwd.c, tempname.c:
81623         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
81624         and don't include <sys/file.h>).
81625
81626 2005-06-29  Jim Meyering  <jim@meyering.net>
81627
81628         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
81629         type name.  Use the variable name instead.
81630         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
81631         Likewise.
81632
81633 2005-06-28  Simon Josefsson  <jas@extundo.com>
81634
81635         * modules/check-version (Files): Add check-version.m4.
81636
81637 2005-06-28  Simon Josefsson  <jas@extundo.com>
81638
81639         * m4/check-version.m4: New file, suggested by Jim Meyering
81640         <jim@meyering.net>.
81641
81642 2005-06-28  Simon Josefsson  <jas@extundo.com>
81643
81644         * lib/check-version.h, lib/check-version.c: New files.
81645
81646 2005-06-28  Simon Josefsson  <jas@extundo.com>
81647
81648         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
81649         collision with global variable.  Better indentation.  Don't
81650         increment buffer pointer beyond buffer end.  Based on comments
81651         from Paul Eggert <eggert@cs.ucla.edu>.
81652
81653         * lib/base64.h: Indent.
81654
81655 2005-06-28  Simon Josefsson  <jas@extundo.com>
81656
81657         * doc/gnulib.texi (Library version handling): New section.
81658
81659 2005-06-28  Jim Meyering  <jim@meyering.net>
81660
81661         * check-module (find_included_lib_files): Hard-code another
81662         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
81663         but modules/fts-lgpl (correctly) does not list those files.
81664
81665         * modules/canonicalize (Files): Add lib/pathmax.h.
81666
81667 2005-06-25  Simon Josefsson  <jas@extundo.com>
81668
81669         * modules/check-version: New file.
81670
81671 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
81672
81673         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
81674         initializer of struct addrinfo, as an indication that we don't
81675         care how many members the structure has.
81676
81677 2005-06-24  Derek Price  <derek@ximbiot.com>
81678         and Bruno Haible  <bruno@clisp.org>
81679
81680         Remove stat module & update lstat.
81681         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
81682         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
81683         * m4/stat.m4: Remove this file.
81684
81685 2005-06-24  Derek Price  <derek@ximbiot.com>
81686         and Bruno Haible  <bruno@clisp.org>
81687
81688         Remove stat module & update lstat.
81689         * lib/stat.c: Remove this file...
81690         (slash_aware_lstat): ...moving this content and its support...
81691         * lib/lstat.c (rpl_lstat): ...into here.
81692         * lib/lstat.h: New file.
81693
81694 2005-06-24  Derek Price  <derek@ximbiot.com>
81695         and Bruno Haible  <bruno@clisp.org>
81696
81697         Remove stat module & update lstat.
81698         * config/srclist.txt (libc sources): Remove stat.
81699
81700 2005-06-24  Derek Price  <derek@ximbiot.com>
81701         and Bruno Haible  <bruno@clisp.org>
81702
81703         Remove stat module & update lstat.
81704         * MODULES.html.sh (stat): Remove.
81705         * MODULES.html: Regenerated.
81706         * modules/lstat (Description): Correct function name.
81707         (Files): Add "lstat.h".
81708         (Depends-on): Remove stat, add xalloc, stat-macros.
81709         * modules/stat: Remove this file.
81710         (Include): Add "lstat.h", remove <sys/stat.h>.
81711
81712 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
81713
81714         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
81715         (ranged_convert): Don't save conversion in a temporary struct.
81716         This causes a warning with GCC 4.0.0, and anyway in the typical
81717         case it's not worth the extra 100 bytes or so of code.
81718         (ranged_convert, __mktime_internal): When calling a function via a
81719         pointer P, use P () rather than (*P) (), as we now assume C89 or
81720         better.
81721
81722 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81723
81724         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
81725         "who -r" failed to give output.  Problem reported by Tim Waugh.
81726
81727         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
81728         (xcalloc): Use it to avoid needless tests.
81729         Problem reported by Jim Meyering.
81730
81731 2005-06-20  Derek Price  <derek@ximbiot.com>
81732
81733         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
81734         unnecessary for Autoconfs > 2.59c.
81735
81736 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81737
81738         * lib/argp.h (__option_is_short): Check upper limit of
81739         __key. Isprint() requires its argument to have the value
81740         of an unsigned char or EOF.
81741
81742 2005-06-16  Jim Meyering  <jim@meyering.net>
81743
81744         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
81745         when either N or S is zero.
81746
81747 2005-06-16  Derek Price  <derek@ximbiot.com>
81748
81749         * m4/bison.m4: Declare YACC & YFLAGS precious.
81750
81751 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
81752
81753         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
81754         multibyte string or pattern, fall back on unibyte matching.
81755         Problem reported by James Youngman.
81756
81757 2005-06-08  Bruno Haible  <bruno@clisp.org>
81758
81759         * modules/csharpcomp: New file.
81760         * MODULES.html.sh (C#): Add csharpcomp.
81761
81762 2005-06-08  Bruno Haible  <bruno@clisp.org>
81763
81764         * m4/csharpcomp.m4: New file, from GNU gettext.
81765
81766 2005-06-08  Bruno Haible  <bruno@clisp.org>
81767
81768         * lib/csharpcomp.h: New file, from GNU gettext.
81769         * lib/csharpcomp.c: New file, from GNU gettext.
81770         * lib/csharpcomp.sh.in: New file, from GNU gettext.
81771
81772 2005-06-08  Bruno Haible  <bruno@clisp.org>
81773
81774         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
81775         warning on mingw.
81776
81777 2005-06-07  Derek Price  <derek@ximbiot.com>
81778
81779         Sync from CVS.
81780         * lib/glob_.h: Indent nested #ifdef.
81781
81782 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81783
81784         Sync from coreutils.
81785         Use "file name" when talking about file names, instead of "filename"
81786         or "path", as per the GNU coding standards.
81787         * lib/mkdir-p.c: Renamed from makepath.c.
81788         (make_dir_parents): Renamed from make_path.  All callers changed.
81789         * lib/mkdir-p.h: Likewise.  All includers changed.
81790         * lib/filenamecat.c: Renamed from path-concat.c.
81791         (file_name_concat): Renamed from path_concat.  All callers changed.
81792         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
81793         * lib/filenamecat.h: Likewise.  All includers changed.
81794         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
81795         in comments or local variable names.
81796         * lib/basename.c: Likewise.
81797         * lib/canonicalize.c, canonicalize.h: Likewise.
81798         * lib/dirname.c, dirname.h: Likewise.
81799         * lib/euidaccess.c: Likewise.
81800         * lib/exclude.c: Likewise
81801         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
81802         * lib/fsusage.c, fsuage.h: Likewise.
81803         * lib/fts.c, fts_.h: Likewise.
81804         * lib/getcwd.c: Likewise.
81805         * lib/getloadavg.c: Likewise.
81806         * lib/mkstemp.c: Likewise.
81807         * lib/mountlist.c, mountlist.h: Likewise.
81808         * lib/openat.c, openat.h: Likewise.
81809         * lib/readlink-stub.c: Likewise.
81810         * lib/readutmp.c, readutmp.h: Likewise.
81811         * lib/rename.c: Likewise.
81812         * lib/rmdir.c: Likewise.
81813         * lib/same.c: Likewise.
81814         * lib/savedir.c: Likewise.
81815         * lib/stripslash.c: Likewise.
81816         * lib/tempname.c: Likewise.
81817         * lib/xreadlink.c: Likewise.
81818         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
81819         All uses changed.
81820         * lib/exclude.h: Likewise.
81821
81822         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
81823         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
81824         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
81825         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
81826         * lib/pathmax.h: Include <limits.h> unconditionally, since other
81827         files have been getting away with it for years (MORE/BSD 4.3
81828         is extinct now).
81829         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
81830         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
81831
81832         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
81833         Define to 256, not 255, as per modern POSIX.
81834
81835 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81836
81837         Sync from coreutils.
81838         Use "file name" when talking about file names, instead of "filename"
81839         or "path", as per the GNU coding standards.
81840         * MODULES.html.sh: mkdir-p renamed from makepath.
81841         filenamecat renamed from path-concat.
81842         * modules/filenamecat: Renamed from modules/path-concat.
81843         (Files): filenamecat.h and filenamecat.c renamed from
81844         path-concat.h and path-concat.c.
81845         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
81846         (Include): filenamecat.h, not path-concat.h.
81847         * modules/mkdir-p: Renamed from modules/makepath.
81848         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
81849         makepath.c.
81850         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
81851         (Include): mkdir-p.h, not makepath.h.
81852
81853 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81854
81855         Sync from coreutils.
81856         * m4/mkdir-p.m4: Renamed from makepath.m4.
81857         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
81858         Rename files from makepath.c to mkdir-p.c, and from
81859         makepath.h to mkdir-p.h.
81860         * m4/filenamecat.m4: Renamed from path-concat.m4.
81861         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
81862         Rename files from path-concat.c to filenamecat.c,
81863         and from path-concat.h to filenamecat.h.
81864         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
81865         "file name" in local variables or comments.
81866         * m4/rename.m4: Likewise.
81867
81868 2005-06-01  Bruno Haible  <bruno@clisp.org>
81869
81870         * modules/csharpexec: New file.
81871         * MODULES.html.sh (C#): New section.
81872
81873 2005-06-01  Bruno Haible  <bruno@clisp.org>
81874
81875         * m4/csharp.m4: New file, from GNU gettext.
81876         * m4/csharpexec.m4: New file, from GNU gettext.
81877
81878 2005-06-01  Bruno Haible  <bruno@clisp.org>
81879
81880         * lib/csharpexec.h: New file, from GNU gettext.
81881         * lib/csharpexec.c: New file, from GNU gettext.
81882         * lib/csharpexec.sh.in: New file, from GNU gettext.
81883
81884 2005-05-31  Derek Price  <derek@ximbiot.com>
81885             Paul Eggert  <eggert@cs.ucla.edu>
81886
81887         Sync from cvs.
81888         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
81889
81890 2005-05-31  Derek Price  <derek@ximbiot.com>
81891             Paul Eggert  <eggert@cs.ucla.edu>
81892
81893         Sync from cvs.
81894         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
81895
81896 2005-05-29  Derek Price  <derek@ximbiot.com>
81897
81898         * config/srclist.txt (glob_.h, glob.c): Add these files.
81899
81900 2005-05-29  Derek Price  <derek@ximbiot.com>
81901
81902         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
81903         * modules/glob: New file.
81904         * modules/getlogin_r: Add link to POSIX spec in description.
81905
81906 2005-05-29  Derek Price  <derek@ximbiot.com>
81907             Paul Eggert  <eggert@cs.ucla.edu>
81908
81909         * m4/glob.m4: New file.
81910
81911 2005-05-29  Derek Price  <derek@ximbiot.com>
81912             Paul Eggert  <eggert@cs.ucla.edu>
81913
81914         * lib/glob_.h, lib/glob.c: New files.
81915
81916 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81917
81918         * modules/fts (Files): Remove m4/inttypes-pri.m4.
81919         * modules/fts-lgpl (Depends-on): Remove gettext.
81920
81921 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81922
81923         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
81924         and don't require gt_INTTYPES_PRI.
81925
81926 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81927
81928         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
81929
81930         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
81931         the configuration hassle isn't worth it.
81932         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
81933         (LONGEST_MODIFIER, PRIuMAX): Remove.
81934
81935 2005-05-27  Bruno Haible  <bruno@clisp.org>
81936
81937         * lib/getlogin_r.h: Remove second include of <stddef.h>.
81938
81939 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
81940
81941         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
81942         _POSIX_PTHREAD_SEMANTICS for Solaris.
81943
81944 2005-05-25  Derek Price  <derek@ximbiot.com>
81945
81946         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
81947
81948 2005-05-25  Derek Price  <derek@ximbiot.com>
81949             Paul Eggert  <eggert@cs.ucla.edu>
81950
81951         * modules/getlogin_r, m4/getlogin_r.m4: New files.
81952         * lib/getlogin_r.c, getlogin_r.h: New files.
81953
81954 2005-05-25  Bruno Haible  <bruno@clisp.org>
81955             Derek Price  <derek@ximbiot.com>
81956
81957         * lib/getlogin_r.h: Simplify API documentation.
81958
81959 2005-05-23  Derek Price  <derek@ximbiot.com>
81960
81961         * modules/minmax (Files): Add m4/minmax.m4.
81962         (configure.ac): Add gl_MINMAX.
81963
81964 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
81965
81966         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
81967         so that unistd-safer.h (GPL'ed code) need not be included.
81968
81969 2005-05-22  Bruno Haible  <bruno@clisp.org>
81970
81971         * m4/minmax.m4: New file.
81972         Based on a patch by Derek Price <derek@ximbiot.com>.
81973
81974 2005-05-22  Bruno Haible  <bruno@clisp.org>
81975
81976         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
81977         (INT64_MIN): Fix definition.
81978         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
81979
81980         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
81981         NEED_SIGNED_INT_TYPES.
81982
81983         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
81984         HAVE_SYSTEM_INTTYPES.
81985
81986 2005-05-22  Bruno Haible  <bruno@clisp.org>
81987
81988         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
81989         Also include <sys/param.h> if it defines MIN, MAX.
81990         Based on a patch by Derek Price <derek@ximbiot.com>.
81991
81992 2005-05-21  Jim Meyering  <jim@meyering.net>
81993
81994         * modules/fts (Files): Add m4/inttypes-pri.m4.
81995         (Depends-on): Add lstat and remove gettext.  Alphabetize.
81996
81997 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81998
81999         New fts module.
82000         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
82001         (setup_dir, free_dir): New functions.
82002         (enter_dir, leave_dir): Define trivial
82003         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
82004         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
82005         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
82006         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
82007         Move to fts-cycle.c.
82008         (fts_open): Use setup_dir.
82009         (fts_close): Use free_dir.
82010         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
82011         This adds a label and some gotos, but the alternatives were messier.
82012         Check for memory allocation failure when entering a dir.
82013         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
82014         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
82015         (FTS): New member fts_cycle, that is a union that contains the
82016         old active_dir_ht and cycle_state.  All uses changed to mention
82017         fts_cycle.ht and fts_cycle.state.
82018         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
82019         fts.c, with the following changes:
82020         (setup_dir, free_dir): New functions.
82021         (enter_dir): Now returns bool.  Return true if successful, false
82022         if memory exhausted.  All callers changed.
82023         Do not bother partly cleaning up on
82024         memory allocation failure; that is free_dir's job.
82025         However, free ad if hash_insert fails, to avoid memory leak.
82026         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
82027         fts->fts_options to see which union member to use.
82028
82029 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82030
82031         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
82032         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
82033
82034 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82035
82036         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
82037
82038 2005-05-20  Jim Meyering  <jim@meyering.net>
82039
82040         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
82041         Now a macro, to pacify GCC.
82042
82043 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
82044
82045         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
82046         of -1.
82047
82048 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
82049
82050         * lib/chown.c (rpl_chown): Return -1 on failure.
82051
82052 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
82053
82054         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
82055         Don't check for stddef.h.
82056         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
82057         don't use its results.
82058         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
82059         since we include them unconditionally.  Don't require
82060         AM_STDBOOL_H, since stdbool is a prerequisite.
82061         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
82062         since we assume C89 or better.
82063         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
82064         as we don't use their results.
82065         Don't check for fchdir, memmove, memset, strrchr, as we use
82066         them unconditionally.
82067         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
82068         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
82069
82070 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
82071
82072         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
82073         Include <stddef.h> unconditionally, since we assume C89 now.
82074         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
82075         * lib/fts.c: Include fts_.h first, to check interface.
82076         Do not include intprops.h; no longer needed.
82077         Include cycle-check.h and hash.h, since fts_.h no longer does.
82078         Remove unnecessary casts of closedir to void.
82079         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
82080         decide whether to decrement nlinks.
82081         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
82082         (FTS): Use struct hash_table * instead of Hash_table, so that
82083         we no longer need to include hash.h here.
82084
82085 2005-05-18  Jim Meyering  <jim@meyering.net>
82086
82087         * modules/dirfd (License): Change to LGPL.  Most of the code
82088         is already in the public domain.
82089
82090 2005-05-18  Jim Meyering  <jim@meyering.net>
82091
82092         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
82093         Reported by Yoann Vandoorselaere.
82094
82095 2005-05-17  Jim Meyering  <jim@meyering.net>
82096
82097         * m4/fts.m4: New file, from coreutils.
82098
82099 2005-05-17  Jim Meyering  <jim@meyering.net>
82100
82101         * lib/fts.c, lib/fts_.h: New files, from coreutils.
82102
82103 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82104
82105         Sync from coreutils.
82106         * m4/unlinkdir.m4: New file.
82107
82108 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82109
82110         Sync from coreutils.
82111         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
82112         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
82113         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
82114         White space changes only.
82115         * lib/makepath.c (make_path): Port to hosts where leading "//" is
82116         special.
82117         * lib/yesno.c: Include getline.h, not ctype.h.
82118         (yesno): Don't remove leading white space; POSIX doesn't allow it.
82119         Use getline to remove arbitrary restriction on response length.
82120
82121 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82122
82123         * config/srclist-update: Spell out "Street" in FSF postal
82124         mail address; this is the style the FSF seems to prefer.
82125
82126         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
82127         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
82128         this updates FSF postal mail address.
82129
82130         Sync from coreutils.
82131         * modules/unlinkdir: New file.
82132         * modules/yesno (Depends-on): Add getline.
82133         * MODULES.html.sh (File system functions): Add unlinkdir.
82134
82135 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
82136
82137         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
82138         lib/strsep.h:
82139         Change the initial comment to refer to GPL, not LGPL.
82140         gnulib-tool will change it to LGPL as needed.
82141
82142         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
82143         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
82144         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
82145         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
82146         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
82147         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
82148         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
82149         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
82150         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
82151         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
82152         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
82153         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
82154         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
82155         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
82156         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
82157         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
82158         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
82159         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
82160         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
82161         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
82162         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
82163         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
82164         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
82165         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
82166         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
82167         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
82168         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
82169         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
82170         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
82171         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
82172         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
82173         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
82174         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
82175         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
82176         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
82177         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
82178         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
82179         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
82180         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
82181         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
82182         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
82183         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
82184         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
82185         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
82186         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
82187         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
82188         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
82189         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
82190         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
82191         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
82192         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
82193         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
82194         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
82195         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
82196         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
82197         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
82198         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
82199         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
82200         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
82201         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
82202         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
82203         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
82204         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
82205         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
82206         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
82207         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
82208         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
82209         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
82210         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
82211         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
82212         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
82213         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
82214         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
82215         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
82216         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
82217         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
82218         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
82219         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
82220         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
82221         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
82222         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
82223         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
82224         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
82225         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
82226         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
82227         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
82228         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
82229         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
82230         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
82231         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
82232         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
82233         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
82234         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
82235         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
82236         lib/yesno.c, lib/yesno.h:
82237         Update FSF postal mail address.
82238
82239 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
82240
82241         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
82242         tests/test-memmem.c, tests/test-stpncpy.c:
82243         Update FSF postal mail address.
82244
82245 2005-05-13  Bruno Haible  <bruno@clisp.org>
82246
82247         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
82248         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
82249         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
82250         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
82251         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
82252         Add support for 64-bit integers in the MSVC compiler.
82253
82254 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82255
82256         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
82257
82258 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
82259
82260         * gnulib-tool (func_import): Sort and uniquify recommended includes.
82261
82262 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
82263
82264         * doc/getdate.texi (General date syntax): Don't say that date
82265         date --iso-8601=ns generates acceptable dates; it doesn't yet.
82266         Problem reported by Nic Ferrier.
82267
82268 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
82269
82270         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
82271         specified in ai_socktype. Fix invalid ai_protocol
82272         check. ai_protocol is usually set to 0 or depending on
82273         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
82274         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
82275         ai_socktype / ai_protocol in the returned addrinfo structure.
82276
82277 2005-05-10  Simon Josefsson  <jas@extundo.com>
82278
82279         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
82280         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
82281
82282 2005-05-10  Karl Berry  <karl@gnu.org>
82283
82284         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
82285         (from http://www.gnu.org/licenses).
82286         * doc/COPYING.LIB: also rename to COPYING.LESSER.
82287         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
82288         fdl.texi suffices.
82289
82290 2005-05-10  Karl Berry  <karl@gnu.org>
82291
82292         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
82293         (COPYING.DOC): remove.
82294
82295         * config/srclist-update: new FSF address.
82296
82297 2005-05-10  Derek Price  <derek@ximbiot.com>
82298
82299         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
82300         possible.
82301
82302 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
82303             Bruno Haible  <bruno@clisp.org>
82304
82305         * modules/inet_ntop: New file.
82306         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82307         inet_ntop.
82308
82309 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
82310             Bruno Haible  <bruno@clisp.org>
82311
82312         * m4/inet_ntop.m4: New file.
82313
82314 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
82315             Bruno Haible  <bruno@clisp.org>
82316
82317         * lib/inet_ntop.h: New file.
82318         * lib/inet_ntop.c: New file, from glibc with modifications.
82319
82320 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
82321
82322         * modules/time_r (License): Change to LGPL.
82323         * modules/extensions (License): Change to LGPL.  Actually,
82324         the license is more permissive than that, but currently gnulib-tool
82325         doesn't know how to handle more-permissive licenses.
82326
82327         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
82328         Problem reported by Dave Love.
82329
82330 2005-05-08  Jim Meyering  <jim@meyering.net>
82331
82332         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
82333         blank.
82334
82335 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
82336
82337         * modules/argmatch (Depends-on): Add stdbool.
82338         * modules/backupfile (Depends-on): Likewise.
82339         * modules/chdir-long (Depends-on): Likewise.
82340         * modules/closeout (Depends-on): Likewise.
82341         * modules/cycle-check (Depends-on): Likewise.
82342         * modules/dirname (Depends-on): Likewise.
82343         * modules/fnmatch (Depends-on): Likewise.
82344         * modules/fsusage (Depends-on): Likewise.
82345         * modules/fwriteerror (Depends-on): Likewise.
82346         * modules/getcwd (Depends-on): Likewise.
82347         * modules/getloadavg (Depends-on): Likewise.
82348         * modules/hard-locale (Depends-on): Likewise.
82349         * modules/makepath (Depends-on): Likewise.
82350         * modules/mountlist (Depends-on): Likewise.
82351         * modules/nanosleep (Depends-on): Likewise.
82352         * modules/posixtm (Depends-on): Likewise.
82353         * modules/quotearg (Depends-on): Likewise.
82354         * modules/readtokens (Depends-on): Likewise.
82355         * modules/readtokens0 (Depends-on): Likewise.
82356         * modules/readutmp (Depends-on): Likewise.
82357         * modules/save-cwd (Depends-on): Likewise.
82358         * modules/strftime (Depends-on): Likewise.
82359         * modules/userspec (Depends-on): Likewise.
82360         * modules/utimecmp (Depends-on): Likewise.
82361         * modules/xgetcwd (Depends-on): Likewise.
82362         * modules/xnanosleep (Depends-on): Likewise.
82363         * modules/xstrtod (Depends-on): Likewise.
82364         * modules/yesno (Depends-on): Likewise.
82365
82366 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
82367
82368         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
82369         needless checks.
82370
82371 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
82372
82373         Merge from coreutils.  Among other things,
82374         add bulletproofing for cases where stdin, stdout, or stderr are closed.
82375         * lib/fd-safer.c: New file.
82376         * lib/fcntl-safer.h, open-safer.c: Remove.
82377         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
82378         * lib/dup-safer.c: Include unistd-safer.h first.
82379         Don't include errno.h.
82380         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
82381         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
82382         * lib/file-type.c: Rely on file-type.h change.
82383         * lib/getloadavg.c: Include unistd-safer.h.
82384         (getloadavg): Use safer open.
82385         * lib/getusershell.c: Include "stdio-safer.h".
82386         (getusershell): Use safer fopen.
82387         * lib/long-options.c (long_options): Use NULL rather than 0.
82388         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
82389         'free'.
82390         * lib/modechange.c: Likewise.
82391         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
82392         (MODE_DONE): New constant.
82393         (struct mode_change): Remove 'next' member.
82394         (make_node_op_equals): New function; like the old one of the
82395         same name, except it allocates an array.
82396         (mode_compile, mode_create_from_ref): Use it.
82397         (mode_compile): Allocate result as an array, not a linked list.
82398         Parse octal string ourself, so that we catch mistakes like "+0".
82399         (mode_adjust): Arg is an array, not a linked list.
82400         * lib/modechange.c: Include stat-macros.h, xalloc.h.
82401         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
82402         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
82403         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
82404         Remove.  This is now stat-macros.h's job.
82405         (talloc): Remove.  All callers replaced by xalloc, so that
82406         our invokers don't have to worry about reporting memory failures.
82407         (make_node_op_equals): Remove.
82408         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
82409         New constants.
82410         (struct mode_change): Moved here from modechange.h.
82411         (mode_append_entry): Remove.
82412         (mode_compile): Remove MASKED_OPS arg, since it encouraged
82413         apps to have incorrect behavior.  Use simpler algorithm for head
82414         and tail.  Don't futz with umask; that's now the job of mode_adjust.
82415         Detect more invalid usages rather than having somewhat-random behavior.
82416         Don't insert an "a=" action, as that leads to incorrect behavior.
82417         (mode_compile, mode_create_from_ref): Return NULL on error instead
82418         of an enum, since now there's only one way to have an error.  All
82419         callers changed.
82420         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
82421         at the correct time.  Simplify calculation of "+u" and its ilk.
82422         Don't mishandle "+X".
82423         (mode_free): Remove "register" and localize decls.
82424         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
82425         (struct mode_change): Move to modechange.c; callers don't
82426         need to see this stuff.
82427         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
82428         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
82429         (mode_change, mode_adjust): Reflect the new signatures noted above.
82430         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
82431         that might redefine system include files.
82432         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
82433         (my_usleep): Use NULL rather than (void *) 0.
82434         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
82435         Use siginterrupt to specify that system calls should be interrupted.
82436         (rpl_nanosleep): Move initialization of suspended closer to call of
82437         my_usleep.
82438         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
82439         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
82440         (desirable_utmp_entry): New function.
82441         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
82442         using x2nrealloc, to simplify logic.
82443         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
82444         size calculation.  Do not assume utmp file is a regular file.
82445         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
82446         (READ_UTMP_CHECK_PIDS): New constant.
82447         * lib/save-cwd.c: Include unistd-safer.h.
82448         (save_cwd): Use fd_safer.
82449         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
82450         [!_LIBC] Include "stat-macros.h" instead.
82451         * lib/unistd-safer.h (fd_safer): New decl.
82452
82453 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
82454
82455         * modules/getloadavg (Depends-on): Add unistd-safer.
82456         * modules/getusershell (Depends-on): Add stdio-safer.
82457         * modules/lstat (Depends-on): Remove xalloc.
82458         * modules/mkstemp (Depends-on): Add stat-macros.
82459         * modules/modechange (Depends-on): Remove xstrtol.
82460         Add stat-macros, xalloc.
82461         * modules/save-cwd (Depends-on): Add unistd-safer.
82462         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
82463         * modules/unistd-safer (Files): Add lib/fd-safer.c
82464         (Makefile.am): Remove lib_SOURCES.
82465
82466         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
82467         Remove fcntl-safer; unistd-safer supersedes it.
82468
82469 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
82470
82471         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
82472         AC_HEADER_STAT.
82473         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
82474         (gl_PREREQ_CHOWN): Remove.
82475         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
82476         it.  Don't require AC_HEADER_STAT.
82477         (gl_PREREQ_LSTAT): Remove.
82478         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
82479         Don't require AC_HEADER_STAT.
82480         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
82481         (gl_PREREQ_RMDIR): Remove.
82482         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
82483         mention stat-macros.h or AC_HEADER_STAT, since we'll make
82484         the stat-macros module a prerequisite.
82485         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
82486         * m4/filemode.m4 (gl_FILEMODE): Likewise.
82487         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
82488         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
82489         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
82490         variable names.
82491         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
82492         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
82493         variable prefixes.
82494         * m4/fcntl-safer.m4: Remove.
82495         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
82496         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
82497         Invoke gl_PREREQ_FD_SAFER.
82498         (gl_PREREQ_FD_SAFER): New macro.
82499         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
82500         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
82501         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
82502         Remove duplicate call to AC_LIBOBJ(readutmp).
82503         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
82504
82505         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
82506         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
82507
82508 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
82509
82510         * MODULES.html.sh (Misc): Add byteswap.
82511
82512 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
82513
82514         * modules/getcwd (Depends-on): Add extensions.
82515         * modules/openat (Depends-on): Likewise.
82516
82517 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
82518
82519         * modules/byteswap: New file.
82520
82521 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
82522
82523         * m4/byteswap.m4: New file.
82524
82525 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
82526
82527         * lib/byteswap_.h: New file.
82528
82529 2005-04-25  Karl Berry  <karl@gnu.org>
82530
82531         * m4/gettext.m4: Update from GNU gettext 0.14.4.
82532
82533 2005-04-25  Albert Chin  <china@thewrittenword.com>
82534
82535         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
82536         Toolkit C bug.
82537
82538 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
82539
82540         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
82541         (func_ln_if_changed): Remove forcibly for no error message
82542         in case file does not exist.
82543
82544 2005-04-19  Simon Josefsson  <jas@extundo.com>
82545
82546         * gnulib-tool (Options): Make --symlink mean --symbolic.
82547
82548 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
82549
82550         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
82551
82552 2005-04-16  Simon Josefsson  <jas@extundo.com>
82553
82554         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
82555
82556 2005-04-15  Simon Josefsson  <jas@extundo.com>
82557
82558         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
82559
82560 2005-04-15  Simon Josefsson  <jas@extundo.com>
82561
82562         * gnulib-tool: Rename --symlink to --symbolic.
82563
82564 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
82565
82566         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
82567         symbolic links to files instead of copying/moving.  Add --aux-dir,
82568         specifying directory relative --dir where auxiliary build tools
82569         are placed.
82570
82571 2005-04-14  Bruno Haible  <bruno@clisp.org>
82572
82573         * modules/allocsa (License): Change to LGPL.
82574         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
82575
82576 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
82577
82578         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
82579         that "UTC +1 second" continues to work.  Problem reported
82580         by Dmitry V. Levin.
82581         (relunit_snumber): New rule.
82582         (relunit): Use it.
82583
82584 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
82585
82586         * lib/getdate.y (universal_time_zone_table): New constant.
82587         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
82588         universal_time_zone_table.
82589         (lookup_zone): Prefer universal_time_zone_table to
82590         local_time_zone_table, so that "GMT" time stamps are allowed in
82591         London during the summer.  Problem reported by Ian Abbott.
82592
82593 2005-04-12  Jim Meyering  <jim@meyering.net>
82594
82595         * lib/human.c (humblock): Set *options even when returning due to
82596         xstrtoumax conversion failure.  Thanks to a used-uninitialized
82597         warning from gcc-4.
82598
82599 2005-04-09  Jim Meyering  <jim@meyering.net>
82600
82601         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
82602         -Wuninitialized: initialize tm0.tm_year.
82603
82604 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
82605
82606         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
82607         count, since there's no maximum.  All uses changed.
82608         Add member dsts_seen.
82609         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
82610         not being INT_MAX.
82611         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
82612         Use pc_rels_seen to decide whther a date is absolute.
82613
82614         * lib/getdate.y (number): Don't overwrite year.
82615         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
82616         check.
82617
82618 2005-04-02  Simon Josefsson  <jas@extundo.com>
82619
82620         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
82621         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
82622
82623 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
82624
82625         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
82626         where no absolute path name can be longer than PATH_MAX.
82627
82628 2005-03-27  Jim Meyering  <jim@meyering.net>
82629
82630         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
82631
82632 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
82633
82634         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
82635         "one's complement" -> "ones' complement" in comment, as per Knuth.
82636         "value of type" -> "type or expression" in comment.
82637         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
82638
82639 2005-03-26  Jim Meyering  <jim@meyering.net>
82640
82641         Comment nits.
82642         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
82643         Correct typos: s/or/of/.
82644
82645 2005-03-26  Jim Meyering  <jim@meyering.net>
82646
82647         * modules/check-include-files: Move to ../ and rename to...
82648         * check-module: ...this.
82649
82650 2005-03-25  Jim Meyering  <jim@meyering.net>
82651
82652         * modules/xvasprintf (Files): Add xalloc.h.
82653
82654 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
82655
82656         * modules/gettext (Files): config/config.rpath ->
82657         build-aux/config.rpath
82658         * modules/iconv (Files): Likewise.
82659         Problem reported by Oskar Liljeblad.
82660
82661 2005-03-23  Jim Meyering  <jim@meyering.net>
82662
82663         * modules/check-include-files: New script to check for
82664         missing dependencies, multiple includes, etc.
82665
82666         * modules/c-strtold (Depends-on): Add xalloc.
82667         * modules/c-strtod (Depends-on): Add xalloc.
82668         * modules/hash (Depends-on): Add xalloc.
82669         (Files): Remove lib/xalloc.h.
82670
82671         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
82672         * modules/userspec (Files): Add lib/inttostr.h.
82673
82674 2005-03-23  Jim Meyering  <jim@meyering.net>
82675
82676         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
82677
82678 2005-03-22  Jim Meyering  <jim@meyering.net>
82679
82680         * modules/stat-macros: New module.
82681         * modules/canonicalize, modules/euidaccess, modules/file-type,
82682         * modules/filemode, modules/lchown, modules/makepath,
82683         * modules/rmdir, modules/stat: Depend on new stat-macros module
82684         rather than listing lib/stat-macros.h manually.
82685         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
82686
82687 2005-03-22  Jim Meyering  <jim@meyering.net>
82688
82689         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
82690
82691 2005-03-22  Bruno Haible  <bruno@clisp.org>
82692
82693         * config/srclist.txt: Replace target directory 'config' with
82694         'build-aux'.
82695         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
82696         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
82697         ../build-aux/.
82698
82699 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
82700
82701         * modules/chdir-long (Depends-on): Add mempcpy.
82702
82703         * modules/acl, modules/backupfile, modules/c-strtod,
82704         modules/c-strtold, modules/canon-host, modules/canonicalize,
82705         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
82706         modules/exclude, modules/exitfail, modules/file-type,
82707         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
82708         modules/getdate, modules/getline, modules/getpagesize,
82709         modules/getpass, modules/getugroups, modules/group-member,
82710         modules/hard-locale, modules/hash, modules/human, modules/idcache,
82711         modules/inttostr, modules/long-options, modules/makepath,
82712         modules/md5, modules/memcasecmp, modules/memcoll,
82713         modules/modechange, modules/mountlist, modules/path-concat,
82714         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
82715         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
82716         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
82717         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
82718         modules/strftime, modules/strndup, modules/strverscmp,
82719         modules/timespec, modules/unlocked-io, modules/userspec,
82720         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
82721         modules/yesno:
82722         Remove lib_SOURCES line from Makefile.am section, as this is now
82723         done automatically by the corresponding Autoconf macro.
82724
82725 2005-03-21  Jim Meyering  <jim@meyering.net>
82726
82727         Changes imported from coreutils.
82728
82729         * lib/cycle-check.c: Don't include xalloc.h.
82730
82731         * lib/path-concat.c: Don't include assert.h.
82732         (path_concat): Remove assertion that would have triggered
82733         for ABASE starting with more than one slash.
82734         Reported by Andreas Schwab.
82735
82736         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
82737         properly when ABASE is an absolute file name.
82738         Correct the description of this function.
82739         Include <assert.h>.
82740         Add an assertion and a test driver.
82741         This fixes a bug introduced on 2004-07-02.
82742         Andreas Schwab reported the resulting failure of cp --parents:
82743         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
82744
82745 2005-03-21  Jim Meyering  <jim@meyering.net>
82746
82747         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
82748         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
82749
82750 2005-03-21  Jim Meyering  <jim@meyering.net>
82751         and  Paul Eggert  <eggert@cs.ucla.edu>
82752
82753         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
82754         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
82755         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
82756         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
82757         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
82758         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
82759         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
82760         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
82761         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
82762         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
82763         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
82764         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
82765         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
82766         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
82767         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
82768         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
82769         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
82770         for these modules.
82771
82772 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
82773
82774         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
82775         (which shouldn't happen), generate nothing instead of returning 0
82776         immediately, so that nstrftime (NULL, ...) doesn't return 0.
82777
82778 2005-03-16  Bruno Haible  <bruno@clisp.org>
82779
82780         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
82781         HAVE_LONGLONG_64BIT.
82782
82783 2005-03-16  Bruno Haible  <bruno@clisp.org>
82784
82785         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
82786         HAVE_LONGLONG_64BIT.
82787
82788 2005-03-16  Bruno Haible  <bruno@clisp.org>
82789
82790         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
82791         HAVE_LONGLONG_64BIT.
82792
82793 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
82794
82795         * lib/strftime.c (my_strftime): Prepend space to format so that we can
82796         reliably distinguish strftime failure from empty output on POSIX
82797         hosts.
82798
82799 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
82800
82801         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
82802         (iconv_string): Don't guess a size-zero buffer, as that might cause
82803         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
82804         result would be 'too large', where 'too large' is (heuristically)
82805         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
82806         overflow concerns.  This will prevent some unwanted malloc failures
82807         when the inputs are very large.
82808
82809 2005-03-15  Karl Berry  <karl@gnu.org>
82810
82811         * config/srclist.txt (config.rpath): from gettext.
82812         * config/config.rpath: update.
82813
82814 2005-03-15  Bruno Haible  <bruno@clisp.org>
82815
82816         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
82817         to 'negate'.
82818
82819         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
82820         variable.
82821
82822         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
82823         results.
82824
82825 2005-03-14  Simon Josefsson  <jas@extundo.com>
82826
82827         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
82828         <fx@gnu.org>.
82829
82830 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
82831
82832         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
82833         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
82834         intprops.h.
82835         * lib/strtol.c: Likewise.
82836
82837 2005-03-14  Jim Meyering  <jim@meyering.net>
82838
82839         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
82840         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
82841         to be nonzero so that we (and caller) can detect the difference
82842         between a valid zero-length expansion and an error return, even
82843         when the underlying strftime fails before writing anything into
82844         that location.
82845
82846 2005-03-14  Bruno Haible  <bruno@clisp.org>
82847
82848         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
82849         Update from GNU gettext 0.14.3.
82850
82851 2005-03-10  Jim Meyering  <jim@meyering.net>
82852
82853         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
82854
82855 2005-03-10  Jim Meyering  <jim@meyering.net>
82856
82857         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
82858         so that this module works on systems without fchdir.
82859
82860 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
82861
82862         Factor int-properties macros into a single file, except for
82863         glibc-related files.
82864         * lib/intprops.h: New file.
82865         * lib/getloadavg.c: Include it instead of limits.h.
82866         (INT_STRLEN_BOUND): Remove.
82867         * lib/human.c: Include intprops.h.
82868         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
82869         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
82870         302/1000.
82871         * lib/inttostr.h: Include intprops.h instead of limits.h.
82872         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
82873         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
82874         for consistency with intprops.h.
82875         (time_t_is_integer, twos_complement_arithmetic): Use them.
82876         * lib/sig2str.h: Include <signal.h>, intprops.h.
82877         (INT_STRLEN_BOUND): Remove.
82878         * lib/strftime.c (TYPE_SIGNED): Remove.
82879         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
82880         * lib/strtol.c: Adjust comments to match intprops.h.
82881         * lib/userspec.c: Include intprops.h.
82882         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
82883         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
82884         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
82885         instead of rolling our own expressions.
82886         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
82887
82888         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
82889         instead of int.
82890         (my_strftime): Do not mishandle years close to INT_MAX, by doing
82891         the right thing even if adding 1900 would overflow.  Similarly
82892         for tm_mon + 1 and tm_yday + 1.
82893         Make %Y always equivalent to %C%y, and similarly for %G and %g.
82894         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
82895         (DO_SIGNED_NUMBER): New macro.
82896         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
82897
82898 2005-03-07  Bruno Haible  <bruno@clisp.org>
82899
82900         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
82901
82902 2005-03-07  Bruno Haible  <bruno@clisp.org>
82903
82904         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
82905
82906 2005-03-04  Derek R. Price  <derek@ximbiot.com>
82907
82908         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
82909         (func_import): Only replace files via --import when they have actually
82910         changed.
82911
82912 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82913
82914         * m4/mmap-anon.m4: New file.
82915         * m4/pagealign_alloc.m4: New file.
82916
82917 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82918             Bruno Haible  <bruno@clisp.org>
82919
82920         * modules/pagealign_alloc: New file.
82921         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
82922
82923 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82924             Bruno Haible  <bruno@clisp.org>
82925
82926         * lib/pagealign_alloc.h: New file.
82927         * lib/pagealign_alloc.c: New file.
82928
82929 2005-03-03  Bruno Haible  <bruno@clisp.org>
82930
82931         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
82932         Use an all-permissive copyright notice, recommended by RMS.
82933
82934 2005-03-02  Bruno Haible  <bruno@clisp.org>
82935
82936         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
82937         of AIX, the replacement has to be done only after <string.h> is
82938         included, therefore not in config.h. stpncpy.h does the replacement,
82939         and stpncpy.c uses it.
82940
82941 2005-03-02  Bruno Haible  <bruno@clisp.org>
82942
82943         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
82944         stpncpy.c uses it.
82945
82946 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82947
82948         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
82949         The workaround isn't strictly needed for POSIX conformance, and
82950         it's too much of a pain to configure and maintain.  We'll ask
82951         people to fix their kernels instead.
82952         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
82953         (NANOSLEEP_BUG_WORKAROUND): Remove.
82954         (xnanosleep): Remove the workaround.
82955
82956 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82957
82958         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
82959         Reported by Derek Price.
82960         (Include): Add "timespec.h".
82961
82962         * modules/xnanosleep (Depends-on): Remove gethrxtime.
82963
82964 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82965
82966         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
82967         to detect nanosleep bug.
82968
82969 2005-03-01  Bruno Haible  <bruno@clisp.org>
82970
82971         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
82972
82973 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82974
82975         * modules/gethrxtime: New file.
82976         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
82977         (Depends-on): Add gethrxtime.
82978         (configure.ac): Add gl_XNANOSLEEP.
82979         (Makefile.am): Remove lib_SOURCES line.
82980
82981 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
82982
82983         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
82984         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
82985
82986 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
82987
82988         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
82989         * lib/timespec.h (gettime): Return void, since it always
82990         succeeds now.  All uses changed.
82991         * lib/gettime.c (gettime): Likewise.
82992         [HAVE_NANOTIME]: Prefer nanotime.
82993         Assume gettimeofday succeeds, as POSIX requires.
82994         Assime time () succeeds, since other code already does.
82995         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
82996         (timespec_subtract): Remove.
82997         (NANOSLEEP_BUG_WORKAROUND): New constant.
82998         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
82999         things considerably.  Use it only on GNU/Linux hosts, since the
83000         workaround shouldn't be needed elsewhere.
83001
83002 2005-02-24  Bruno Haible  <bruno@clisp.org>
83003
83004         * modules/gettext (Files): Add m4/glibc2.m4.
83005
83006 2005-02-24  Bruno Haible  <bruno@clisp.org>
83007
83008         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
83009         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
83010         * m4/progtest.m4:
83011         Update from GNU gettext 0.14.2.
83012         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
83013
83014 2005-02-24  Bruno Haible  <bruno@clisp.org>
83015
83016         * lib/localcharset.c: Update from GNU gettext 0.14.2.
83017         * lib/config.charset: Update from GNU gettext 0.14.2.
83018
83019 2005-02-24  Bruno Haible  <bruno@clisp.org>
83020
83021         * lib/gettext.h: Update from GNU gettext 0.14.2.
83022
83023 2005-02-23  Simon Josefsson  <jas@extundo.com>
83024
83025         * m4/iconvme.m4: New file.
83026
83027 2005-02-23  Jim Meyering  <jim@meyering.net>
83028
83029         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
83030         change.
83031         Thanks to Bruno Haible for catching it.
83032
83033 2005-02-22  Simon Josefsson  <jas@extundo.com>
83034
83035         * modules/iconvme: New file.
83036
83037         * MODULES.html.sh: Add iconvme.
83038
83039 2005-02-22  Simon Josefsson  <jas@extundo.com>
83040
83041         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
83042
83043 2005-02-22  Simon Josefsson  <jas@extundo.com>
83044
83045         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
83046
83047 2005-02-22  Jim Meyering  <jim@meyering.net>
83048
83049         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
83050         s/ifndef/ifdef/.
83051
83052 2005-02-20  Neil Conway  <neilc@samurai.com>
83053
83054         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
83055         returned by OSX/Darwin if the specified buffer is not large
83056         enough for the hostname.
83057
83058 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83059
83060         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
83061         pass it to _help, otherwise the latter coredumps trying to
83062         dereference state.root_argp.
83063
83064 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
83065
83066         * modules/chdir-long (Depends-on): Add memrchr.
83067         * modules/memrchr (Files): Add lib/memrchr.h.
83068         (Include): "memrchr.h".
83069
83070 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
83071
83072         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
83073
83074 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
83075
83076         * lib/memrchr.h: New file.
83077         * lib/chdir-long.c: Include it.
83078         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
83079         Don't bother including stddef.h.
83080
83081 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
83082
83083         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
83084         inclusion.
83085         Include <sys/types.h>, for dev_t.
83086         (ME_DUMMY, ME_REMOTE): Move from here....
83087         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
83088         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
83089         Dmitry V. Levin.
83090         Include mountlist.h first, to test the interface.
83091
83092 2005-01-29  Bruno Haible  <bruno@clisp.org>
83093
83094         * lib/progname.c (program_name): Initialize.
83095         Needed when linking statically on MacOS X.
83096
83097 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
83098
83099         Sync from coreutils.
83100         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
83101         (Depends-on): Add c-strtod.
83102         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
83103
83104 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
83105
83106         Sync from coreutils.
83107         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
83108
83109         Remove files that are specific to coreutils.
83110         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
83111
83112 2005-01-28  Bruno Haible  <bruno@clisp.org>
83113
83114         * modules/javacomp: New file.
83115         * MODULES.html.sh (Java): Add javacomp.
83116
83117 2005-01-28  Bruno Haible  <bruno@clisp.org>
83118
83119         * m4/javacomp.m4: New file, from GNU gettext.
83120
83121 2005-01-28  Bruno Haible  <bruno@clisp.org>
83122
83123         * lib/javacomp.sh.in: New file, from GNU gettext.
83124         * lib/javacomp.h: New file, from GNU gettext.
83125         * lib/javacomp.c: New file, from GNU gettext.
83126
83127 2005-01-26  Simon Josefsson  <jas@extundo.com>
83128
83129         * lib/gai_strerror.c: Use GPL in header.
83130
83131 2005-01-26  Bruno Haible  <bruno@clisp.org>
83132
83133         * modules/javaexec: New file.
83134         * MODULES.html.sh (Java): Add javaexec.
83135
83136 2005-01-26  Bruno Haible  <bruno@clisp.org>
83137
83138         * m4/javaexec.m4: New file, from GNU gettext.
83139
83140 2005-01-26  Bruno Haible  <bruno@clisp.org>
83141
83142         * lib/javaexec.sh.in: New file, from GNU gettext.
83143         * lib/javaexec.h: New file, from GNU gettext.
83144         * lib/javaexec.c: New file, from GNU gettext.
83145
83146 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83147
83148         * modules/lchown (Depends-on): Remove lchown.h
83149
83150 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83151
83152         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
83153         must be defined if the header file was not found, in order
83154         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
83155
83156 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83157
83158         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
83159         initializers for struct pentry_state.
83160         (__argp_error): Check return value of __asprintf
83161         (__argp_failure): Translate error message
83162
83163         * lib/argp-parse.c: Removed braces around the expansion of N_()
83164
83165 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83166
83167         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
83168         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
83169         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
83170         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
83171         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
83172         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
83173         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
83174         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
83175         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
83176         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
83177         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
83178         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
83179         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
83180         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
83181         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
83182         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
83183         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
83184         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
83185         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
83186         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
83187         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
83188         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
83189         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
83190         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
83191         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
83192         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
83193         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
83194         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
83195         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
83196         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
83197         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
83198         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
83199         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
83200         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
83201         xstrtol.m4, xstrtoumax.m4, yesno.m4:
83202         Use an all-permissive copyright notice, recommended by RMS.
83203
83204 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
83205
83206         * modules/chdir-long (Depends-on): Remove mempcpy.
83207
83208 2005-01-21  Jim Meyering  <jim@meyering.net>
83209
83210         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
83211         same value as for Solaris 9.
83212
83213         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
83214         component length.  This included changing the parameter to be
83215         of type `char *' rather than `char const *'.
83216         * lib/chdir-long.h (chdir_long): Update prototype.
83217
83218         * lib/openat.c (fdopendir, fstatat): New functions.
83219         * lib/openat.h: Include headers required for use of DIR and struct
83220         stat.
83221         [AT_SYMLINK_NOFOLLOW]: Define.
83222         (fdopendir, fstatat): Add prototypes.
83223
83224 2005-01-21  Bruno Haible  <bruno@clisp.org>
83225
83226         * modules/classpath: New file.
83227         * MODULES.html.sh (Java): Add classpath.
83228
83229 2005-01-21  Bruno Haible  <bruno@clisp.org>
83230
83231         * lib/classpath.h: New file, from GNU gettext.
83232         * lib/classpath.c: New file, from GNU gettext.
83233
83234 2005-01-20  Simon Josefsson  <jas@extundo.com>
83235
83236         * modules/version-etc-fsf: New file.
83237
83238 2005-01-20  Simon Josefsson  <jas@extundo.com>
83239
83240         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
83241         * lib/version-etc.c: Remove version_etc_copyright.
83242         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
83243         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
83244
83245 2005-01-20  Simon Josefsson  <jas@extundo.com>
83246
83247         * lib/base64.h (isbase64): Add.
83248
83249         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
83250         using a unsigned prototype, don't inline.
83251         (base64_decode): Use it.
83252
83253 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
83254
83255         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
83256         it.
83257
83258 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
83259
83260         * lib/save-cwd.c (save_cwd): Remove code to support the case
83261         where fchdir is missing or flaky.
83262
83263 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
83264
83265         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
83266
83267 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
83268
83269         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
83270         AC_LIBSOURCES now does this.
83271         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
83272         with new ullong_max module.
83273
83274 2005-01-19  Bruno Haible  <bruno@clisp.org>
83275
83276         * modules/sh-quote: New file.
83277         * MODULES.html.sh (Executing programs): Add sh-quote.
83278
83279 2005-01-19  Bruno Haible  <bruno@clisp.org>
83280
83281         * lib/sh-quote.h: New file, from GNU gettext.
83282         * lib/sh-quote.c: New file, from GNU gettext.
83283
83284 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
83285
83286         Merge from coreutils.
83287         * m4/ullong_max.m4: New file.
83288         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
83289         (gl_MACROS): Assume localeconv exists.
83290
83291 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
83292
83293         Merge changes from coreutils, as described below in several
83294         changelogs dated today.
83295
83296         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
83297         (O_DIRECTORY): Remove; not needed here, since "." must be
83298         a directory.  All uses removed.
83299         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
83300         universal on Suns, and we also need to test for IRIX.
83301         Revamp code to use 'if' rather than '#if'.
83302         Avoid unnecessary comparison of cwd->desc to 0.
83303
83304         * lib/utimens.c (futimens): Robustify the previous patch, by checking
83305         for known valid error numbers rather than observed invalid ones.
83306
83307 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
83308
83309         * modules/ullong_max: New file.
83310
83311         * modules/chdir-long, modules/openat: New files.
83312         * modules/save-cwd (Depends-on): Depend on chdir-long.
83313         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
83314
83315 2005-01-18  Jim Meyering  <jim@meyering.net>
83316
83317         Merge from coreutils.
83318         * m4/chdir-long.m4, m4/openat.m4: New files.
83319         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
83320         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
83321         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
83322         is sane and DOES follow symlinks.  Besides, testing 20 different
83323         systems found no broken chown implementations.
83324         Prompted by a change in rsync's copy of this macro.
83325         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
83326
83327         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
83328
83329         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
83330         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
83331         NULL-means-set-to-current-time semantics.
83332         Remove temporary file immediately, rather than waiting
83333         for configure's at-exit trap code to do it.
83334
83335 2005-01-18  Jim Meyering  <jim@meyering.net>
83336
83337         * lib/version-etc.c (version_etc_copyright): Update copyright date.
83338
83339         * lib/utimens.c (futimens): Account for the fact that futimes
83340         can also fail with errno == ENOSYS or errno == ENOENT.
83341         Patch from Dmitry V. Levin.
83342
83343         Change the name of the robust chdir function from chdir to chdir_long.
83344         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
83345         (restore_cwd): Use chdir_long, not chdir.
83346         * lib/chdir-long.c: Renamed from chdir.c.
83347         * lib/chdir-long.h: Renamed from chdir.h.
83348         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
83349         Hurd.
83350
83351 2005-01-18  Bruno Haible  <bruno@clisp.org>
83352
83353         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
83354         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
83355         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
83356         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
83357         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
83358         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
83359         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
83360         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
83361         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
83362         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
83363         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
83364         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
83365         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
83366         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
83367         Use an all-permissive copyright notice, recommended by RMS.
83368
83369 2005-01-18  Bob Proulx  <bob@proulx.com>
83370
83371         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
83372         simplify offsetof() macro construct to avoid compile failure with
83373         native HP-UX 11.0 ANSI C compiler.
83374
83375 2005-01-17  Bruno Haible  <bruno@clisp.org>
83376
83377         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
83378         redundant because stpncpy.m4 takes care of it.
83379
83380 2005-01-17  Bruno Haible  <bruno@clisp.org>
83381
83382         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
83383
83384 2005-01-17  Bruno Haible  <bruno@clisp.org>
83385
83386         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
83387         used.
83388
83389 2005-01-17  Bruno Haible  <bruno@clisp.org>
83390
83391         * lib/fwriteerror.h (fwriteerror): Change specification to include
83392         fclose.
83393         * lib/fwriteerror.c: Include <stdbool.h>.
83394         (fwriteerror): At the end, close the file stream. Record whether
83395         stdout was already closed.
83396
83397 2005-01-17  Bruno Haible  <bruno@clisp.org>
83398
83399         * lib/execute.c (environ): Declare if needed.
83400         * lib/pipe.c (environ): Likewise.
83401         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
83402
83403 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83404
83405         * modules/argp: Depend on vsnprintf
83406
83407 2005-01-10  Jim Meyering  <jim@meyering.net>
83408
83409         * modules/closeout (Depends-on): Add atexit.
83410
83411 2005-01-06  Bruno Haible  <bruno@clisp.org>
83412
83413         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
83414
83415 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83416
83417         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
83418         definitions to be after all include files, to avoid collisions.
83419         Problem reported by Bob Proulx.
83420
83421 2005-01-04  Jim Meyering  <jim@meyering.net>
83422
83423         Changes imported from coreutils.
83424         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
83425         as the mkstemp template, use a temporary directory and an
83426         8.3-friendly template to avoid trouble on systems like DJGPP.
83427         Reported by Juan M. Guerrero via Stepan Kasal.
83428         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
83429         close. Remove the temporary directory right away, rather than waiting
83430         for configure's at-exit trap code to do it.
83431         Suggestion from Stepan Kasal.
83432
83433 2005-01-01  Simon Josefsson  <jas@extundo.com>
83434
83435         * gnulib-tool: Print #include directives when --import'ing.
83436
83437 2004-12-28  Simon Josefsson  <jas@extundo.com>
83438
83439         * tests/test-base64.c: Include required header files.  Remove
83440         unused variables.
83441
83442 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
83443
83444         * modules/error (Depends-on): Remove gettext.
83445
83446 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
83447
83448         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
83449         not needed.  This removes a dependency on the gettext module.
83450         [defined _LIBC]: Do not include <libintl.h>; not needed.
83451
83452 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
83453
83454         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
83455         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
83456
83457 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
83458
83459         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
83460         HAVE_DECL_STRTOLD.
83461
83462 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
83463
83464         * modules/getdate (Depends-on): Remove alloca-opt.
83465
83466 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
83467
83468         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
83469
83470 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
83471
83472         * lib/argp-parse.c: Include <stddef.h>.
83473         (alignof, alignto): New macros.
83474         (parser_init): Don't assume that void * is aligned sufficiently
83475         for struct option.
83476
83477         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
83478         need to extend the stack.
83479         (YYINITDEPTH): New macro, so that the initial stack isn't overly
83480         large.
83481
83482 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83483
83484         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
83485
83486 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
83487
83488         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
83489         (2004-10-24) change.  Apparently this was a false alarm.
83490
83491         * modules/getdate: Depend on alloca-opt, not alloca.
83492
83493 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
83494
83495         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
83496         Remove now-obsolete comment about AIX.
83497         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
83498         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
83499         (YYMAXDEPTH): New macro.
83500
83501 2004-12-18  Simon Josefsson  <jas@extundo.com>
83502
83503         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
83504
83505 2004-12-18  Bruno Haible  <bruno@clisp.org>
83506
83507         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
83508
83509 2004-12-18  Bruno Haible  <bruno@clisp.org>
83510
83511         * lib/fatal-signal.c (fatal_signals): Make non-const.
83512         (init_fatal_signals): New function.
83513         (uninstall_handlers, install_handlers): Ignore signals that were set to
83514         SIG_IGN.
83515         (at_fatal_signal): Call init_fatal_signals.
83516         (init_fatal_signal_set): Likewise. Ignore signals that were set to
83517         SIG_IGN.
83518         Reported by Paul Eggert.
83519
83520 2004-12-18  Bruno Haible  <bruno@clisp.org>
83521
83522         * doc/alloca.texi: New file.
83523         * doc/alloca-opt.texi: New file.
83524
83525 2004-12-17  Jim Meyering  <jim@meyering.net>
83526
83527         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
83528         Otherwise, install-sh could exit with improper exit status when
83529         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
83530
83531 2004-12-16  Simon Josefsson  <jas@extundo.com>
83532
83533         * tests/test-base64.c: Add license.
83534
83535 2004-12-15  Stepan Kasal  <address@hidden>
83536
83537         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
83538
83539 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
83540
83541         * modules/getcwd (Files): Add m4/d-ino.m4.
83542         Suggested by Mark D. Baushke.
83543
83544 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
83545
83546         * lib/getdate.y (textint): New member "negative".
83547         (time_zone_hhmm): New function.
83548         Expect 14 shift-reduce conflicts, not 13.
83549         (o_colon_minutes): New rule.
83550         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
83551         (yylex): Set the "negative" member of signed numbers.
83552
83553 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
83554
83555         * doc/getdate.texi (Time of day items, Time zone items):
83556         Describe new formats +00:00, UTC+00:00.
83557
83558 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83559
83560         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
83561         spurious "-l"s.  Problem reported by Stepan Kasal.
83562
83563 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
83564
83565         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
83566         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
83567
83568 2004-12-04  Simon Josefsson  <jas@extundo.com>
83569
83570         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
83571         Vandoorselaere <yoann@prelude-ids.org>.
83572
83573 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
83574
83575         Changes imported from coreutils.
83576         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
83577         exist.
83578         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
83579
83580 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
83581
83582         Changes imported from coreutils.
83583         * lib/hard-locale.c: Assume <locale.h> exists.
83584         Include "strdup.h".
83585         (GLIBC_VERSION): New macro.
83586         (hard_locale): Assume setlocale exists.
83587         Rewrite to avoid #ifdef.
83588         Use strdup rather than malloc + strcpy.
83589         * lib/human.c: Assume <locale.h> exists.
83590         (human_readable): Assume localeconv exists.
83591
83592 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
83593
83594         * modules/hard-locale (Depends-on): Add strdup.
83595
83596 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
83597
83598         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
83599         convert T2, not T.  (Imported from libc.)
83600
83601 2004-11-30  Simon Josefsson  <jas@extundo.com>
83602
83603         * modules/restrict (License): Change to LGPL.
83604
83605 2004-11-30  Simon Josefsson  <jas@extundo.com>
83606
83607         * m4/restrict.m4: Add copyright and copying conditions.
83608
83609 2004-11-30  Simon Josefsson  <jas@extundo.com>
83610
83611         * m4/base64.m4: New file.
83612
83613 2004-11-30  Simon Josefsson  <jas@extundo.com>
83614
83615         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
83616         base64.
83617
83618         * tests/test-base64.c: New file.
83619
83620         * modules/base64: New file.
83621
83622 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
83623
83624         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
83625         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
83626
83627         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
83628
83629 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
83630
83631         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
83632         (__getcwd.c): Don't restore errno; glibc doesn't.
83633         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
83634         first, falling back to our code only if its results look suspicious.
83635         Ensure that the resulting buffer is only as large as necessary.
83636
83637         * lib/readutmp.c: Include readutmp.h first.
83638         Include <errno.h>, since readutmp.h no longer does that.
83639         * lib/readutmp.h: Don't include <errno.h>,
83640         <sys/param.h>, <time.h>; not needed to establish interface.
83641         (errno): Remove decl.
83642         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
83643         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
83644         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
83645
83646 2004-11-28  Simon Josefsson  <jas@extundo.com>
83647
83648         * lib/base64.h, base64.c: New file.
83649
83650 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
83651
83652         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
83653
83654 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
83655
83656         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
83657         (Depends-on): Remove pathmax, same.  Add mempcpy.
83658         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
83659         (Makefile.am): Append getcwd.h to lib_SOURCES.
83660         (Include): Add getcwd.h.
83661         (Maintainer): Change from Jim Meyering to "all, glibc",
83662         since getdate now uses intended-for-glibc code.
83663         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
83664         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
83665
83666 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83667
83668         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
83669         HP's ANSI C compiler.
83670         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
83671         Declaring int functions causes warnings on some modern systems and
83672         shouldn't be needed to compile on ancient ones.
83673         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
83674         defined.
83675
83676         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
83677         with the following changes.
83678         (__set_errno): Parenthesize properly.
83679         Include <stdbool.h>.
83680         (MIN, MAX, MATCHING_INO): New macros.
83681         (__getcwd): Define with prototype, not K&R form.
83682         Use heuristics to allocate default buffer on stack if possible.
83683         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
83684         behavior, and to avoid the PATH_MAX limit when computing
83685         ../../../../...
83686         Use MATCHING_INO to compare inode number to file.
83687         Check for arithmetic overflow in size calculations.
83688         Fix bug in reallocation of dot array that caused getcwd to fail
83689         on directories nested deeper than 75.
83690         Be more careful about saving errno on error.
83691         Do not use realloc; use only free+malloc, as this is a bit
83692         more flexible and avoids a needless copy operation.
83693         Do not inspect st_dev and st_ino for symbolic links; POSIX
83694         doesn't specify the latter.
83695         Check for closedir errors.
83696         Avoid needless casts.
83697         Use "#ifdef weak_alias" around weak_alias, to be like other
83698         glibc code.
83699         The following changes to getcwd.c have effect only when used in
83700         gnulib; they have no effect inside glibc proper.
83701         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
83702         as alloca isn't used.
83703         (alloca, __alloca): Likewise.
83704         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
83705         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
83706         unconditionally, as gnulib assumes C89 or better.
83707         Do not include <sys/param.h>.
83708         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
83709         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
83710         better.
83711         (NULL) [!defined NULL]: Remove; we assume C89 or better.
83712         Include <dirent.h> in a way that is compatible with modern Autoconf.
83713         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
83714         New macros, if not already defined.
83715         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
83716         Use "_LIBC", not "defined _LIBC", for consistency.
83717         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
83718         a mempcpy module.
83719         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
83720         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
83721         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
83722         credit only to Jim Meyering and adjust the copyright dates.
83723         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
83724         <stdlib.h>, <unistd.h>, "pathmax.h".
83725         Instead, include "xgetcwd.h" (first) and "getcwd.h".
83726         (INITIAL_BUFFER_SIZE): Remove.
83727         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
83728
83729 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83730
83731         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
83732         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
83733         Use the _ONCE methods, for efficiency.
83734         Check for fcntl.h.  In test program, include <errno.h>
83735         and <fcntl.h> if available.  Remove old K&R cruft from
83736         test program.  Check for common errors in GNU/Linux,
83737         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
83738         don't do AC_LIBOBJ, as that's getcwd.m4's job.
83739         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
83740         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
83741         name accordingly.
83742         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
83743         accommodate new getcwd.c.
83744         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
83745         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
83746         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
83747         that's all we need now.
83748
83749 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83750
83751         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
83752         argp-parse.c depends on getopt internals, that means we should
83753         always use our getopt, to be on the safe side.
83754         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
83755         order not to spoil the result of an eventual previous invocation
83756         of gl_GETOPT_SUBSTITUTE.
83757
83758 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83759
83760         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
83761         redefinition warnings. To avoid them, include the defines
83762         in `#if !defined __need_getopt ... #endif'. The only place
83763         where __getopt_argv_const is used is in definitions
83764         of getopt_long and getopt_long_only below, which are as well
83765         protected by `#ifndef __need_getopt'.
83766         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
83767         __need_getopt after including <stdio.h> and <unistd.h> These
83768         headers might have defined it.
83769
83770 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
83771
83772         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
83773
83774 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
83775
83776         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
83777         (futimens): New function, which uses futimes if available.
83778         (futimens, utimens): Support timespec==NULL, with same semantics
83779         as utime and utimens.
83780         * lib/utimens.h (futimens): New decl.
83781
83782 2004-11-23  Jim Meyering  <jim@meyering.net>
83783
83784         * lib/getopt_.h: Remove trailing blanks.
83785
83786 2004-11-23  Jim Meyering  <jim@meyering.net>
83787
83788         * lib/__fpending.c: Add comment.
83789
83790 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
83791
83792         * modules/canonicalize (Depends-on): Add xreadlink.
83793         Problem reported by James Youngman.
83794
83795 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
83796
83797         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
83798         New macros.
83799         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
83800         optopt): Use them instead of invoking ## directly; otherwise, the
83801         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
83802
83803 2004-11-19  Bruno Haible  <bruno@clisp.org>
83804
83805         * lib/strtok_r.c: Move comments from here...
83806         * lib/strtok_r.h: ... to here.
83807
83808 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
83809
83810         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
83811         implementations that mishandle size_t overflow.
83812
83813 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
83814
83815         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
83816         might fail.  Problem reported by Yoann Vandoorselaere.
83817         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
83818         implementations that mishandle size_t overflow.
83819
83820 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83821
83822         * modules/canon-host (Depends-on): Add strdup.
83823
83824 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83825
83826         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
83827
83828 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83829
83830         * lib/canon-host.c: Include "strdup.h".
83831         (canon_host): Use getaddrinfo if available, so that IPv6 works.
83832         Use strdup instead of malloc/strcpy to duplicate strings.
83833
83834         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
83835         (human_space_before_unit): New constant.
83836         * lib/human.c (human_readable): Support it.
83837
83838         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
83839         (xgetcwd): Set errno correctly when failing.
83840         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
83841         the failure is actually due to a PATH_MAX problem.
83842
83843         Further getopt changes to make it more likely that glibc will
83844         buy the changes back.
83845         * lib/getopt.c (POSIXLY_CORRECT): New constant.
83846         (getopt): Use it, so to preserve glibc semantic
83847         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
83848         when compiling for libc.
83849         * lib/getopt_.h (__getopt_argv_const): Bring it back.
83850         (getopt_long, getopt_long_only): Use it.
83851
83852         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
83853         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
83854         (getopt): Argv is now char * const *, as per standard.
83855         (_getopt_internal_r, _getopt_internal): Argv is now char **,
83856         not char *__getopt_argv_const *.
83857         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
83858         _getopt_long_only_r): Likewise.
83859         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
83860         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
83861         _getopt_long_r, _getopt_long_only_r): Likewise.
83862         * lib/getopt_.h (__getopt_argv_const): Remove.
83863         (getopt): Argv is now char * const *, as per standard.
83864
83865         * lib/getdate.y (tORDINAL): New token.
83866         (day, relunit): Allow it for relative times.
83867         (relative_time_table): Use tORDINAL for ordinals.
83868
83869 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83870
83871         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
83872         Document that "second" isn't allowed as an ordinal number.
83873
83874 2004-11-16  Jim Meyering  <jim@meyering.net>
83875
83876         * modules/closeout (Depends-on): Add fpending.
83877
83878 2004-11-15  Jim Meyering  <jim@meyering.net>
83879
83880         * lib/closeout.c: Include "__fpending.h" once again.
83881         Include <stdbool.h>.
83882         (close_stdout): Don't fail just because stdout was closed initially,
83883         since some programs don't write to stdout in the normal course of
83884         operation (other than --version and --help), and we don't want this
83885         function to make e.g. `touch file >&-' fail.
83886         But do fail if it was closed and someone has tried to write to it.
83887         E.g., `printf foo >&-' must fail.
83888
83889 2004-11-13  Jim Meyering  <jim@meyering.net>
83890
83891         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
83892
83893 2004-11-12  Simon Josefsson  <jas@extundo.com>
83894
83895         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
83896         small doc fix is still pending.
83897
83898 2004-11-11  Simon Josefsson  <jas@extundo.com>
83899
83900         * modules/strtok_r: New file.
83901
83902         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83903         strtok_r.
83904
83905 2004-11-11  Simon Josefsson  <jas@extundo.com>
83906
83907         * m4/strtok_r.m4: New file.
83908
83909         * m4/getopt.m4: Replace opterr.
83910
83911 2004-11-11  Simon Josefsson  <jas@extundo.com>
83912
83913         * lib/strtok_r.h, strtok_r.c: New file.
83914
83915 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
83916
83917         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
83918         of replacing opterr, getopt, etc.  This should handle the
83919         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
83920
83921 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
83922
83923         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
83924         we can stop lying to compilers about the constness of argv when we
83925         are compiled outside glibc.
83926         (getopt, getopt_long, getopt_long_only): Use it.
83927         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
83928         _getopt_internal, getopt): Likewise.
83929         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
83930         _getopt_long_only_r): Likewise.
83931         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
83932         _getopt_long_r, _getopt_long_only_r): Likewise.
83933
83934         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
83935         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
83936         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
83937         the other external symbols.
83938         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
83939         declaration, since the above renaming now works around collisions.
83940
83941 2004-11-11  Jim Meyering  <jim@meyering.net>
83942
83943         * lib/linebreak.c: Remove trailing blanks.
83944         * lib/alloca_.h: Likewise.
83945         * lib/acosl.c: Likewise.
83946         * lib/euidaccess.c: Likewise.
83947         * lib/allocsa.h: Likewise.
83948
83949 2004-11-10  Simon Josefsson  <jas@extundo.com>
83950
83951         * m4/getaddrinfo.m4: New file.
83952
83953 2004-11-10  Simon Josefsson  <jas@extundo.com>
83954
83955         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
83956
83957 2004-11-10  Simon Josefsson  <jas@extundo.com>
83958
83959         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83960         getaddrinfo.
83961
83962         * modules/getaddrinfo: New file.
83963
83964 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83965
83966         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
83967
83968 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83969
83970         * lib/mktime.c (SHR): New macro, which is a portable
83971         substitute for >> that should work even on Crays.
83972         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
83973         Problem reported by Mark D. Baushke in
83974         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
83975         * lib/getdate.y (SHR): Likewise.
83976         (tm_diff): Use it.
83977         * lib/strftime.c (SHR): Likewise.
83978         (tm_diff): Use it.
83979         * lib/quotearg.c (struct quoting_options): Use unsigned int for
83980         quote_these_too, so that right shifts are well defined.  All uses
83981         changed.
83982
83983 2004-11-10  Jim Meyering  <jim@meyering.net>
83984
83985         Ensure that no close failure goes unreported.
83986         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
83987         return early when it seems there's nothing to flush.
83988         Don't include __fpending.h.
83989
83990 2004-11-10  Jim Meyering  <jim@meyering.net>
83991
83992         * modules/closeout (Depends-on): Remove fpending.
83993
83994 2004-11-10  Jim Meyering  <jim@meyering.net>
83995
83996         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
83997
83998 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
83999
84000         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
84001         gl_FUNC_STRFTIME.
84002         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
84003         and AC_REQUIRE when possible, to avoid duplicate checks.
84004         Check for <wchar.h>.
84005
84006 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
84007
84008         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
84009
84010 2004-11-09  Bruno Haible  <bruno@clisp.org>
84011
84012         * m4/sockpfaf.m4: New file.
84013
84014 2004-11-05  Bruno Haible  <bruno@clisp.org>
84015
84016         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
84017         Reported by Mark D. Baushke <mdb@cvshome.org>.
84018
84019 2004-11-04  Bruno Haible  <bruno@clisp.org>
84020
84021         2004-09-11  Bruno Haible  <bruno@clisp.org>
84022                 * allocsa.valgrind: New file.
84023         2004-02-06  Bruno Haible  <bruno@clisp.org>
84024                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
84025                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
84026                 Reported by Christopher Seip <chris.seip@hp.com>.
84027
84028 2004-11-04  Bruno Haible  <bruno@clisp.org>
84029
84030         * modules/allocsa (Files): Add lib/allocsa.valgrind.
84031         (Makefile.am): Distribute it.
84032
84033 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
84034
84035         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
84036         with errno == ERANGE if the buffer is too small.
84037         Problem reported by Mark D. Baushke.
84038
84039 2004-11-03  Albert Chin  <china@thewrittenword.com>
84040             Paul Eggert  <eggert@cs.ucla.edu>
84041
84042         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
84043         equivalent, substitute $ac_type for equivalent type rather than
84044         blindly using uint32_t *always* which won't work if uint32_t is not
84045         available.  Define _UINT32_T to work around typedef of uint32_t if
84046         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
84047         2.5.1.
84048
84049 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
84050
84051         * m4/jm-macros.m4: Sync from coreutils.
84052         (gl_MACROS): Check for mbrlen, for pathchk.
84053         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
84054
84055 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
84056
84057         * lib/xreadlink.c (MAXSIZE): New macro.
84058         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
84059         size does not exceed MAXSIZE.  Avoid cast.
84060         As suggested by Mark D. Baushke in
84061         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
84062         if readlink fails with buffer size just under MAXSIZE, try again
84063         with MAXSIZE.
84064
84065 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
84066
84067         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
84068
84069 2004-11-02  Derek R. Price  <derek@ximbiot.com>
84070         and  Paul Eggert  <eggert@cs.ucla.edu>
84071
84072         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
84073         (get_date): Overparenthesize to avoid GCC warning.
84074
84075 2004-11-02  Bruno Haible  <bruno@clisp.org>
84076
84077         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
84078         returns void.
84079
84080 2004-11-02  Bruno Haible  <bruno@clisp.org>
84081
84082         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
84083         function returns void.
84084
84085 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
84086
84087         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
84088         fflush_unlocked, flockfile, funlockfile, funlockfile,
84089         fputs_unlocked, putc_unlocked.
84090
84091 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
84092
84093         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
84094         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
84095         already declared.
84096
84097 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
84098
84099         * modules/getdate (Files): Add doc/getdate.texi.
84100         (Depends-on): Add setenv, xalloc.
84101
84102 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
84103
84104         * lib/getdate.y: Add support for TZ="foo" within a date string.
84105         Fix some bugs near time_t boundaries.  Reject dates with
84106         out-of-range components, e.g., "Sept 31".
84107         Include <stdlib.h>, "setenv.h", "xalloc.h".
84108         (ISDIGIT_LOCALE): Remove; unused.
84109         Note that the TZ and time functions used here are not reentrant.
84110         (mktime_ok, get_tz): New functions.
84111         (TZBUFSIZE): New constant.
84112         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
84113         This requires that we sometimes generate our own TZ="XXX..." setting.
84114
84115 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
84116
84117         * doc/getdate.texi: New file, from coreutils with modifications for
84118         the new TZ parsing.
84119
84120 2004-10-27  Derek R. Price  <derek@ximbiot.com>
84121
84122         * lib/mktime.c (not_equal_tm): Remove redundant check.
84123
84124 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
84125
84126         * modules/regex (lib_SOURCES): Add regex.c.
84127         Reported by James Youngman in
84128         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
84129
84130 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
84131
84132         * lib/getdate.y: Use Bison 1.875 features, and some minor
84133         code cleanups.  This change does not affect semantics.
84134         Don't include <stdlib.h>; no longer needed.
84135         Don't include unlocked-io.h; only the "#if TEST" code uses
84136         stdio, and performance isn't crucial there.
84137         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
84138         Bison 1.875 features as described below.
84139         All uses of "PC." replaced by "pc->".
84140         (YYSTYPE): Add a forward declaration.
84141         (yylex, yyerror): Use full prototypes in forward decls.
84142         Use "%pure-parser" rather than obsolescent "%pure_parser".
84143         Use %parse-param and %lex-param instead of obsolescent
84144         YYPARSE_PARAM and YYLEX_PARAM.
84145         (meridian_table, month_and_day_table, time_units_table,
84146         relative_time_table, time_zone_table, military_table,
84147         lookup_zone, lookup_word, get_date):
84148         Use NULL instead of 0 where appropriate.
84149         (to_hour): Avoid abort (), to avoid a dependency on
84150         stdlib.h.
84151         (yyerror, yylex): Now accepts parser_control * arg.
84152         (main) [TEST]: Use '\0' rather than 0 for char.
84153
84154 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
84155
84156         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
84157
84158 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
84159
84160         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
84161         It's now the caller's responsibility to handle the case where
84162         !HAVE_GETPAGESIZE && !defined getpagesize.
84163
84164         * lib/mktime.c (leapyear): Arg is long int, not int.
84165
84166 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
84167
84168         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
84169
84170 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
84171
84172         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
84173         missing.  Problem reported by James Youngman.
84174
84175 2004-10-16  Simon Josefsson  <jas@extundo.com>
84176
84177         * gnulib-tool: Fix comments.  Fix parse problem.
84178         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
84179
84180 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
84181
84182         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
84183         implementation of getopt_long.  Problem reported by Alexander Taler in:
84184         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
84185
84186 2004-10-15  Bruno Haible  <bruno@clisp.org>
84187
84188         * gnulib-tool: Untabify. Initialize supplied_libname.
84189         (func_usage): More homogenous output.
84190         (func_modules_transitive_closure, func_modules_to_filelist,
84191         func_emit_lib_Makefile_am): New functions.
84192         (func_import): New function, extracted from big case statement. Use
84193         func_get_license, func_modules_transitive_closure,
84194         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
84195         opt_lgpl. Don't use test -a, as it's not portable.
84196         (func_create_testdir): Use func_modules_transitive_closure,
84197         func_modules_to_filelist, func_emit_lib_Makefile_am.
84198
84199 2004-10-15  Bruno Haible  <bruno@clisp.org>
84200
84201         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
84202
84203 2004-10-15  Bruno Haible  <bruno@clisp.org>
84204
84205         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
84206         the portions belonging to each module.
84207         Suggested by Derek Robert Price <derek@ximbiot.com>.
84208
84209 2004-10-12  Simon Josefsson  <jas@extundo.com>
84210
84211         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
84212         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
84213         to real functions.
84214
84215 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
84216
84217         * modules/vsnprintf: New file.
84218
84219 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
84220
84221         * m4/vsnprintf.m4: New file.
84222
84223 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
84224
84225         * lib/vsnprintf.h: New file.
84226         * lib/vsnprintf.c: New file.
84227
84228 2004-10-11  Bruno Haible  <bruno@clisp.org>
84229
84230         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
84231         vsnprintf.
84232
84233 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
84234
84235         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
84236
84237 2004-10-07  Bruno Haible  <bruno@clisp.org>
84238
84239         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
84240         fits into the provided buffer.
84241
84242 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
84243
84244         * lib/diacrit.c, diacrit.h: Add GPL notice.
84245
84246         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
84247         notice.
84248         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
84249         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
84250         This avoids a potential constant-folding bug.
84251
84252 2004-10-05  Bruno Haible  <bruno@clisp.org>
84253
84254         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
84255         for the declaration of strsep.
84256
84257 2004-10-05  Bruno Haible  <bruno@clisp.org>
84258
84259         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
84260
84261 2004-10-04  Simon Josefsson  <jas@extundo.com>
84262
84263         * modules/memmem: New file.
84264         * tests/test-memmem.c: New file.
84265         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
84266
84267 2004-10-04  Simon Josefsson  <jas@extundo.com>
84268
84269         * m4/memmem.m4: New file.
84270
84271 2004-10-04  Simon Josefsson  <jas@extundo.com>
84272
84273         * lib/memmem.h: New file.
84274         * lib/memmem.c: New file, taken from glibc.
84275
84276 2004-10-04  Simon Josefsson  <jas@extundo.com>
84277
84278         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
84279         '#ifdef USE_UNLOCKED_IO'.
84280
84281 2004-10-04  Simon Josefsson  <jas@extundo.com>
84282
84283         * config/srclist.txt: Add memmem from glibc.
84284
84285 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
84286
84287         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
84288
84289         * modules/argmatch, modules/argp, modules/closeout, modules/error,
84290         modules/exclude, modules/getdate, modules/getline,
84291         modules/getndelim2, modules/getpass, modules/getpass-gnu,
84292         modules/getusershell, modules/linebuffer, modules/md5,
84293         modules/mountlist, modules/posixtm, modules/readtokens,
84294         modules/readutmp, modules/regex, modules/sha1,
84295         modules/version-etc, modules/yesno:
84296         Remove dependency on unlocked-io.
84297
84298 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
84299
84300         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
84301
84302         * m4/unlocked-io.m4: Add copyright notice.
84303         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
84304
84305 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
84306
84307         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
84308         * lib/xmalloc.c (xmemdup): Likewise.
84309         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
84310         XFREE): Remove these long-obsolescent macros.
84311         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
84312         * lib/xstrdup.c: Remove.
84313
84314         * lib/regex.c (re_comp): Cast gettext return value to char *,
84315         Problem reported by Martin Neitzel via Mark D. Baushke.
84316
84317 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
84318
84319         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
84320         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
84321         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
84322         regex.c, sha1.c, version-etc.c, yesno.c:
84323         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
84324         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
84325         the includer's responsibility.
84326
84327         Sync from coreutils.
84328
84329         * lib/modechange.c (mode_compile): Don't decrement a pointer that
84330         points to the start of a string, as the C Standard says the
84331         resulting behavior is undefined.
84332
84333         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
84334         simple -> simple_backups, numbered_existing ->
84335         numbered_existing_backups, numbered -> numbered_backups
84336         to avoid shadowing problems.  All uses changed.
84337         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
84338         * lib/backupfile.c (check_extension, numbered_backup):
84339         Rename locals to avoid shadowing 'basename'.
84340         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
84341         once.
84342
84343         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
84344         * lib/.cvsignore: Add getopt.h.
84345
84346 2004-10-04  Bruno Haible  <bruno@clisp.org>
84347
84348         * modules/README: New file.
84349         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
84350         not a module.
84351
84352 2004-10-02  Jim Meyering  <jim@meyering.net>
84353
84354         * lib/dirfd.h, getpagesize.h: Add copyright notice.
84355
84356 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
84357
84358         * modules/strsep: New file.
84359
84360 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
84361
84362         * m4/strsep.m4: New file.
84363
84364 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
84365
84366         * lib/strsep.h: New file.
84367         * lib/strsep.c: New file.
84368
84369 2004-10-01  Simon Josefsson  <jas@extundo.com>
84370
84371         * lib/snprintf.c (snprintf): Handle size==0.
84372
84373 2004-10-01  Simon Josefsson  <jas@extundo.com>
84374             Bruno Haible  <bruno@clisp.org>
84375
84376         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
84377         (snprintf): Declare 'args'.
84378
84379 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
84380
84381         * lib/snprintf.c: Remove comments as to why each header is needed.
84382
84383 2004-10-01  Bruno Haible  <bruno@clisp.org>
84384
84385         * MODULES.html.sh: Add strsep.
84386
84387 2004-09-30  Simon Josefsson  <jas@extundo.com>
84388
84389         * modules/snprintf: New file.
84390
84391 2004-09-30  Simon Josefsson  <jas@extundo.com>
84392
84393         * m4/snprintf.m4: New file.
84394
84395 2004-09-30  Simon Josefsson  <jas@extundo.com>
84396
84397         * lib/snprintf.h, lib/snprintf.c: New files.
84398
84399 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84400
84401         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
84402         (hol_entry_help): Never translate an empty string.
84403         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
84404         * lib/argp.h (OPTION_NO_TRANS): New option.
84405
84406 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
84407
84408         * modules/argp (Maintainer): Replace Simon Josefsson
84409         by Sergey Poznyakoff.
84410
84411 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
84412
84413         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
84414         changes merged back into glibc.
84415
84416 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
84417
84418         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
84419
84420 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
84421
84422         * lib/xvasprintf.c: Include xalloc.h.
84423         (xvasprintf): Use xalloc_die, not xmalloc_die.
84424
84425 2004-09-29  Bruno Haible  <bruno@clisp.org>
84426
84427         * modules/alloca-opt: New file, derived from modules/alloca.
84428         * modules/allocsa: Depend on alloca-opt instead of alloca.
84429         * modules/setenv: Likewise.
84430         * modules/vasnprintf: Likewise.
84431         * MODULES.html.sh: Add alloca-opt.
84432
84433 2004-09-28  Simon Josefsson  <jas@extundo.com>
84434
84435         * gnulib-tool: New parameter --lgpl, to asseert that modules are
84436         LGPL, and to replace license template from GPL to LGPL.
84437
84438 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
84439
84440         * modules/dummy: Change license to LGPL.
84441
84442 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
84443
84444         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
84445
84446 2004-09-24  Simon Josefsson  <jas@extundo.com>
84447
84448         * modules/minmax (License): Change from GPL to LGPL.
84449
84450 2004-09-23  Simon Josefsson  <jas@extundo.com>
84451
84452         * gnulib-tool (--import): Typo.
84453
84454 2004-09-23  Simon Josefsson  <jas@extundo.com>
84455
84456         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
84457
84458 2004-09-22  Bruno Haible  <bruno@clisp.org>
84459
84460         * modules/*: Add 'License' field.
84461         * gnulib-tool: Accept --extract-license option.
84462         (func_get_license): New function.
84463
84464 2004-09-21  Bruno Haible  <bruno@clisp.org>
84465
84466         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
84467         Reported by Simon Josefsson.
84468
84469 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
84470
84471         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
84472         gl_AC_TYPE_LONG_LONG.
84473
84474 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
84475
84476         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
84477
84478 2004-09-18  Simon Josefsson  <jas@extundo.com>
84479         and  Paul Eggert  <eggert@cs.ucla.edu>
84480
84481         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
84482         calls with autoreconf.  Define GL_LIB.
84483
84484 2004-09-14  Karl Berry  <karl@gnu.org>
84485
84486         * config/srclist.txt: unsync setenv.c, sigh.
84487
84488 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
84489
84490         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
84491         Problem reported by Bruno Haible in:
84492         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
84493
84494 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
84495
84496         * config/srclist.txt: Comment out argp-pvh.c.
84497
84498 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
84499
84500         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
84501         in case some system header has #define'd it.  Problem reported by
84502         Soeren D. Schulze in
84503         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
84504
84505 2004-09-09  Karl Berry  <karl@gnu.org>
84506
84507         * regex.[ch]: delete from the root.  These were supposed to be
84508                 synced with emacs cvs, but this has not happened for about
84509                 a year, and anyway nothing else uses emacs regex.[ch].
84510                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
84511                 lib/regex[.ch] is untouched.
84512
84513 2004-09-09  Bruno Haible  <bruno@clisp.org>
84514
84515         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
84516
84517 2004-09-09  Bruno Haible  <bruno@clisp.org>
84518
84519         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
84520         modifications.
84521         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
84522
84523 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
84524
84525         * modules/xvasprintf: New file.
84526         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
84527
84528 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
84529
84530         * lib/xvasprintf.h: New file.
84531         * lib/xvasprintf.c: New file.
84532         * lib/xasprintf.c: New file.
84533
84534 2004-09-08  Bruno Haible  <bruno@clisp.org>
84535
84536         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
84537
84538 2004-09-08  Bruno Haible  <bruno@clisp.org>
84539
84540         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
84541         length is > INT_MAX.
84542         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
84543         more.
84544
84545 2004-09-08  Bruno Haible  <bruno@clisp.org>
84546
84547         * lib/stdint_.h: New file, taken from GNU clisp.
84548
84549 2004-09-08  Bruno Haible  <bruno@clisp.org>
84550             Oskar Liljeblad  <oskar@osk.mine.nu>
84551
84552         * modules/stdint: New file.
84553         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
84554
84555 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
84556
84557         Import from coreutils.
84558         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
84559         strings on unbounded length.  alloca's performance benefits aren't
84560         that important here.
84561         (V_STRDUP): Remove.
84562         (parse_with_separator): New function, with most of the internals
84563         of the old parse_user_spec.  Allow user to omit both user and group,
84564         for compatibility with FreeBSD.
84565         Clone only the user name, not the entire spec.
84566         Do not set *uid, *gid unless entirely successful.
84567         Avoid memory leak in some failing cases.
84568         Fix regression for USER.GROUP reported by Dmitry V. Levin in
84569         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
84570         (parse_user_spec): Rewrite to use parse_with_separator.
84571
84572 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
84573
84574         * modules/userspec: Don't depend on alloca.
84575
84576 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
84577
84578         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
84579
84580 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
84581
84582         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
84583         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
84584         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
84585
84586 2004-08-16  Simon Josefsson  <jas@extundo.com>
84587
84588         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
84589         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
84590         Add --dry-run for --import.
84591         Let user provided command line parameters override configure.ac
84592         settings.
84593
84594 2004-08-12  Simon Josefsson  <jas@extundo.com>
84595
84596         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
84597         as discussed with Paul Eggert in threads rooted at
84598         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
84599         and
84600         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
84601         Before, the test was empty, and relied on ELIDE_CODE in source
84602         code.)
84603         (gl_PREREQ_GETOPT): New macro.
84604         (gl_GETOPT): Use them.
84605
84606 2004-08-12  Simon Josefsson  <jas@extundo.com>
84607
84608         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
84609         * lib/getopt_.h: Renamed from getopt.h.
84610
84611 2004-08-12  Simon Josefsson  <jas@extundo.com>
84612
84613         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
84614         Change default library name from libfoo to libgnu.
84615         Now, if you have a configure.ac that says:
84616                 gl_SOURCE_BASE(gl)
84617                 gl_M4_BASE(gl/m4)
84618                 gl_MODULES(error getopt etcetera)
84619                 gl_INIT
84620         you can import all you need by running:
84621                 ../gnulib/gnulib-tool --import
84622
84623         * modules/getopt (Files): Rename getopt.h to getopt_.h.
84624         (Makefile.am): Rewrite, use logic from argz.
84625         (Include): Use <getopt.h> instead of "getopt.h".
84626
84627 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84628
84629         * modules/argp (Files): Add m4/unlocked-io.m4.
84630         (Depends-on): Add extensions.
84631
84632 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84633
84634         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
84635         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
84636         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
84637         Check for program_invocation_name, program_invocation_short_name,
84638         flockfile, funlockfile, features.h, _getopt_long_only_r.
84639
84640 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84641
84642         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
84643         its complicated substitute.
84644         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
84645         and program_invocation_name.
84646         (__argp_basename) [!_LIBC]: Remove; the only use was
84647         replaced by its body.
84648         (__argp_short_program_name): Change condition from
84649         !defined __argp_short_program_name to
84650         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
84651         to match argp-namefrob.h.
84652         (__argp_failure): Don't assume strerror_r returns char *.
84653         * lib/argp-parse.c (N_): Define unconditionally.
84654         (argp_default_options): Fill out initializers with 0 to avoid
84655         gcc warnings.
84656
84657 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84658
84659         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
84660         getopt1.c.
84661
84662 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
84663
84664         Merge from coreutils.
84665
84666         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
84667
84668         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
84669         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
84670
84671 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
84672
84673         Merge from coreutils.
84674
84675         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
84676         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
84677         for Reliant Unix 5.43.
84678
84679         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
84680         (union fooround): Use uintmax_t, not long int.
84681         The rest is a merge from libc:
84682         [defined _LIBC]: Include <shlib-compat.h>.
84683         (_obstack) [defined _LIBC]: Remove after 2.3.4.
84684
84685         * lib/settime.c (settime): Recode to avoid warning with
84686         Sun Forte C 6U2.
84687
84688         * lib/strverscmp.c: Convert to UTF-8.
84689
84690 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
84691
84692         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
84693         m4/uintmax_t.m4.
84694
84695 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
84696
84697         * modules/xalloc-die: New file.
84698         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
84699
84700         * modules/md5 (Files): Add m4/uint32_t.m4.
84701         * modules/sha1: Renamed from modules/sha.
84702         (Files):
84703         Rename lib/sha.h to lib/sha1.h.
84704         Rename lib/sha.c to lib/sha1.c.
84705         Rename m4/sha.m4 to m4/sha1.m4.
84706         (lib_SOURCES): Likewise.
84707         (configure.ac): Rename gl_SHA to gl_SHA1.
84708         (Include): sha.h -> sha1.h.
84709
84710 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
84711
84712         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
84713         * m4/sha1.m4: Renamed from sha.m4.
84714         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
84715
84716 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
84717
84718         * lib/obstack.h (obstack_empty_p):
84719         Don't assume that chunk->contents is suitably aligned.
84720         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
84721         Likewise. Problem reported by Benno in
84722         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
84723
84724         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
84725         readable.  This could be improved further but it'd take some work.
84726
84727 2004-08-08  Simon Josefsson  <jas@extundo.com>
84728
84729         * modules/xgethostname (Depends-on): Remove exit and error (not
84730         used).
84731
84732         * modules/getpass-gnu: Add getpass.h.
84733         (Depends-on): Add stdbool.
84734         * modules/getpass: Add getpass.h.
84735
84736 2004-08-08  Simon Josefsson  <jas@extundo.com>
84737
84738         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
84739         Check getpass declaration.
84740
84741 2004-08-08  Simon Josefsson  <jas@extundo.com>
84742
84743         * lib/xgethostname.c: Don't include error.h (not used).
84744
84745         * lib/getpass.h: Add.
84746         * lib/getpass.c: Include getpass.h first.
84747
84748 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
84749
84750         * lib/xalloc-die.c: New file.
84751         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
84752         All uses removed.
84753         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
84754         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
84755         xalloc-die.c.
84756         (_, N_, xalloc_die): Move to xalloc-die.c.
84757         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
84758         so that we needn't mess with xalloc_msg_memory_exhausted.
84759
84760         * lib/sha1.h: Renamed from sha.h.
84761         (SHA1_H): Renamed from _SHA_H.
84762         (sha1_ctx): Renamed from sha_ctx.
84763         (sha1_init_ctx): Renamed from sha_init_ctx.
84764         (sha1_process_block): Renamed from sha_process_block.
84765         (sha1_process_bytes): Renamed from sha_process_bytes.
84766         (sha1_finish_ctx): Renamed from sha_finish_ctx.
84767         (sha1_read_ctx): Renamed from sha_read_ctx.
84768         (sha1_stream): Renamed from sha_stream.
84769         (sha1_buffer): Renamed from sha_buffer.
84770         * lib/sha1.c: Likewise; renamed from sha.c.
84771         Do not include <sys/types.h>.
84772         Include <stddef.h> rather than <stdlib.h>.
84773
84774 2004-08-08  Bruno Haible  <bruno@clisp.org>
84775
84776         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
84777         FILESYSTEM_PREFIX_LEN.
84778         * lib/progreloc.c: Likewise.
84779         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
84780
84781 2004-08-06  Simon Josefsson  <jas@extundo.com>
84782
84783         * modules/progname (Depends-on): Don't depend on stdbool.
84784
84785 2004-08-06  Simon Josefsson  <jas@extundo.com>
84786
84787         * modules/getsubopt: New file.
84788         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84789         getsubopt.
84790
84791 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84792
84793         More merge from coreutils.
84794
84795         * m4/utimens.m4, m4/utimecmp.m4: New files.
84796         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
84797         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
84798         prereq.m4, sha.m4: Import changes from coreutils.
84799
84800 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84801
84802         More merge from coreutils.
84803         * modules/raise, modules/readtokens0, modules/utimens:
84804         * modules/utimecmp, module/xnanosleep: New files.
84805         * modules/strftime: Add lib/strftime.h.
84806         Change include from <time.h> to "strftime.h".
84807         * modules/yesno: Add lib/yesno.h.
84808         * modules/backupfile: Remove lib/addext.c.
84809         * modules/euidaccess: Add stat-macros.h.
84810         * modules/canonicalize, modules/euidaccess,
84811         modules/filemode, modules/lchown, modules/makepath,
84812         modules/rmdir, modules/stat: Likewise.
84813
84814 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84815
84816         Merge from tar.
84817         * lib/argp-help.c (make_hol, hol_append): Don't assume that
84818         SIZE_MAX is a valid preprocessor constant.
84819         (__argp_basename): Change from "#ifndef _LIBC"
84820         to "#ifndef __argp_short_program_name", so that
84821         we don't compile these functions for tar.
84822
84823         More merges from coreutils.
84824         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
84825         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
84826         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
84827         * lib/addext.c: Remove; no longer needed.
84828         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
84829         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
84830         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
84831         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
84832         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
84833         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
84834         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
84835         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
84836         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
84837         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
84838         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
84839         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
84840         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
84841         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
84842         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
84843         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
84844         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
84845         Import changes from coreutils.
84846
84847 2004-08-05  Simon Josefsson  <jas@extundo.com>
84848
84849         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
84850
84851 2004-08-05  Simon Josefsson  <jas@extundo.com>
84852
84853         * m4/getsubopt.m4: New file.
84854
84855 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84856
84857         Merge from coreutils.
84858
84859         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
84860         * m4/getcwd-path-max.m4: New files.
84861
84862         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
84863         FILESYSTEM_PREFIX_LEN ->
84864         FILE_SYSTEM_PREFIX_LEN.
84865         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
84866         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
84867         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
84868         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
84869
84870         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
84871         prerequisite modules now handle the DOS stuff.
84872         Don't check for unistd.h.
84873
84874 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84875
84876         Merge from coreutils.
84877
84878         * lib/.gdb-history: Remove; this doesn't belong here.
84879
84880         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
84881         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
84882         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
84883         * lib/getcwd.c: New files.
84884
84885         * lib/dirname.h: Include <stdbool.h>.
84886         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
84887         for consistency with POSIX terminology.  All uses changed.
84888         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
84889         (strip_trailing_slashes): Use bool for booleans.
84890         * lib/stripslash.c (strip_trailing_slashes): Likewise.
84891
84892         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
84893         sometimes returns a positive errno value even when it succeeds.
84894         (print_errno_message) [!LIBC]: Fall back on strerror if
84895         __strerror_r fails.
84896
84897         * lib/path-concat.c (mempcpy): Don't define if a system header defines
84898         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
84899         (longest_relative_suffix): New function.
84900         (path_concat): Use it.  Assume first argument is not NULL.
84901         Port to DOS.  Omit redundant separators.
84902         Report an error instead of returning NULL.
84903         Use mempcpy instead of memcpy.
84904         (xpath_concat): Remove: not declared or used.
84905
84906         * lib/same.h: Include <stdbool.h>
84907         (same_name): Return bool, not int.
84908         * lib/same.c (same_name): Likewise.
84909         (errno): Don't declare; we assume C89 or better now.
84910
84911         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
84912         if not already defined.
84913
84914         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
84915         * lib/dup-safer.c (errno): Likewise.
84916
84917 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84918
84919         Merge from coreutils.
84920         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
84921         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
84922         * modules/path-concat: Don't depend on strdup.
84923
84924 2004-08-03  Simon Josefsson  <jas@extundo.com>
84925
84926         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
84927         * lib/progname.h: Don't include stdbool.h.
84928
84929 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84930
84931         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
84932         * MODULES.html.sh (func_all_modules): Remove fatal.
84933
84934 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84935
84936         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
84937
84938 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84939
84940         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
84941         working.
84942
84943 2004-08-02  Simon Josefsson  <jas@extundo.com>
84944
84945         * lib/getsubopt.h: New file, with comments from Bruno Haible.
84946         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
84947         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
84948
84949 2004-08-01  Simon Josefsson  <jas@extundo.com>
84950
84951         * lib/xgetdomainname.c: Include stdlib.h, for free().
84952
84953 2004-07-19  Bruno Haible  <bruno@clisp.org>
84954
84955         * MODULES.html.sh (func_all_modules): Add dummy.
84956
84957 2004-07-16  Simon Josefsson  <jas@extundo.com>
84958
84959         * modules/dummy: New file.
84960
84961 2004-07-16  Simon Josefsson  <jas@extundo.com>
84962
84963         * lib/dummy.c: New file.
84964
84965 2004-07-16  Bruno Haible  <bruno@clisp.org>
84966
84967         * lib/backupfile.h: Add extern "C" for C++.
84968         * lib/closeout.h: Likewise.
84969         * lib/copy-file.h: Likewise.
84970         * lib/findprog.h: Likewise.
84971         * lib/full-write.h: Likewise.
84972         * lib/pathname.h: Likewise.
84973         * lib/progname.h: Likewise.
84974         * lib/stpcpy.h: Likewise.
84975         * lib/stpncpy.h: Likewise.
84976         * lib/strcase.h: Likewise.
84977         * lib/strstr.h: Likewise.
84978         * lib/xalloc.h: Likewise.
84979
84980         * lib/mbswidth.h: Add extern "C" for C++.
84981         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
84982
84983 2004-07-13  Robert Millan  <robertmh@gnu.org>
84984
84985         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
84986
84987 2004-07-09  Simon Josefsson  <jas@extundo.com>
84988
84989         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
84990         failed without this.)
84991
84992 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
84993
84994         * modules/chown (Files): Add lib/fchown-stub.c, since
84995         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
84996
84997 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
84998
84999         * lib/fchown-stub.c: New file.
85000
85001 2004-06-24  Jim Meyering  <jim@meyering.net>
85002
85003         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
85004
85005 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85006
85007         * modules/argz: Omit "#include".
85008
85009         * MODULES.html.sh (func_all_modules): Add calloc, to match
85010         2004-06-01 addition of calloc module.
85011
85012 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85013
85014         * m4/argz.m4: New file, which is autoupdated from libtool.
85015
85016 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85017
85018         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
85019         libtool.
85020
85021 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85022
85023         * config/srclist-update: Don't insist on "USA." before the
85024         close-comment, as libtool omits the period and puts the */ on a
85025         separate line.
85026         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
85027         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
85028
85029 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
85030
85031         * modules/argz: New file.
85032         * MODULES.html.sh (func_all_modules): Add argz.
85033
85034 2004-06-12  Jim Meyering  <jim@meyering.net>
85035         and  Paul Eggert  <eggert@cs.ucla.edu>
85036
85037         * modules/hash (Files): Add lib/xalloc.h.
85038         * modules/pipe (Depends-on): Add wait-process.
85039         * modules/stat (Depends-on): Add xalloc.
85040         * modules/userspec (Files): Add lib/userspec.h.
85041         * modules/xstrto
85042
85043         Upgrade from gettext-0.13.
85044         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
85045         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
85046         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
85047
85048 2004-06-10  Jim Meyering  <jim@meyering.net>
85049
85050         * lib/calloc.c: New file.
85051
85052 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
85053
85054         * lib/getdate.y (yylex): Allow space between sign and number.
85055         Problem reported by Dan Jacobson.
85056
85057 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
85058
85059         Merge from coreutils CVS.
85060
85061         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
85062         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
85063         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
85064         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
85065         xstrtol.m4: Fix copyright date and/or serial number.
85066
85067         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
85068         See if we need an fchown replacement.
85069         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
85070         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
85071         and use the replacement function if we detect either defect.
85072
85073         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
85074         gl_UTIMECMP.
85075
85076 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
85077         and  Jim Meyering  <jim@meyering.net>
85078
85079         Merge from coreutils CVS.
85080
85081         * lib/stat-macros.h: New file, with contents from file-type.h
85082         and coreutils' system.h.
85083         * lib/file-type.c: Include "stat-macros.h".
85084         * lib/file-type.h (file_type): Move all macro definitions to new file,
85085         stat-macros.h.
85086
85087         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
85088         Wrap old code with this conditional.
85089         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
85090         function that does not dereference symlinks.
85091         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
85092
85093         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
85094         dependency problems.
85095         (xreadlink): Accept new arg SIZE, for efficiency.
85096         All decls and uses changed.
85097         * lib/xreadlink.h: Include <stddef.h>, for size_t.
85098
85099         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
85100         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
85101
85102         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
85103         sysexits.h.
85104
85105 2004-06-01  Jim Meyering  <jim@meyering.net>
85106
85107         * m4/calloc.m4: New file.
85108
85109 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
85110
85111         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
85112         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
85113         Also, fix a typo in a diagnostic.
85114
85115 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
85116
85117         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
85118         or AC_FUNC_REALLOC.
85119
85120 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
85121
85122         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
85123         macros to be defined.
85124         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
85125         the allocator returns NULL because the requested size is zero.
85126
85127 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
85128
85129         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
85130         var.  Add comment explaining why libc still defines it.  This
85131         merges the following patch from glibc:
85132         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
85133
85134 2004-05-20  Andreas Schwab  <schwab@suse.de>
85135
85136         * m4/free.m4: Replace free if it not known to work, not the other
85137         way round.
85138
85139 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
85140
85141         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
85142         present in glibc since revision 1.1 of this file.
85143         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
85144         obstack_alignment_mask, obstack_alloc, obstack_base,
85145         obstack_blank, obstack_blank_fast, obstack_chunk_size,
85146         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
85147         obstack_grow0, obstack_init, obstack_int_grow,
85148         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
85149         obstack_next_free, obstack_object_size, obstack_ptr_grow,
85150         obstack_ptr_grow_fast, obstack_room): Remove declarations of
85151         nonexistent functions.
85152
85153 2004-05-18  Karl Berry  <karl@gnu.org>
85154
85155         * config/srclist.txt: break link for vasnprintf.c.
85156
85157 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
85158
85159         Port obstack to the AS/400, where pointers are 16 bytes wide and
85160         you cannot cast an integer to a valid pointer.  This patch is
85161         currently waiting to be integrated into glibc; see
85162         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
85163
85164         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
85165         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
85166         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
85167         (struct obstack): temp member is now a union of a pointer and
85168         an integer, instead of an integer.  All integer uses changed.
85169         This does not affect the physical layout of struct obstack,
85170         except on hosts (like the AS/400) where the size or alignment of
85171         void * is greater than that of ptrdiff_t.
85172         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
85173         __STDC__)]: Store temporary in pointer member of union, not
85174         integer member.
85175         * lib/obstack.c: Include <stddef.h>, for offsetof.
85176         (struct fooalign): Remove; it doesn't need a name.
85177         (union fooround): Change double to long double, and add void *.
85178         (DEFAULT_ALIGNMENT): Use offsetof to compute.
85179         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
85180         not a macro.  Hence the values are always int; so remove all
85181         casts-to-int in uses.
85182
85183 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
85184
85185         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
85186         we can get this patch merged into glibc.
85187
85188 2004-05-17  Derek R. Price  <derek@ximbiot.com>
85189             Paul Eggert  <eggert@cs.ucla.edu>
85190
85191         * m4/argp: Depend on alloca.
85192
85193 2004-05-17  Derek R. Price  <derek@ximbiot.com>
85194             Paul Eggert  <eggert@cs.ucla.edu>
85195
85196         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
85197         freecoding.
85198
85199 2004-05-17  Bruno Haible  <bruno@clisp.org>
85200
85201         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
85202         precision that consists of a '.' followed by an empty digit string.
85203         Patch by Tor Lillqvist <tml@iki.fi>.
85204
85205 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
85206
85207         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
85208         for backward compatibility with older code.  We need our own
85209         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
85210         it under some other name, and our alloca.h will define it.
85211
85212 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
85213             Derek Price  <derek@ximbiot.com>
85214
85215         * lib/alloca.c: Include <alloca.h>, to get our interface.
85216         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
85217         include <alloca.h> first.  Use C89 prototype for alloca; this
85218         requires including <stddef.h> for size_t.  Use extern "C" if C++.
85219         Use #elif for simplicity, since we can assume C89 now.
85220         Don't try to source the system alloca.h since it will not be found
85221         and to prevent recursively including its replacement.
85222         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
85223         * lib/regex.c: Likewise.
85224
85225 2004-05-16  Derek Price  <derek@ximbiot.com>
85226             Paul Eggert  <eggert@cs.ucla.edu>
85227
85228         getline cleanup.  This changes the getndelim2 API: both order of
85229         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
85230         no delimiter).
85231
85232         * lib/getline.c: Don't include stddef.h or stdio.h, since our
85233         interface does that.
85234         (getline): Always use getdelim, so that we don't have two
85235         copies of this code.
85236         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
85237         if available.
85238         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
85239         (GETNDELIM2_MAXIMUM): New macro.
85240         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
85241         instead of the old practice of delim2==0.  All callers changed.
85242         Return -1 on overflow, instead of returning junk.
85243         Do not set *linesize unless allocation succeeds.
85244         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
85245         that we include sys/types.h.
85246         * lib/getnline.h: Likewise.
85247         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
85248         (getndelim2): Reorder arguments.
85249         * lib/getnline.c (getnline, getndelim):
85250         Don't discard the NMAX argument.
85251         (getnline): Invoke getndelim, to avoid code duplication.
85252         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
85253         of (size_t) -1 by callers of the getnline family.
85254
85255 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
85256
85257         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
85258         Check for gettimeofday.
85259         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
85260         Check for settimeofday, stime.
85261
85262 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
85263
85264         * lib/nanosleep.c (suspended): Change its type from int to
85265         sig_atomic_t volatile.
85266         (first_call): Make it private to rpl_nanosleep, and have it
85267         be zero initially as that's a bit faster.
85268         (my_usleep): Round up fractional times instead of truncating them,
85269         as this is the usual meaning for 'sleep'.
85270
85271         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
85272         doesn't work.
85273         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
85274         (ENOSYS): Define if not defined.
85275         (settime): Fall back on stime if it exists and settimeofday fails.
85276         But don't bother with fallbacks if a method fails with errno == EPERM.
85277
85278 2004-05-11  Jim Meyering  <jim@meyering.net>
85279
85280         Prior to this change, the save_cwd caller required read access to the
85281         current directory on most systems (ones with the fchdir function).
85282
85283         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
85284         fails, try write-only, and finally, resort to using xgetcwd.
85285
85286 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
85287
85288         * lib/obstack.c, obstack.h: Import changes from libc.
85289
85290 2004-04-28  Bruno Haible  <bruno@clisp.org>
85291
85292         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
85293         also implicitly appends .exe to executables.
85294         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
85295         accepts Windows pathnames.
85296         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
85297         Treat Cygwin like Windows, since it now accepts Windows pathnames.
85298         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
85299         Treat Cygwin like Windows, since it now accepts Windows pathnames.
85300         Reported by Derek Robert Price <derek@ximbiot.com>.
85301
85302 2004-04-21  Karl Berry  <karl@gnu.org>
85303
85304         * config/srclist.txt (localcharset.c): break sync.
85305
85306 2004-04-20  Paul Eggert  <eggert@twinsun.com>
85307
85308         * m4/host-os.m4: Add a copyright notice.
85309
85310 2004-04-20  Jim Meyering  <jim@meyering.net>
85311
85312         Change UTILS_ to gl_ in AC_DEFINE'd names.
85313         Change utils_- and jm_-prefixed variables, too.
85314         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
85315         UTILS_FUNC_MKDIR_TRAILING_SLASH.
85316         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
85317
85318         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
85319         Don't emit trailing blanks.
85320         Also rename jm_-prefixed variables to have gl_ prefix.
85321
85322         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
85323         Also rename jm_-prefixed variables to have gl_ prefix.
85324
85325         * m4/jm-macros.m4: Reflect the renamings.
85326         * m4/prereq.m4: Likewise.
85327
85328 2004-04-20  Jim Meyering  <jim@meyering.net>
85329
85330         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
85331         memory.
85332
85333 2004-04-20  Jim Meyering  <jim@meyering.net>
85334             Bruno Haible  <bruno@clisp.org>
85335
85336         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
85337         memory when realloc fails.
85338
85339 2004-04-19  Jim Meyering  <jim@meyering.net>
85340
85341         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
85342         now that readutmp.c may call `free (0)'.
85343
85344 2004-04-19  Bruno Haible  <bruno@clisp.org>
85345
85346         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
85347         * m4/inttypes_h.m4: Likewise.
85348         * m4/stdint_h.m4: Likewise.
85349         * m4/intmax_t.m4: Likewise.
85350         * m4/uintmax_t.m4: Likewise.
85351
85352 2004-04-18  Jim Meyering  <jim@meyering.net>
85353
85354         * m4/prereq.m4: Don't forbid jm_ prefix.
85355
85356         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
85357         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
85358         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
85359         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
85360         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
85361         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
85362         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
85363         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
85364         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
85365         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
85366         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
85367         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
85368         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
85369         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
85370         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
85371         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
85372         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
85373         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
85374         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
85375
85376 2004-04-18  Jim Meyering  <jim@meyering.net>
85377
85378         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
85379         failure, don't leak memory and do call END_UTMP_ENT.
85380
85381 2004-04-16  Jim Meyering  <jim@meyering.net>
85382
85383         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
85384         coreutils' stat program.
85385         (gl_PREREQ): Don't require jm_PREREQ_STAT.
85386
85387 2004-04-11  Paul Eggert  <eggert@twinsun.com>
85388
85389         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
85390         C89.
85391         (CHAR_BIT): Remove, since we assume C89.
85392         Include <stdint.h> if available, as per current Autoconf CVS advice.
85393
85394 2004-03-31  Jim Meyering  <jim@meyering.net>
85395
85396         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
85397         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
85398         * m4/xalloc.m4: Likewise.
85399
85400 2004-03-30  Paul Eggert  <eggert@twinsun.com>
85401
85402         Merge from coreutils.
85403
85404         * m4/inttostr.m4: New file.
85405         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
85406         Require AM_STDBOOL_H and gl_TIMESPEC instead.
85407         Require gl_CLOCK_TIME.
85408         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
85409
85410 2004-03-30  Paul Eggert  <eggert@twinsun.com>
85411
85412         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
85413         not bool, to be more consistent with Unix conventions.
85414         Suggested by Bruno Haible.
85415
85416         Merge from coreutils.
85417
85418         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
85419         * lib/umaxtostr.c: New files.
85420
85421         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
85422         the usual <time.h> dance.
85423         (get_date): Change signature to support fractional time stamps.
85424         All callers changed.
85425         * lib/getdate.y: Include "getdate.h" first, as we can now
85426         assume C89 and don't need to worry about 'const'.
85427         Similarly, include "unlocked-io.h" near start, not in middle.
85428         Include <limits.h>.
85429         (textint.value): Use long int rather than int.
85430         (textint.digits): Use size_t rather than int.
85431         (BILLION, LOG10_BILLION): New constants.
85432         (parser_control): New member rel_ns.  Members day_ordinal,
85433         time_zone, month, day, hour, minutes, rel_year, rel_month,
85434         rel_day, rel_hour, rel_minutes, rel_seconds
85435         are now long int, not int.  Member seconds is now struct timespec,
85436         not int.  New member timespec_seen.  Members dates_seen, days_seen,
85437         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
85438         not int.
85439         (%union.intval): Now long int, not int.
85440         New member timespec.
85441         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
85442         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
85443         (spec): Now is a timespec or an item list.
85444         (timespec, items): New nonterminals.
85445         (time, rel, relunit, number, get_date):
85446         Add support for fractional seconds.
85447         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
85448         (gmtime, localtime, mktime): Remove decls; not needed with C89.
85449         (to_hour): First arg is now long int, not int.
85450         (to_year): Returns long int, not int.
85451         Don't treat year -70 like 70.
85452         (tm_diff): Returns long int, not int.
85453         (lookup_word): Use bool instead of int when appropriate.
85454         (yylex): Use size_t for count, not int.
85455         Detect overflow when parsing large integer constants.
85456         Add support for fractions.
85457         (get_date): Make pointers 'const' if possible.
85458         Use more-portable code to detect integer overflow.
85459         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
85460         Don't use ctime; it's not reliable if the year has >4 digits.
85461
85462         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
85463         This is for compatibility with BSD.
85464
85465         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
85466         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
85467         From coreutils' system.h.
85468
85469         * lib/userspec.c: Don't include "posixver.h".
85470         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
85471         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
85472         compatible extension.  Simplify code by removing a boolean int
85473         that was always nonzero if a string was nonnull.
85474
85475 2004-03-30  Jim Meyering  <jim@meyering.net>
85476
85477         Merge from coreutils.
85478
85479         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
85480         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
85481         on some systems one must include <grp.h> before it.
85482         Reported by Christian Krackowizer.
85483
85484 2004-03-30  Jim Meyering  <jim@meyering.net>
85485
85486         Merge from coreutils.
85487
85488         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
85489
85490         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
85491         an empty input stream.
85492
85493         * lib/readtokens.c: Include <stdbool.h>.
85494         (readtoken): Use `size_t' rather than int/long.
85495         All callers adjusted.
85496         Use `bool' rather than `int' where appropriate.
85497         Use memset rather than an explicit loop.
85498         Use x2nrealloc rather than xrealloc.
85499         Allow the use of `\0' as a delimiter.
85500         (readtokens): Likewise.
85501         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
85502
85503 2004-03-30  Jim Meyering  <jim@meyering.net>
85504
85505         * m4/realloc.m4: Remove file, since now it does no more than
85506         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
85507         the `configure.ac' section of module/realloc.
85508         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
85509
85510 2004-03-30  Bruno Haible  <bruno@clisp.org>
85511
85512         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
85513         nonnull.
85514
85515 2004-03-29  Paul Eggert  <eggert@twinsun.com>
85516
85517         Merge changes to getloadavg.c from coreutils and Emacs.
85518
85519         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
85520         Define to an expression, not to the empty string.
85521         Include cloexec.h and xalloc.h.
85522         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
85523         Use set_cloexec_flag rather than rolling our own.
85524         * lib/cloexec.c, lib/cloexec.h: New files.
85525
85526 2004-03-29  Paul Eggert  <eggert@twinsun.com>
85527
85528         * m4/cloexec.m4: New file.
85529
85530 2004-03-18  Paul Eggert  <eggert@twinsun.com>
85531
85532         * lib/getopt.h: Sync with libc CVS.
85533
85534 2004-03-18  Paul Eggert  <eggert@twinsun.com>
85535             Bruno Haible  <bruno@clisp.org>
85536
85537         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
85538         mbswidth.
85539
85540 2004-03-18  Paul Eggert  <eggert@twinsun.com>
85541             Bruno Haible  <bruno@clisp.org>
85542
85543         * lib/mbswidth.h: Include <wchar.h> only if
85544         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
85545         <wchar.h>.
85546         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
85547
85548 2004-03-09  Paul Eggert  <eggert@twinsun.com>
85549
85550         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
85551         Sync with libc CVS.
85552         * lib/getopt_int.h: New file, also synced from libc.
85553
85554 2004-03-09  Paul Eggert  <eggert@twinsun.com>
85555
85556         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
85557         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
85558         Bring back getopt.c, getopt.h, getopt1.c.
85559
85560 2004-03-07  Paul Eggert  <eggert@twinsun.com>
85561
85562         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
85563         All uses changed.  Check for sa_sigaction member; this fixes
85564         a bug first reported by Jason Andrade in
85565         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
85566
85567 2004-03-07  Paul Eggert  <eggert@twinsun.com>
85568
85569         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
85570         '#if' expressions.  Unlike the code it replaces, it does not
85571         depend on (defined _SC_PAGESIZE).  However, it does depend on
85572         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
85573         first reported by Jason Andrade in
85574         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
85575
85576 2004-02-25  Simon Josefsson  <jas@extundo.com>
85577
85578         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
85579
85580 2004-02-25  Simon Josefsson  <jas@extundo.com>
85581
85582         * lib/strdup.h: New file.
85583         * lib/strdup.c: Include it.
85584         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
85585         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
85586
85587 2004-02-23  Karl Berry  <karl@gnu.org>
85588
85589         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
85590         (from fencepost.gnu.org:/gd/gnuorg).
85591
85592 2004-02-23  Karl Berry  <karl@gnu.org>
85593
85594         * config/srclistvars.sh (GNUORG) [karl]: redefine.
85595         * config/srclist.txt: add maintain/standards documents.
85596
85597 2004-02-18  Bruno Haible  <bruno@clisp.org>
85598
85599         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
85600         Reported by Derek Robert Price <derek@ximbiot.com>.
85601
85602 2004-02-16  Karl Berry  <karl@gnu.org>
85603
85604         * config/mkinstalldirs, install-sh: update from automake.
85605
85606 2004-02-06  Karl Berry  <karl@gnu.org>
85607
85608         * m4/po.m4: update from gettext 0.14.1.
85609
85610 2004-02-06  Karl Berry  <karl@gnu.org>
85611
85612         * lib/config.charset: update from gettext 0.14.1.
85613
85614 2004-02-05  Paul Eggert  <eggert@twinsun.com>
85615
85616         Add comments and code, prompted by suggestions from Bruno Haible
85617         for sh-quote.
85618         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
85619         describing the enum quoting_style values.
85620         * lib/quotearg.c (quotearg_alloc): New function.
85621         (quotearg_buffer_restyled): Treat lone { and } as special.
85622         Treat = as special.  Work around bug with older shells
85623         that "see" a '\' that is really the 2nd byte of a multibyte char.
85624         Quote empty string with shell_quoting_style.
85625
85626 2004-02-03  Bruno Haible  <bruno@clisp.org>
85627
85628         * m4/pipe.m4: New file, from GNU gettext.
85629
85630 2004-02-03  Bruno Haible  <bruno@clisp.org>
85631
85632         * lib/pipe.h: New file, from GNU gettext.
85633         * lib/pipe.c: New file, from GNU gettext.
85634
85635 2004-01-27  Bruno Haible  <bruno@clisp.org>
85636
85637         * m4/execute.m4: New file, from GNU gettext.
85638
85639 2004-01-27  Bruno Haible  <bruno@clisp.org>
85640
85641         * lib/execute.h: New file, from GNU gettext.
85642         * lib/execute.c: New file, from GNU gettext.
85643         * lib/w32spawn.h: New file, from GNU gettext.
85644
85645 2004-01-24  Paul Eggert  <eggert@twinsun.com>
85646
85647         Merge from diffutils.
85648
85649         * lib/file-type.c (file_type): Add typed memory objects.
85650         * lib/file-type.h (S_TYPEISTMO): New macro.
85651
85652         * lib/c-stack.h (c_stack_action): Remove argv argument.
85653         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
85654         (die): Don't calculate message unless segv_action returns.
85655         (get_stack_location, min_address_from_argv, max_address_from_argv,
85656         volatile stack_base, volatile_stack_size): Remove.
85657         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
85658         that every segmentation violation is a stack overflow.  (Ouch!)
85659         See Debian bug 136249 (still outstanding) for more info about why
85660         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
85661
85662 2004-01-24  Paul Eggert  <eggert@twinsun.com>
85663
85664         Exit-status fix from coreutils.
85665
85666         Use exit_failure consistently in place of EXIT_FAILURE,
85667         so that program exit statuses are consistent on failure.
85668
85669         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
85670         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
85671         * lib/argmatch.h: Comment fix to match the above.
85672         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
85673         Now a macro referring to exit_failure, instead of a separate
85674         variable.  Include "exitfail.h" to get it.
85675         * lib/xstrtol.h: Include "exitfail.h".
85676         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
85677
85678         * lib/long-options.c (parse_long_options): Use prototype
85679         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
85680         for clarity.
85681
85682 2004-01-21  Jim Meyering  <jim@meyering.net>
85683
85684         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
85685         so as not to conflict with a different-sized __mktime_internal
85686         function in GNU libc.
85687         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
85688         Problem building statically-linked `ls' reported by Michael Brunnbauer.
85689
85690 2004-01-20  Karl Berry  <karl@gnu.org>
85691
85692         * config/config.guess: update from config.
85693
85694         * config/srclistvars.sh: GNUWWWLICENSES for karl.
85695
85696 2004-01-20  Bruno Haible  <bruno@clisp.org>
85697
85698         Safer stack allocation.
85699         * lib/setenv.c: Include allocsa.h.
85700         (alloca): Remove fallback definition.
85701         (freea): Remove macro.
85702         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
85703         instead of freea.
85704
85705 2004-01-20  Bruno Haible  <bruno@clisp.org>
85706
85707         * m4/eealloc.m4: New file, from GNU gettext.
85708
85709 2004-01-20  Bruno Haible  <bruno@clisp.org>
85710
85711         * m4/allocsa.m4: New file, from GNU gettext.
85712
85713 2004-01-20  Bruno Haible  <bruno@clisp.org>
85714
85715         * lib/xallocsa.h: New file, from GNU gettext.
85716         * lib/xallocsa.c: New file, from GNU gettext.
85717
85718 2004-01-20  Bruno Haible  <bruno@clisp.org>
85719
85720         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
85721
85722 2004-01-20  Bruno Haible  <bruno@clisp.org>
85723
85724         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
85725         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
85726         specially.
85727
85728 2004-01-20  Bruno Haible  <bruno@clisp.org>
85729
85730         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
85731         patch.
85732
85733 2004-01-20  Bruno Haible  <bruno@clisp.org>
85734
85735         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
85736
85737 2004-01-20  Bruno Haible  <bruno@clisp.org>
85738
85739         * lib/eealloc.h: New file.
85740
85741 2004-01-20  Bruno Haible  <bruno@clisp.org>
85742
85743         * lib/binary-io.h: Avoid warnings on Cygwin.
85744
85745 2004-01-20  Bruno Haible  <bruno@clisp.org>
85746
85747         * lib/allocsa.h: New file, from GNU gettext.
85748         * lib/allocsa.c: New file, from GNU gettext.
85749
85750 2004-01-18  Karl Berry  <karl@gnu.org>
85751
85752         * doc/gpl.texi, doc/lgpl.texi: new files.
85753
85754 2004-01-18  Karl Berry  <karl@gnu.org>
85755
85756         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
85757         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
85758
85759 2004-01-15  Paul Eggert  <eggert@twinsun.com>
85760
85761         Merge from coreutils.
85762
85763         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
85764         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
85765         (gl_DEFAULT_POSIX2_VERSION): Move
85766         the documentation from 'configure' into 'config.hin',
85767         so that 'configure --help' isn't burdened by it and
85768         we don't have to worry about its formatting there.
85769         Reword the documentation so that it's more succinct
85770         and can be run together into a single paragraph.
85771         * m4/same.m4 (gl_SAME): Check for pathconf.
85772
85773 2004-01-15  Paul Eggert  <eggert@twinsun.com>
85774
85775         Merge from coreutils.
85776
85777         * lib/posixver.c: Include posixver.h.
85778
85779         * lib/same.c: Include <stdbool.h>, <limits.h>.
85780         (_POSIX_NAME_MAX): Define if not defined.
85781         (MIN): New macro.
85782         (same_name): If file names are silently truncated, report
85783         that the file names are the same if they are the same after
85784         the silent truncation.
85785
85786         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
85787         conversion function.
85788         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
85789         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
85790         longer needed.
85791
85792 2004-01-15  Jim Meyering  <jim@meyering.net>
85793
85794         Merge from coreutils.
85795
85796         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
85797         if no library is required.
85798         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
85799         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
85800         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
85801         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
85802         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
85803         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
85804         value, $ac_cv_search_crypt, if it's "none required".
85805         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
85806         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
85807         not gl_FUNC_GETLOADAVG.
85808         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
85809         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
85810
85811 2004-01-15  Jim Meyering  <jim@meyering.net>
85812
85813         Merge from coreutils.
85814
85815         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
85816         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
85817         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
85818
85819         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
85820         optional configure-time default.
85821
85822         * lib/version-etc.c (version_etc_copyright): Update copyright date.
85823
85824         * lib/xreadlink.c (xreadlink): Correct outdated comment.
85825
85826 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
85827
85828         Merge from coreutils.
85829
85830         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
85831         value, $ac_cv_search_nanosleep, if it's "none required".
85832
85833 2004-01-14  Paul Eggert  <eggert@twinsun.com>
85834
85835         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
85836         with like-named macro in fnmatch.c.
85837         (EXT): Use an internal constant instead.
85838
85839         Merge fnmatch patches from glibc.
85840         * lib/fnmatch.c (mbsinit): Remove define.
85841         Add libc_hidden_ver (__fnmatch, fnmatch).
85842         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
85843         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
85844
85845 2004-01-14  Karl Berry  <karl@gnu.org>
85846
85847         * config/install-sh: update from automake.
85848
85849 2004-01-13  Karl Berry  <karl@gnu.org>
85850
85851         * config/install-sh: update from automake.
85852
85853 2004-01-09  Karl Berry  <karl@gnu.org>
85854
85855         * config/install-sh: update from automake.
85856
85857 2004-01-05  Karl Berry  <karl@gnu.org>
85858
85859         * config/config.{sub,guess}: update from config.
85860
85861 2003-12-31  Karl Berry  <karl@gnu.org>
85862
85863         * config/depcomp: update from automake.
85864
85865 2003-12-14  Karl Berry  <karl@gnu.org>
85866
85867         * lib/config.charset: update from gettext-runtime.
85868
85869 2003-12-03  Paul Eggert  <eggert@twinsun.com>
85870
85871         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
85872         Bug reported by Alfred M. Szmidt.
85873
85874 2003-12-03  Bruno Haible  <bruno@clisp.org>
85875
85876         * m4/gettext.m4: Upgrade from gettext-0.13.
85877         * m4/po.m4: Upgrade from gettext-0.13.
85878         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
85879         * m4/intmax.m4: New file, from gettext-0.13.
85880         * m4/printf-posix.m4: New file, from gettext-0.13.
85881
85882 2003-11-29  Karl Berry  <karl@gnu.org>
85883
85884         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
85885
85886 2003-11-25  Paul Eggert  <eggert@twinsun.com>
85887             Bruno Haible  <bruno@clisp.org>
85888
85889         * lib/printf-parse.h: Don't include sys/types.h.
85890         (ARG_NONE): New macro.
85891         (char_directive): Change type of *arg_index fields to size_t.
85892         * lib/printf-parse.c: Don't include sys/types.h.
85893         (SSIZE_MAX): Remove macro.
85894         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
85895         Remove unnecessary overflow check.
85896         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
85897         fields.
85898
85899 2003-11-25  Bruno Haible  <bruno@clisp.org>
85900
85901         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
85902
85903 2003-11-25  Bruno Haible  <bruno@clisp.org>
85904
85905         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
85906         gt_TYPE_SSIZE_T.
85907
85908 2003-11-24  Paul Eggert  <eggert@twinsun.com>
85909
85910         * modules/alloca: Remove dependency on xalloc.
85911
85912 2003-11-24  Paul Eggert  <eggert@twinsun.com>
85913
85914         * lib/alloca.c: Remove dependency on xalloc module.
85915         (xalloc_die): Remove.
85916         (memory_full) [!defined emacs]: New macro.
85917         [!defined emacs]: Don't include xalloc.h.
85918         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
85919         address arithmetic overflows.  Change datatypes a bit to avoid
85920         unnecessary casts.
85921
85922 2003-11-22  Jim Meyering  <jim@meyering.net>
85923
85924         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
85925         s/size/size_t/.
85926
85927 2003-11-21  Karl Berry  <karl@gnu.org>
85928
85929         * config/config.{sub,guess}: update from config.
85930
85931 2003-11-18  Karl Berry  <karl@gnu.org>
85932
85933         * config/config.{sub,guess}: update from config.
85934
85935         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
85936
85937 2003-11-17  Paul Eggert  <eggert@twinsun.com>
85938
85939         * README: Mention that S+T cannot overflow if S is the size of
85940         an existing object and T is sufficiently small.
85941
85942 2003-11-17  Jim Meyering  <jim@meyering.net>
85943
85944         On systems without utime and without a utimes function capable of
85945         dealing with a NULL struct utimbuf* argument, this utime replacement
85946         could -- in unusual circumstances -- leak a file descriptor.
85947         * lib/utime.c: Include <unistd.h> and <errno.h>.
85948         (utime_null): Be sure to close `fd' and to preserve errno.
85949         Reported by Geoff Collyer via Arnold Robbins.
85950
85951 2003-11-17  Bruno Haible  <bruno@clisp.org>
85952
85953         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
85954         (Depends-on): Add xsize.
85955
85956 2003-11-17  Bruno Haible  <bruno@clisp.org>
85957
85958         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
85959
85960 2003-11-17  Bruno Haible  <bruno@clisp.org>
85961
85962         * lib/vasnprintf.c (alloca): Remove fallback definition.
85963         (freea): Remove definition.
85964         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
85965         Reported by Paul Eggert.
85966
85967 2003-11-16  Paul Eggert  <eggert@twinsun.com>
85968             Bruno Haible  <bruno@clisp.org>
85969
85970         Protect against address arithmetic overflow.
85971         * lib/printf-args.h: Include stddef.h.
85972         (arguments): Change type of field 'count' to size_t.
85973         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
85974         'unsigned int' where appropriate.
85975         * lib/printf-parse.h: Include sys/types.h.
85976         (char_directive): Change type of *arg_index fields to ssize_t.
85977         (char_directives): Change type of fields 'count', max_*_length to
85978         size_t.
85979         * lib/printf-parse.c: Include sys/types.h and xsize.h.
85980         (SSIZE_MAX): Define fallback value.
85981         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
85982         instead of 'int' where appropriate. Check a_allocated, d_allocated
85983         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
85984         * lib/vasnprintf.c: Include xsize.h.
85985         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
85986         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
85987         overflow. Avoid wraparound when converting a width or precision from
85988         decimal to binary.
85989
85990 2003-11-16  Bruno Haible  <bruno@clisp.org>
85991
85992         Update from GNU gettext.
85993         * lib/printf-parse.c: Generalize to it can be compiled for wide
85994         strings.
85995         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
85996         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
85997         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
85998         SNPRINTF): New macros.
85999         Don't include <alloca.h> if the file is used inside libintl.
86000         (local_wcslen): New function, for Solaris 2.5.1.
86001         (VASNPRINTF): Use it instead of wcslen.
86002
86003 2003-11-16  Bruno Haible  <bruno@clisp.org>
86004
86005         * lib/xsize.h (xmax): New function.
86006         (xsum, xsum3, xsum4): Declare as "pure" functions.
86007
86008 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86009
86010         * modules/xalloc (Files): Undo latest change, since xalloc.h
86011         no longer needs SIZE_MAX or PTRDIFF_MAX.
86012
86013 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86014
86015         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
86016         gl_PTRDIFF_MAX.
86017
86018 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86019
86020         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
86021         "return", to pacify some unknown compiler.  Problem reported
86022         by Joerg Schilling.
86023
86024 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86025
86026         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
86027         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
86028         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
86029         heuristic is just as accurate as far as we know, and it removes a
86030         dependency on size_max.m4 and ptrdiff_max.m4.
86031
86032 2003-11-11  Bruno Haible  <bruno@clisp.org>
86033
86034         * modules/xsize (Files): Add m4/size_max.m4.
86035         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
86036
86037 2003-11-11  Bruno Haible  <bruno@clisp.org>
86038
86039         * m4/size_max.m4: New file.
86040         * m4/ptrdiff_max.m4: New file.
86041         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
86042         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
86043         (gl_XALLOC): Invoke it.
86044
86045 2003-11-11  Bruno Haible  <bruno@clisp.org>
86046
86047         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
86048         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
86049         defined.
86050
86051 2003-11-10  Paul Eggert  <eggert@twinsun.com>
86052
86053         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
86054         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
86055         rejected some allocations of exactly SIZE_MAX - 2 bytes.
86056         From Bruno Haible.
86057         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
86058         not (size_t) -1, since it's defined here.
86059
86060 2003-11-09  Karl Berry  <karl@gnu.org>
86061
86062         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
86063
86064 2003-11-06  Paul Eggert  <eggert@twinsun.com>
86065
86066         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
86067         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
86068         Reject sizes of exactly SIZE_MAX bytes.
86069         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
86070         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
86071
86072 2003-11-05  Bruno Haible  <bruno@clisp.org>
86073
86074         * lib/xsize.h: Include limits.h, to avoid a possible collision with
86075         SIZE_MAX defined in <limits.h> on Solaris.
86076
86077 2003-11-04  Jim Meyering  <jim@meyering.net>
86078
86079         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
86080         variable names, rather than @VAR@.
86081         * modules/poll: Likewise.
86082
86083 2003-11-04  Bruno Haible  <bruno@clisp.org>
86084
86085         * modules/xsize: New file.
86086         * modules/linebreak: Depend on xsize.
86087         * MODULES.html.sh (func_all_modules): Add xsize.
86088
86089 2003-11-04  Bruno Haible  <bruno@clisp.org>
86090
86091         * m4/xsize.m4: New file.
86092
86093 2003-11-04  Bruno Haible  <bruno@clisp.org>
86094
86095         * lib/xsize.h: New file.
86096         * lib/linebreak.c: Include xsize.h.
86097         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
86098         argument for overflow.
86099         Suggested by Paul Eggert.
86100
86101 2003-11-03  Karl Berry  <karl@gnu.org>
86102
86103         * config/config.{guess,sub}: update from config.
86104
86105 2003-11-03  Jim Meyering  <jim@meyering.net>
86106
86107         * modules/userspec (lib_SOURCES): Add userspec.h.
86108         (Include): Add "userspec.h".
86109         Improve description.
86110
86111 2003-11-03  Jim Meyering  <jim@meyering.net>
86112
86113         * lib/userspec.c: Include "userspec.h".
86114         * lib/userspec.h: New file.
86115
86116 2003-11-03  Bruno Haible  <bruno@clisp.org>
86117
86118         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
86119
86120 2003-11-03  Bruno Haible  <bruno@clisp.org>
86121
86122         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
86123         available, to avoid (extremely rare) race condition.
86124         Suggested by Paul Eggert.
86125
86126 2003-11-02  Karl Berry  <karl@gnu.org>
86127
86128         * config/srclist.txt (vasprintf.c): sync broken, sigh.
86129
86130 2003-10-31  Paul Eggert  <eggert@twinsun.com>
86131
86132         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
86133         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
86134         (read_filesystem_list): Set and use me_type_malloced.
86135         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
86136         whatever the type happens to be), for brevity and consistency.
86137         Check for size calculation overflow on Alphas running OSF/1.
86138
86139 2003-10-31  Jim Meyering  <jim@meyering.net>
86140
86141         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
86142
86143         * lib/linebuffer.c: Include <string.h> for declaration of memset.
86144
86145 2003-10-30  Paul Eggert  <eggert@twinsun.com>
86146             Bruno Haible  <bruno@clisp.org>
86147
86148         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
86149         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
86150
86151 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
86152
86153         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
86154         netbsd*-gnu*.  Suggested by Robert Millan.
86155
86156 2003-10-29  Paul Eggert  <eggert@twinsun.com>
86157
86158         * modules/group-member: Depend on stdbool.
86159
86160 2003-10-29  Paul Eggert  <eggert@twinsun.com>
86161
86162         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
86163
86164 2003-10-29  Paul Eggert  <eggert@twinsun.com>
86165
86166         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
86167         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
86168         after the 'gnu' in these cases.  This fixes some bugs in the
86169         previous change, and is based on suggestions by Robert Millan.
86170
86171 2003-10-29  Paul Eggert  <eggert@twinsun.com>
86172
86173         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
86174         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
86175         no longer needed.
86176         * lib/quotearg.c (quotearg_n_options): Use it.
86177         * lib/group-member.c: Include <stdbool.h>.
86178         (free_group_info): Arg is now const *; don't free arg.
86179         (get_group_info): Now returns bool and accepts struct group_info *,
86180         rather than returning a malloc'ed struct group_info *.
86181         All uses changed.  Check for overflow in internal size calculation.
86182
86183         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
86184         rather than xmalloc/xrealloc.
86185         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
86186         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
86187         conformance bug: the old code used a pointer after freeing the
86188         storage that it addressed.
86189         * lib/hash.c (hash_initialize): Simplify the code by using
86190         xalloc_oversized rather than doing it by hand.
86191         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
86192         the buffer preserved.  Use free and xmalloc instead.
86193         * lib/quotearg.c (quotearg_n_options): Likewise.
86194         Use a simpler test for size overflow.  Don't use xalloc_oversized
86195         because unsigned int might be wider than size_t (!); this suggests
86196         that we should switch from unsigned int to size_t for slot numbers.
86197
86198 2003-10-28  Paul Eggert  <eggert@twinsun.com>
86199
86200         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
86201         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
86202         NetBSD kernels.  Requested by Richard Stallman.
86203
86204 2003-10-27  Paul Eggert  <eggert@twinsun.com>
86205
86206         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
86207         to allocate the returned structure.  Do not allocate a subarray,
86208         as x2nrealloc will do that.
86209         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
86210         instead of xnrealloc.
86211         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
86212
86213 2003-10-27  Bruno Haible  <bruno@clisp.org>
86214
86215         * lib/stdbool_.h: Better support for BeOS.
86216
86217 2003-10-26  Paul Eggert  <eggert@twinsun.com>
86218
86219         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
86220         now uses inline.
86221
86222 2003-10-26  Paul Eggert  <eggert@twinsun.com>
86223
86224         * lib/xalloc.h (xalloc_oversized): New static inline function, for
86225         callers that want to do their own size-overflow checking.  Include
86226         <stdbool.h>, since xalloc_oversized returns bool.
86227         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
86228         to use xalloc_oversized.
86229
86230         Add two functions x2realloc, x2nrealloc, for programs that grow
86231         arrays dynamically by doubling their sizes.
86232         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
86233         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
86234         New functions.
86235
86236         Port to C99 semantics for 'inline' of external functions.
86237         Bug reported by Bruno Haible.
86238         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
86239         with the old contents of xnmalloc.
86240         (xnmalloc, xmalloc): Use it.
86241         (xnrealloc_inline): New static inline function,
86242         with the old contents of xnrealloc.
86243         (xnrealloc, xrealloc): Use it.
86244
86245         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
86246         that.
86247
86248 2003-10-26  Karl Berry  <karl@gnu.org>
86249
86250         * config/srclist.txt (COPYING.DOC): no longer available from
86251         /gd/gnuorg; don't know where the ultimate source is.
86252
86253 2003-10-25  Paul Eggert  <eggert@twinsun.com>
86254
86255         Fix several address-calculation bugs in the hash modules,
86256         plus some minor code cleanup.
86257
86258         * lib/hash.h: Include <stdbool.h>, for bool.
86259         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
86260         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
86261         hash_get_n_entries, hash_get_max_bucket_length,
86262         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
86263         hash_rehash): Use size_t rather than unsigned.
86264         * lib/hash.c (struct hash_table, hash_get_n_buckets,
86265         hash_get_n_buckets_used, hash_get_n_entries,
86266         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
86267         hash_get_entries, hash_do_for_each, hash_string, is_prime,
86268         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
86269         Likewise.
86270         (SIZE_MAX): Define if not defined.
86271         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
86272         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
86273         hash_print):
86274         Use const * when possible.
86275         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
86276         (check_tuning): Fix bug: if tuning parameters were very close to
86277         0 or 1, rounding errors could have caused subscript violations.
86278         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
86279         (hash_initialize): Add 'fail:' label
86280         to free table and return NULL, and use it to simplify code.
86281         Use calloc rather than clearing the storage ourself.
86282         (hash_initialize, hash_rehash): Check for arithmetic overflow in
86283         buffer size calculations.
86284         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
86285         Include <stddef.h>, for size_t.
86286         * lib/hash-pjw.c (hash_pjw): Likewise.
86287         Switch to method described by Bruno Haible.
86288         Include <limits.h>, for CHAR_BIT.
86289         (SIZE_BITS): New macro.
86290
86291 2003-10-23  Paul Eggert  <eggert@twinsun.com>
86292
86293         * m4/getline.m4 (AM_FUNC_GETLINE):
86294         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
86295         hosts.  Problem reported by Derek Robert Price in
86296         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
86297         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
86298         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
86299
86300 2003-10-21  Paul Eggert  <eggert@twinsun.com>
86301
86302         * lib/getndelim2.c (getndelim2): When size calculation overflows,
86303         ceiling the allocation at NMAX bytes rather than silently
86304         discarding input bytes before NMAX is reached.  This makes
86305         a difference only if NMAX exceeds SIZE_MAX / 2.
86306
86307         * lib/obstack.c: Merge from glibc.
86308         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
86309         Add libc_hidden_def (_obstack_newchunk).
86310         (_obstack_free) [! defined _LIBC]: Remove.
86311         [defined _LIBC]: Make a strong alias from obstack_free, rather than
86312         a clone of the function body.
86313         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
86314         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
86315
86316         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
86317         glibc.
86318         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
86319         arg to memcpy.
86320
86321         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
86322         (obstack_ptr_grow_fast, obstack_int_grow_fast):
86323         Don't use lvalue casts, as GCC plans to remove support for them
86324         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
86325         was also present in the non-GCC version, indicating that this
86326         code had always been buggy and had never been widely used.
86327         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
86328         Use the fast variant of each macro, rather than copying the
86329         definiens of the fast variant; that way, we'll be more likely to
86330         catch future bugs in the fast variants.
86331
86332 2003-10-20  Bruno Haible  <bruno@clisp.org>
86333
86334         * modules/wait-process: New file.
86335         * MODULES.html.sh (func_all_modules): Add wait-process.
86336
86337 2003-10-20  Bruno Haible  <bruno@clisp.org>
86338
86339         * m4/wait-process.m4: New file.
86340
86341 2003-10-20  Bruno Haible  <bruno@clisp.org>
86342
86343         * lib/wait-process.h: New file, from GNU gettext.
86344         * lib/wait-process.c: New file, from GNU gettext.
86345
86346 2003-10-19  Jim Meyering  <jim@meyering.net>
86347
86348         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
86349         HPUX 10.20.
86350
86351 2003-10-18  Karl Berry  <karl@gnu.org>
86352
86353         * config/config.guess: update from config.
86354
86355 2003-10-16  Paul Eggert  <eggert@twinsun.com>
86356
86357         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
86358         (getgroups): First arg is int, not size_t.
86359         Don't let 'free' mangle errno.
86360
86361 2003-10-16  Paul Eggert  <eggert@twinsun.com>
86362
86363         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
86364
86365 2003-10-16  Karl Berry  <karl@gnu.org>
86366
86367         * config/config.{guess,sub}: update from config.
86368
86369 2003-10-16  Jim Meyering  <jim@meyering.net>
86370
86371         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
86372         memcpy.
86373
86374 2003-10-15  Paul Eggert  <eggert@twinsun.com>
86375
86376         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
86377         (SIZE_MAX): Remove.
86378         (new_exclude, add_exclude_file): Initial size no longer needs to
86379         be a power of 2.
86380         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
86381         our own address arithmetic overflow checking.
86382
86383         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
86384         (fnmatch): Do not alloca more than 2000 wide characters;
86385         instead, use malloc for large buffers.
86386         Check for address arithmetic overflow, and return -1
86387         with errno set to ENOMEM in that case.
86388         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
86389         (NEW_PATTERN): Do not alloca more than 8000 bytes;
86390         instead, return -1.  Check for address arithmetic overflow.
86391
86392 2003-10-14  Paul Eggert  <eggert@twinsun.com>
86393
86394         Handle invalid suffixes and overflow independently, so that
86395         callers can treat them independently as needed.  Fix some bugs in
86396         suffix handling, e.g., "100k@" was not diagnosed as an invalid
86397         suffix for a human-readable blocksize.  The major caller-visible
86398         change is the addition of a new
86399         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
86400         that both overflow and suffix chars were found.
86401
86402         * lib/human.c (humblock): Don't check separately for invalid suffix
86403         char; that is xstrtoumax's job (now that its bug is fixed).
86404         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
86405         INTMAX_MAX]: New macros.
86406         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
86407         TYPE_MAXIMUM): New macros.
86408         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
86409         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
86410         if overflow occurs, as it's what __strtol does and it's more useful
86411         in practice.
86412         (__xstrtol): If __strtol reports some error other than ERANGE,
86413         reflect it to the caller as LONGINT_INVALID.  If it reports
86414         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
86415         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
86416         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
86417         value.
86418         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
86419         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
86420         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
86421         [defined UINTMAX_MAX]: New macros.
86422
86423 2003-10-14  Bruno Haible  <bruno@clisp.org>
86424
86425         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
86426
86427 2003-10-14  Bruno Haible  <bruno@clisp.org>
86428
86429         * m4/sig_atomic_t: New file, from GNU gettext.
86430         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
86431
86432 2003-10-14  Bruno Haible  <bruno@clisp.org>
86433
86434         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
86435         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
86436         Also use volatile where needed.
86437
86438 2003-10-12  Paul Eggert  <eggert@twinsun.com>
86439
86440         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
86441         Change maintainer from Bruno Haible to 'all'.
86442
86443 2003-10-12  Paul Eggert  <eggert@twinsun.com>
86444
86445         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
86446
86447 2003-10-12  Paul Eggert  <eggert@twinsun.com>
86448
86449         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
86450         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
86451         and define in terms of the other primitives.
86452         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
86453         (SIZE_MAX): Define if not already defined.
86454         (array_size_overflow): New function.
86455         (xalloc_die): Abort instead of exiting if 'error' returns.
86456         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
86457         (xmalloc, xrealloc): Use them.
86458         (xcalloc): Check for address arithmetic overflow.
86459         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
86460         a bit faster than strcpy.
86461
86462 2003-10-10  Simon Josefsson  <jas@extundo.com>
86463
86464         * modules/argp (Depends-on): Add restrict and strcase.
86465
86466 2003-10-10  Simon Josefsson  <jas@extundo.com>
86467
86468         * m4/argp.m4: Add AC_C_INLINE.
86469
86470 2003-10-08  Paul Eggert  <eggert@twinsun.com>
86471
86472         Merge getpass from libc, plus a few fixes.
86473
86474         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
86475         Include <stdbool.h>.
86476         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
86477         __fsetlocking to empty.
86478         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
86479         do include <bits/libc-lock.h>.
86480         Do not include <fcntl.h>; not needed.
86481         [_LIBC]: Include <wchar.h>.
86482         (NOTCANCEL_MODE): New macro.
86483         (flockfile, funlockfile) [_LIBC]: New macros.
86484         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
86485         [!_LIBC]: New macros.
86486         (call_fclose): New function.
86487         (getpass): Use it.  Save tty stream separately; this simplifies the
86488         code and makes it more reliable if stdin happens to equal stdout.
86489         Invoke __fsetlocking on tty.
86490         Handle thread cancellation if needed.
86491         Namespace cleanup (use __tcgetattr, __getline).
86492         Use bool for Booleans.
86493         [USE_IN_LIBIO]: Handle wide streams.
86494         [!_LIBC]: Unconditionally do the fseek, since we don't know what
86495         stream might go where.
86496
86497         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
86498         doesn't have to include <stdio.h> before us.
86499         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
86500         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
86501         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
86502         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
86503         if not declared, so that we can use getpass.c code from libc without
86504         rewriting it.
86505         (flockfile, ftrylockfile, funlockfile): New macros.
86506
86507 2003-10-08  Paul Eggert  <eggert@twinsun.com>
86508
86509         * modules/getpass: Depend on stdbool.
86510
86511 2003-10-08  Paul Eggert  <eggert@twinsun.com>
86512
86513         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
86514
86515 2003-10-07  Karl Berry  <karl@gnu.org>
86516
86517         * config/config.{guess,sub}: update from config.
86518
86519 2003-10-06  Jim Meyering  <jim@meyering.net>
86520             Bruno Haible  <bruno@clisp.org>
86521
86522         This lets translators provide better translations for the
86523         "Written by ..." part of --version output.
86524         * lib/version-etc.h: Include stdarg.h.
86525         (version_etc_copyright): Declare as readonly.
86526         (version_etc): Make this function variadic with a NULL-terminated list
86527         of author name strings.
86528         (version_etc_va): New declaration.
86529         * lib/version-etc.c: Include stdarg.h, stdlib.h.
86530         (version_etc_copyright): Declare as readonly.
86531         (version_etc_va): New function. Provide a different translatable string
86532         for each possible number of authors < 10. Abbreviate when there are 10
86533         authors or more.
86534         (version_etc): Make this function variadic. Call version_etc_va.
86535         Suggestion from Gary V. Vaughan.
86536
86537         * lib/long-options.h (parse_long_options): Change prototype: the
86538         authors string is moved to the end and becomes variadic.
86539         * lib/long-options.c: Include stdarg.h.
86540         (parse_long_options): Make this function variadic, too.
86541         Call version_etc_va, not version_etc.
86542
86543 2003-10-06  Bruno Haible  <bruno@clisp.org>
86544
86545         * modules/version-etc-2: Remove file.
86546         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
86547
86548 2003-10-06  Bruno Haible  <bruno@clisp.org>
86549
86550         * modules/fatal-signal: New file.
86551         * MODULES.html.sh (func_all_modules): Add fatal-signal.
86552
86553 2003-10-06  Bruno Haible  <bruno@clisp.org>
86554
86555         * m4/fatal-signal.m4: New file.
86556         * m4/signalblocking.m4: New file, from GNU gettext.
86557
86558 2003-10-06  Bruno Haible  <bruno@clisp.org>
86559
86560         * lib/version-etc-2.h: Remove file.
86561         * lib/version-etc-2.c: Remove file.
86562
86563 2003-10-06  Bruno Haible  <bruno@clisp.org>
86564
86565         * lib/fatal-signal.h: New file, from GNU gettext.
86566         * lib/fatal-signal.c: New file, from GNU gettext.
86567
86568 2003-10-05  Paul Eggert  <eggert@twinsun.com>
86569
86570         * README: Rework advice for preventing empty .o files.
86571         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
86572         not <sys/types.h>.
86573
86574 2003-10-04  Karl Berry  <karl@gnu.org>
86575
86576         * lib/argp*: update from libc.
86577
86578 2003-10-04  Karl Berry  <karl@gnu.org>
86579
86580         * config/config.{guess,sub}: update from config.
86581
86582 2003-10-02  Bruno Haible  <bruno@clisp.org>
86583
86584         * modules/lchown (Include): Add lchown.h.
86585         * modules/time_r (Include): Use "..." syntax.
86586         * modules/xgetdomainname (Include): Add xgetdomainname.h.
86587
86588 2003-10-01  Simon Josefsson  <jas@extundo.com>
86589
86590         * MODULES.html.sh (func_all_modules): Move gethostname from section
86591         'based on' to section 'lacking' POSIX:2001.
86592
86593 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
86594
86595         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
86596         to output mode on the same stream.
86597
86598 2003-09-29  Paul Eggert  <eggert@twinsun.com>
86599
86600         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
86601         Fix arg typo in previous patch.
86602
86603 2003-09-28  Jim Meyering  <jim@meyering.net>
86604
86605         * lib/error.c: Correct cpp indentation.
86606
86607 2003-09-27  Paul Eggert  <eggert@twinsun.com>
86608
86609         * modules/free: New file.
86610
86611 2003-09-27  Paul Eggert  <eggert@twinsun.com>
86612
86613         * m4/free.m4: New file.
86614
86615 2003-09-27  Paul Eggert  <eggert@twinsun.com>
86616
86617         * lib/minmax.h (MIN, MAX)
86618         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
86619         Omit the special code that used __typeof__, since we worry that
86620         it could be more trouble than it's worth.  See:
86621         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
86622         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
86623
86624         * lib/free.c: New file.
86625
86626 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
86627
86628         Trivial fixes to Makefile.am parts of module listings.
86629         * modules/strstr: Append strstr.h to lib_SOURCES.
86630         * modules/strcase: Likewise, for strcase.h.
86631
86632 2003-09-27  Karl Berry  <karl@gnu.org>
86633
86634         * config/mkinstalldirs: update from automake.
86635
86636 2003-09-26  Paul Eggert  <eggert@twinsun.com>
86637
86638         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
86639         (error_tail): Do not loop, reallocating temporary buffer, since
86640         the output cannot contain more wide characters than the input
86641         contains bytes, the size must be big enough already.  This avoids
86642         one potential size overflow calculation.  Check for size overflow
86643         when calculating temporary buffer size.  Free temporary buffer
86644         when done, if it was allocated with malloc; this plugs a memory
86645         leak.  Remove casts from void * to pointers, that are no longer
86646         needed now that we're assuming C89 or better.
86647
86648         Merge error changes from glibc.
86649
86650         * lib/error.c, error.h: Update copyright notice header to match glibc.
86651         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
86652         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
86653         Disable cancellation while printing error.
86654         * lib/error.h: Prepend __ to parameter names.
86655
86656 2003-09-26  Jim Meyering  <jim@meyering.net>
86657
86658         * lib/error.c (error_tail): Move some declarations
86659         into inner scope where the local variables are used.
86660
86661 2003-09-26  Bruno Haible  <bruno@clisp.org>
86662
86663         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
86664         stpncpy().
86665         Don't define stpncpy through config.h; it's now done through stpncpy.h.
86666
86667 2003-09-26  Bruno Haible  <bruno@clisp.org>
86668
86669         * lib/stpncpy.h (gnu_stpncpy): New declaration.
86670         (stpncpy): Define as alias for gnu_stpncpy.
86671         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
86672
86673 2003-09-25  Simon Josefsson  <jas@extundo.com>
86674
86675         * lib/xgetdomainname.h: New file.
86676         * lib/xgetdomainname.c: New file.
86677
86678 2003-09-25  Simon Josefsson  <jas@extundo.com>
86679             Bruno Haible  <bruno@clisp.org>
86680
86681         * modules/getdomainname: New file.
86682         * modules/xgetdomainname: New file.
86683         * MODULES.html.sh (func_all_modules): Add getdomainname,
86684         xgetdomainname.
86685
86686 2003-09-25  Simon Josefsson  <jas@extundo.com>
86687             Bruno Haible  <bruno@clisp.org>
86688
86689         * m4/getdomainname.m4: New file.
86690
86691 2003-09-25  Simon Josefsson  <jas@extundo.com>
86692             Bruno Haible  <bruno@clisp.org>
86693
86694         * lib/getdomainname.h: New file.
86695         * lib/getdomainname.c: New file.
86696
86697 2003-09-25  Karl Berry  <karl@gnu.org>
86698
86699         * lib/argp-fmtstream.c, argp-help.c: update from libc.
86700
86701 2003-09-25  Karl Berry  <karl@gnu.org>
86702
86703         * config/install-sh: update from automake.
86704
86705 2003-09-25  Bruno Haible  <bruno@clisp.org>
86706
86707         * modules/version-etc-2: New file, from modules/version-etc with
86708         modifications.
86709         * MODULES.html.sh (func_all_modules): Add version-etc-2.
86710
86711 2003-09-25  Bruno Haible  <bruno@clisp.org>
86712
86713         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
86714         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
86715
86716 2003-09-24  Simon Josefsson  <jas@extundo.com>
86717
86718         * modules/xgethostname: Add xgethostname.h.
86719
86720 2003-09-24  Paul Eggert  <eggert@twinsun.com>
86721
86722         * lib/linebuffer.c (freebuffer): Don't free the argument, just
86723         the buffer associated with the argument.  Bug reported by
86724         Simon Josefsson.
86725
86726 2003-09-24  Paul Eggert  <eggert@twinsun.com>
86727
86728         * README: Document assumptions that 'int' is at least 32 bits
86729         wide, that integer arithmetic is 2's complement without overflow,
86730         that there are no holes in integer values, that adding sizes of
86731         two nonoverlapping objects can't overflow, and that all-bits-zero
86732         yields scalar zero.  Fix spelling and capitalization typos.
86733
86734 2003-09-19  Karl Berry  <karl@gnu.org>
86735
86736         * lib/argp.h: update from libc.
86737
86738 2003-09-17  Paul Eggert  <eggert@twinsun.com>
86739
86740         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
86741         to avoid spurious warnings like "AC_RUN_IFELSE was called before
86742         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
86743
86744 2003-09-17  Paul Eggert  <eggert@twinsun.com>
86745
86746         * gnulib-tool: Use "test -h", not "test -L", for portability
86747         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
86748         (tags_regexp): Remove, since \| doesn't conform to POSIX.
86749         (sed_extract_prog): Issue s commands one-by-one, rather than
86750         using \| in one s command.
86751
86752 2003-09-16  Paul Eggert  <eggert@twinsun.com>
86753
86754         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
86755         input error, instead of returning NULL the next time we are called
86756         (and therefore losing track of errno).
86757
86758 2003-09-16  Bruno Haible  <bruno@clisp.org>
86759
86760         * gnulib-tool (func_create_testdir): Warn about duplicated
86761         dependencies.
86762
86763 2003-09-15  Paul Eggert  <eggert@twinsun.com>
86764
86765         * modules/argmatch, modules/fatal, modules/obstack,
86766         modules/xalloc, modules/xgethostname: Sort dependencies by
86767         importance, not alphabetically.
86768
86769 2003-09-15  Paul Eggert  <eggert@twinsun.com>
86770
86771         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
86772         fails, so that the caller gets the proper errno.
86773
86774         * lib/readutmp.c (read_utmp): Likewise.
86775         Check for fstat error.  Close stream and free storage
86776         when failing.
86777
86778 2003-09-14  Karl Berry  <karl@gnu.org>
86779
86780         * config/srclist.txt (strdup.c): disable for c89 changes.
86781
86782 2003-09-14  Jim Meyering  <jim@meyering.net>
86783
86784         * lib/getloadavg.c: Correct cpp indentation.
86785         * lib/strdup.c: Likewise.
86786         * lib/vasnprintf.c: Likewise.
86787
86788 2003-09-14  Bruno Haible  <bruno@clisp.org>
86789
86790         * modules/fwriteerror: New file.
86791         * MODULES.html.sh (func_all_modules): Add fwriteerror.
86792
86793 2003-09-14  Bruno Haible  <bruno@clisp.org>
86794
86795         * lib/fwriteerror.h: New file.
86796         * lib/fwriteerror.c: New file.
86797
86798 2003-09-12  Paul Eggert  <eggert@twinsun.com>
86799
86800         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
86801         modules/xgethostname, modules/xalloc: Depend on exit.
86802
86803 2003-09-12  Paul Eggert  <eggert@twinsun.com>
86804
86805         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
86806
86807         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
86808         and AC_MINIX, too, so that their extensions are available.
86809
86810         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
86811         This macro has been superseded by gl_BACKUPFILE.
86812
86813         More patches to assume C89 or better.
86814
86815         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
86816
86817         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
86818         unconditionally.
86819         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
86820         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
86821         Include <string.h>, <stdlib.h> unconditionally.
86822         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
86823         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
86824         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
86825         headers or for string.h.
86826         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
86827         or strtoul.
86828
86829         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
86830         headers.
86831         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
86832         * m4/userspec.m4 (gl_USERSPEC): Likewise.
86833         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
86834         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
86835         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
86836         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
86837         memcpy, memset.
86838         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
86839         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
86840         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
86841         strtol.
86842         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
86843         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
86844         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
86845         strtoul.
86846
86847 2003-09-12  Paul Eggert  <eggert@twinsun.com>
86848
86849         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
86850         * lib/obstack.c [!defined _LIBC]: Likewise.
86851         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
86852         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
86853         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
86854
86855         More changes to assume C89 or better.
86856
86857         * lib/error.c (error_tail): Assume vprintf.
86858
86859         * lib/argmatch.c (getenv): Remove decl.
86860         * lib/progreloc.c (get_full_program_name): Define via prototype.
86861         * lib/setenv.c (clearenv): Likewise.
86862         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
86863         needed.
86864         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
86865         (malloc, memcpy): Remove decls.
86866         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
86867         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
86868         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
86869         (memcpy): Remove macro.
86870         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
86871         (__P): Remove.  All uses removed.
86872         (PTR): Remove.  All uses changed to void *.
86873         (CHAR_BIT, NULL): Remove.
86874         (spaces, zeros, memset_space, memset_zero)
86875         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
86876         Remove.
86877         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
86878         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
86879         Define with prototype.
86880         Remove now-unnecessary prototype decl.
86881         (extra_args_spec): Assume ANSI C.  All uses changed.
86882         (extra_args_spec_iso): Remove.
86883         (my_strftime, emacs_strftimeu): Define via prototype.
86884         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
86885         unconditionally.
86886         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
86887         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
86888         (strtoul, strtol): Remove decls.
86889         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
86890         LONG_MAX): Remove.
86891         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
86892         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
86893         (LOCALE_PARAM_PROTO): New macro.
86894         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
86895         (INTERNAL (strtol), strtol): Define with a prototype.
86896         (PARAMS): Remove.  All uses removed.
86897         * lib/tempname.c: Include <string.h> unconditionally.
86898         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
86899         * lib/xgethostname.c (main): Define with a prototype.
86900         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
86901         Include <stdlib.h> unconditionally.
86902         (calloc, malloc, realloc, free): Remove decls.
86903         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
86904         Include <stdlib.h> unconditionally.  Sort include file names.
86905         (strtod): Remove.
86906         (xstrtod): Define with a prototype.
86907         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
86908         (strtol, strtoul): Remove decls.
86909
86910 2003-09-11  Paul Eggert  <eggert@twinsun.com>
86911
86912         More patches to assume C89 or better.
86913         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
86914         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
86915         string.h, memchr, STDC_HEADERS.
86916
86917 2003-09-11  Paul Eggert  <eggert@twinsun.com>
86918
86919         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
86920         Include <stdlib.h>, <string.h> unconditionally.
86921         Remove now-unnecessary cast to char *.
86922         * lib/strnlen.c: Include <string.h> unconditionally.
86923         * lib/yesno.c (yesno): Define with a prototype.
86924
86925 2003-09-11  Bruno Haible  <bruno@clisp.org>
86926
86927         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
86928
86929 2003-09-10  Jim Meyering  <jim@meyering.net>
86930
86931         * lib/error.c: Correct indentation of cpp directives.
86932
86933 2003-09-10  Bruno Haible  <bruno@clisp.org>
86934
86935         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
86936         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
86937         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
86938         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
86939         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
86940         <stdlib.h> and <string.h> checks.
86941         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
86942         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
86943
86944 2003-09-10  Bruno Haible  <bruno@clisp.org>
86945
86946         * lib/strcspn.c: Include <string.h> unconditionally.
86947         * lib/strpbrk.c: Include <string.h> unconditionally.
86948         * lib/strstr.c: Include <string.h> unconditionally.
86949         * lib/unicodeio.c: Include <string.h> unconditionally.
86950         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
86951         * lib/unsetenv.c: Likewise.
86952         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
86953         * lib/yesno.c: Include <stdlib.h> unconditionally.
86954         (rpmatch): Add prototype.
86955
86956 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86957
86958         More patches to assume C89 or better.
86959         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
86960         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
86961         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
86962         or for string.h.
86963         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
86964         stdlib.h.
86965         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
86966         C headers.
86967         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
86968         string.h.
86969         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
86970         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
86971         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
86972         or for string.h.
86973         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
86974         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
86975         C headers.
86976         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
86977         memcpy.
86978         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
86979         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
86980         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
86981         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
86982         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
86983         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
86984         string.h, free.
86985         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
86986         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
86987         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
86988         C headers, or for string.h.
86989         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
86990         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
86991         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
86992         headers, memory.h, stdlib.h, string.h, strings.h.
86993         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
86994         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
86995         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
86996         strchr.
86997         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
86998         headers, memory.h, string.h.
86999         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
87000         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
87001         free.
87002         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
87003         headers.
87004         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
87005         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
87006         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
87007         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
87008         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
87009
87010 2003-09-09  Paul Eggert  <eggert@twinsun.com>
87011
87012         More K&R removal.
87013
87014         * lib/acosl.c (main): Use a prototype.
87015         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
87016         tanl.c: Likewise.
87017
87018         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
87019
87020         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
87021         (getopt, etopt_long, getopt_long_only, _getopt_internal)
87022         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
87023         with a prototype.
87024         * lib/getopt.c (const): Remove macro.
87025         Include <string.h> unconditionally.
87026         (my_index): Remove; all uses changed to strchr.
87027         (strlen): Remove decl.
87028         (exchange): Remove forward decl; no longer needed.
87029         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
87030         Define with prototype.
87031         * lib/getopt1.c (const): Remove macro.
87032         (getopt_long, getopt_long_only, main): Define with prototype.
87033
87034         * lib/getugroups.c: Include <string.h> unconditionally.
87035
87036         * lib/getusershell.c: Include <stdlib.h> unconditionally.
87037         (getusershell, setusershell, endusershell, readname, main):
87038         Define with prototypes.
87039
87040         * lib/group-member.c: Include group-member.h first.
87041         Include <stdlib.h> unconditionally.
87042
87043         * lib/hard-locale.c: Include hard-locale.h first.
87044         Include <stdlib.h>, <string.h> unconditionally.
87045
87046         * lib/hash.c (free, malloc): Remove decls.
87047         Include <stdlib.h> unconditionally.
87048
87049         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
87050         (getenv): Do not declare.
87051
87052         * lib/idcache.c: Include <string.h> unconditionally.
87053
87054         * lib/long-options.c: Include long-options.h first, to test interface.
87055         Include <stdlib.h> unconditionally.
87056
87057         * lib/makepath.c: Include makepath.h first, to test interface.
87058         Include <stdlib.h> and <string.h> unconditionally.
87059
87060         * lib/linebuffer.c: Include <stdlib.h>.
87061         (free): Remove decl.
87062
87063         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
87064         stddef.h. rpl_malloc returns void *, not char *.
87065         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
87066         prototype.
87067
87068         * lib/md5.h: Include <limits.h> unconditionally.
87069         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
87070         (__P): Remove; all uses removed.
87071         * lib/md5.c: Include "md5.h" first.
87072         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
87073         md5_buffer, md5_process_bytes, md5_process_block):
87074         Define with prototypes.
87075         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
87076         * lib/sha.c: Include "sha.h" first.
87077         Include <stdlib.h>, <string.h> unconditionally.
87078
87079         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
87080         * lib/memcmp.c (__ptr_t): Likewise.
87081         * lib/memrchr.c (__ptr_t): Likewise.
87082         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
87083         Include <string.h> unconditionally.
87084         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
87085         * lib/memchr.c: Include <stdlib.h> unconditionally.
87086         * lib/memchr.c (LONG_MAX): Remove.
87087         * lib/memrchr.c (LONG_MAX): Likewise.
87088         * lib/memchr.c (__memchr): Define via a prototype.
87089         * lib/memrchr.c (__memrchr): Likewise.
87090         * lib/memcmp.c (__P): Remove, and remove all uses.
87091         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
87092         Remove forward decls; no longer needed.
87093         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
87094         Use types required by C89 in prototype.
87095
87096         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
87097         * lib/savedir.c: Likewise.
87098         * lib/mkdir.c (free): Remove decl.
87099         * lib/rmdir.c (rmdir): Define with a prototype.
87100         * lib/savedir.c: Include savedir.h first, to test interface.
87101
87102         * lib/mktime.c (STDC_HEADERS): Remove.
87103         Include <stdlib.h>, <string.h> unconditionally.
87104
87105         * lib/modechange.c: Include <stdlib.h> unconditionally.
87106         (malloc): Remove decl.
87107
87108         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
87109         (free): Remove decl.
87110
87111         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
87112         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
87113         (This type really should be intptr_t, but that's a C99ism.)
87114         (_obstack_memcpy): Remove: all uses changed to memcpy.
87115         Include <string.h> unconditionally.
87116         (struct obstack): Assume __STDC__ for types of members
87117         chunkfun, freefun, extra_arg.
87118         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
87119         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
87120         obstack_begin, obstack_specify_allocation,
87121         obstack_specify_allocation_with_arg, obstack_chunkfun,
87122         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
87123         Remove unprototyped decls and the macros that use them.
87124         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
87125         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
87126         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
87127         (defined __STDC__ && __STDC__)]:
87128         Remove nonprototyped code.
87129         Include <stdlib.h> unconditionally.
87130         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
87131         _obstack_allocated_p, _obstack_free, obstack_free,
87132         _obstack_memory_used, print_and_abort):
87133         Define using prototypes.
87134         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
87135         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
87136         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
87137         obstack_next_free, obstack_object_size, obstack_room) [0]:
87138         Remove unused, unprototyped code.
87139
87140         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
87141
87142         * lib/physmem.c (physmem_total, physmem_available, main): Define
87143         with prototypes.
87144
87145         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
87146         (main): Define with a prototype.
87147
87148         * lib/posixver.c (getenv): Remove decl.
87149
87150         * lib/putenv.c (malloc): Returns void *, not char *.
87151         Include <string.h> unconditionally.
87152         (strchr, memcpy, NULL): Do not define.
87153
87154         * lib/readtokens.c: Include readtokens.h first, to test interface.
87155         Include <stdlib.h>, <string.h> unconditionally.
87156         (init_tokenbuffer): Define with a prototype.
87157
87158         * lib/regex.c (PARAMS): Remove.  All uses removed.
87159         All uses of _RE_ARGS removed, too.
87160         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
87161         unconditionally.
87162         (bzero): Assume memset exists.
87163         (memcmp, memcpy, NULL): Remove.
87164         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
87165         char, or assignments to local vars of type signed char.
87166         (init_syntax_once, PREFIX(extract_number_and_incr),
87167         PREFIX(print_partial_compiled_pattern),
87168         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
87169         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
87170         PREFIX(regex_grow_registers), PREFIX(regex_compile),
87171         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
87172         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
87173         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
87174         wcs_compile_range, byte_compile_range, truncate_wchar,
87175         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
87176         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
87177         count_mbs_length, wcs_re_match_2_internal,
87178         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
87179         PREFIX(alt_match_null_string_p),
87180         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
87181         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
87182         regfree, PREFIX(extract_number)): Define with prototype.  Remove
87183         now-unnecessary declaration, if any.
87184         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
87185         regcomp, regexec):
87186         Remove now-unnecessary casts among pointer types.
87187         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
87188
87189         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
87190         (free): Remove decl.
87191
87192         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
87193
87194         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
87195         (free): Remove decl.
87196
87197         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
87198         * lib/xgetcwd.c: Likewise.
87199
87200         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
87201         (free): Remove decl.
87202
87203         * lib/strchrnul.c (strchrnul): Define with a prototype.
87204         Fix bug: c_in was not converted to char before searching.
87205
87206         The following changes are not K&R related:
87207
87208         * lib/group-member.h: Include <sys/types.h>, so that this file is
87209         self-contained.
87210         * lib/makepath.h: Likewise.
87211
87212         * lib/getusershell.c (readname, default_index, line_size, readname):
87213         Use size_t, not int, for sizes.
87214         (readname): If the size overflows, report an error instead of
87215         looping forever.
87216
87217 2003-09-09  Paul Eggert  <eggert@twinsun.com>
87218
87219         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
87220         libc.
87221
87222 2003-09-09  Paul Eggert  <eggert@twinsun.com>
87223
87224         * README: New section: portability guidelines.
87225
87226 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
87227
87228         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
87229         C89 spec.
87230
87231 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
87232
87233         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
87234
87235 2003-09-08  Paul Eggert  <eggert@twinsun.com>
87236
87237         Assume C89 or better; remove K&R cruft.
87238         A few of these changes were first proposed by Derek Robert Price
87239         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
87240
87241         * lib/addext.c: Include <string.h> unconditionally.
87242         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
87243         Don't declare getenv or malloc.
87244
87245         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
87246         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
87247         (NULL): Remove.
87248         (find_stack_direction, alloca): Use prototypes.
87249
87250         * lib/atexit.c (atexit): Define using a prototype.
87251
87252         * lib/basename.c, dirname.c, stripslash.c:
87253         Include <string.h> unconditionally.
87254
87255         * lib/bcopy.c: Include <stddef.h>.
87256         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
87257
87258         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
87259
87260         * lib/error.h (error, error_at_line, error_print_progname)
87261         [! (defined (__STDC__) && __STDC__)]: Remove decls.
87262         * lib/error.c: Include error.h first, to check interface.
87263         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
87264         (VA_START): Remove; all uses changeed to va_start.
87265         (exit, strerror): Remove decls.
87266         (error_print_progname): Prototype uncondionally.
87267         Don't include <errno.h>; no longer needed.
87268         (private_strerror): Remove.
87269         (error_tail): Always define.
87270         (error, error_at_line): Assume C89 or better; always use prototypes.
87271         * lib/fatal.c: Include "fatal.h" first, to test interface.
87272         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
87273         (VA_START): Remove; all uses changed to va_start.
87274         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
87275         this case.
87276         (exit): Remove decl.
87277         (fatal): Prototype unconditionally.  Assume va_start works.
87278         Abort at end, to pacify gcc.
87279
87280         * lib/euidaccess.c (main): Define with a prototype.
87281
87282         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
87283
87284         * lib/exitfail.c: Include <stdlib.h> unconditionally.
87285
87286         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
87287         prototypes.
87288         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
87289         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
87290         (getenv): Remove decl.
87291         (fnmatch): Define using a prototype.
87292         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
87293         (FCT): Define using a prototype.
87294
87295         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
87296
87297         * lib/gethostname.c: Include <stddef.h>.
87298         (gethostname): Define with prototype.  Length is size_t, not int.
87299
87300 2003-09-08  Paul Eggert  <eggert@twinsun.com>
87301
87302         Assume C89 or better; remove K&R cruft.
87303         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
87304         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
87305         string.h, getenv, malloc.
87306         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
87307         headers.
87308         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
87309         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
87310         do not check for strerror.
87311         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
87312         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
87313         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
87314         do not check for doprnt or vprintf.
87315         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
87316         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
87317
87318 2003-09-08  Paul Eggert  <eggert@twinsun.com>
87319
87320         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
87321         getversion.c should have been removed then, but was accidentally
87322         preserved.
87323
87324         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
87325         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
87326
87327 2003-09-08  Karl Berry  <karl@gnu.org>
87328
87329         * config/config.sub, config.guess, srclistvars.sh: update from savannah
87330                 config, forget about prep.
87331
87332         * config/depcomp, missing: update from automake.
87333
87334 2003-09-07  Paul Eggert  <eggert@twinsun.com>
87335
87336         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
87337         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
87338
87339 2003-09-07  Paul Eggert  <eggert@twinsun.com>
87340
87341         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
87342         copy_tm_result.  Bug reported by Simon Josefsson in
87343         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
87344
87345 2003-09-06  Paul Eggert  <eggert@twinsun.com>
87346
87347         * m4/time_r.m4: New file.
87348         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
87349         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
87350         is. Check for timegm declaration.
87351         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
87352         Do not check for gmtime_r.
87353         Replace mktime if __mktime_internal does not exist and if mktime
87354         hasn't been replaced already.
87355
87356 2003-09-06  Paul Eggert  <eggert@twinsun.com>
87357
87358         * lib/time_r.c, lib/time_r.h: New files.
87359
87360         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
87361         __localtime_r.
87362         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
87363         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
87364
87365         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
87366         __gmtime_r.
87367         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
87368         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
87369         Include <time_r.h>.
87370
87371         * lib/timegm.c: Switch to glibc implementation, with the following
87372         changes:
87373         [defined HAVE_CONFIG_H]: Include <config.h>.
87374         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
87375         (__mktime_internal) [!defined _LIBC]: New decl.
87376         (__gmtime_r) [!defined _LIBC]: New macro and function.
87377         (timegm): Use a prototype, since gnulib assumes C89.
87378         Do not bother declaring tmp to be const, as it's not really usefu.
87379         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
87380         (timegm): Declare only if HAVE_DECL_TIMEGM.
87381
87382 2003-09-06  Paul Eggert  <eggert@twinsun.com>
87383
87384         * MODULES.html.sh (func_all_modules): Add time_r.
87385         * modules/time_r: New file.
87386         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
87387         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
87388
87389 2003-09-03  Paul Eggert  <eggert@twinsun.com>
87390
87391         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
87392         Bug reported by Lute Kamstra in
87393         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
87394
87395         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
87396         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
87397         course with correspondingly smaller numbers for tomorrow and
87398         yesterday.  From Tadayoshi Funaba.  Originally installed into
87399         sh-utils on 1999-08-07, but the patch got lost (I guess during the
87400         coreutils merge?).
87401
87402 2003-08-31  Simon Josefsson  <jas@extundo.com>
87403
87404         * modules/timegm: New file.
87405         * MODULES.html.sh (func_all_modules): Add timegm.
87406
87407 2003-08-31  Simon Josefsson  <jas@extundo.com>
87408
87409         * m4/timegm.m4: New file.
87410
87411 2003-08-31  Simon Josefsson  <jas@extundo.com>
87412
87413         * lib/timegm.h: New file.
87414         * lib/timegm.c: New file.  Based on
87415         wget-1.8.2/src/http.c:mktime_from_utc.
87416
87417 2003-08-31  Karl Berry  <karl@gnu.org>
87418
87419         * lib/argp.h: update from libc.
87420
87421 2003-08-28  Bruno Haible  <bruno@clisp.org>
87422
87423         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
87424         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
87425         followed by '#define fnmatch fnmatch_posix' gives an error.
87426
87427 2003-08-28  Bruno Haible  <bruno@clisp.org>
87428
87429         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
87430         warning on QNX, which defines O_BINARY to 000000.
87431
87432 2003-08-27  Jim Meyering  <jim@meyering.net>
87433
87434         * m4/mkstemp.m4: Require that the system mkstemp be able to create
87435         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
87436         would fail after 32.  Reported by Danny Levinson.  Details here:
87437         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
87438
87439 2003-08-24  Bruno Haible  <bruno@clisp.org>
87440
87441         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
87442         MSVC7 <stdio.h> is included later.
87443
87444 2003-08-22  Simon Josefsson  <jas@extundo.com>
87445
87446         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
87447
87448 2003-08-20  Karl Berry  <karl@gnu.org>
87449
87450         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
87451
87452 2003-08-20  Bruno Haible  <bruno@clisp.org>
87453
87454         * modules/progname: New file.
87455         * MODULES.html.sh (func_all_modules): Add progname.
87456
87457 2003-08-20  Bruno Haible  <bruno@clisp.org>
87458
87459         * lib/progname.h: New file, from GNU gettext.
87460         * lib/progname.c: New file, from GNU gettext.
87461         * lib/progreloc.c: New file, from GNU gettext.
87462
87463 2003-08-19  Jim Meyering  <jim@meyering.net>
87464
87465         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
87466         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
87467
87468 2003-08-19  Bruno Haible  <bruno@clisp.org>
87469
87470         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
87471         more.
87472
87473 2003-08-19  Bruno Haible  <bruno@clisp.org>
87474
87475         * lib/xstrdup.c: Assume <string.h> exists.
87476
87477 2003-08-18  Paul Eggert  <eggert@twinsun.com>
87478
87479         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
87480         in makefile rules.
87481
87482 2003-08-18  Jim Meyering  <jim@meyering.net>
87483
87484         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
87485         * m4/lib-ld.m4: Likewise.
87486
87487 2003-08-18  Jim Meyering  <jim@meyering.net>
87488
87489         * lib/setenv.h: Indent nested cpp directive.
87490         * lib/vasnprintf.c: Remove trailing blanks.
87491
87492 2003-08-17  Simon Josefsson  <jas@extundo.com>
87493
87494         * modules/xstrndup: New file.
87495         * MODULES.html.sh (func_all_modules): Add xstrndup.
87496
87497 2003-08-17  Simon Josefsson  <jas@extundo.com>
87498
87499         * modules/argp: Fix autoconf macro name. Add more dependencies.
87500
87501 2003-08-17  Simon Josefsson  <jas@extundo.com>
87502
87503         * m4/xstrndup.m4: New file.
87504
87505 2003-08-17  Simon Josefsson  <jas@extundo.com>
87506
87507         * m4/argp.m4: New file.
87508
87509 2003-08-17  Simon Josefsson  <jas@extundo.com>
87510             Bruno Haible  <bruno@clisp.org>
87511
87512         * lib/xstrndup.h: New file.
87513         * lib/xstrndup.c: New file.
87514
87515 2003-08-17  Bruno Haible  <bruno@clisp.org>
87516
87517         * modules/strndup (Files, Include): Add lib/strndup.h.
87518
87519 2003-08-17  Bruno Haible  <bruno@clisp.org>
87520
87521         * modules/euidaccess (Files): Add lib/euidaccess.h.
87522
87523 2003-08-17  Bruno Haible  <bruno@clisp.org>
87524
87525         * lib/strndup.h: New file.
87526
87527 2003-08-17  Bruno Haible  <bruno@clisp.org>
87528
87529         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
87530         like AC_GNU_SOURCE.
87531         * modules/extensions (configure.ac): Comment out the invocation of
87532         gl_USE_SYSTEM_EXTENSIONS.
87533
87534 2003-08-16  Paul Eggert  <eggert@twinsun.com>
87535
87536         Merges from coreutils, etc.
87537         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
87538         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
87539         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
87540         fixing a typo.
87541         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
87542         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
87543
87544 2003-08-16  Paul Eggert  <eggert@twinsun.com>
87545
87546         Document merge from coreutils.
87547         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
87548         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
87549         * modules/utime: Add m4/utimes-null.m4.
87550
87551 2003-08-16  Paul Eggert  <eggert@twinsun.com>
87552
87553         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
87554         space, undoing this 2003-08-12 change:
87555         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
87556
87557 2003-08-16  Paul Eggert  <eggert@twinsun.com>
87558
87559         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
87560         strtoul.c from libc, undoing this 2003-08-12 change:
87561         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
87562
87563 2003-08-16  Jim Meyering  <jim@meyering.net>
87564
87565         Merges from coreutils.
87566         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
87567         prefix.  Adjust cache variables similarly.  Create 500 rather than
87568         just 300 files, to exercise bug on Darwin6.5, too.
87569         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
87570         $missing_dir.
87571         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
87572         AM_SYS_POSIX_TERMIOS.
87573         Reported by mkc@mathdogs.com.
87574         Also change use of $am_cv_sys_posix_termios
87575         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
87576         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
87577         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
87578         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
87579         in /proc/mounts until it finds one with matching device number.  This
87580         is unnecessary when the FILE argument *is* a mount point.  No stat call
87581         is necessary in that case.  So, disable the statvfs-testing code on
87582         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
87583         as RedHat bug# 84846.
87584         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
87585         to 1MB, so as not to render systems with no stack size limit (e.g.,
87586         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
87587         Include <unistd.h>.  On some systems,
87588         it is required for the definition of _SC_PAGESIZE.
87589
87590 2003-08-16  Jim Meyering  <jim@meyering.net>
87591
87592         Merge from coreutils.
87593         * lib/xstrtoimax.c: #else #if -> #elif.
87594         * lib/xstrtoumax.c: Likewise.
87595
87596 2003-08-16  Jim Meyering  <jim@meyering.net>
87597
87598         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
87599         * m4/utimes.m4: Removed.
87600         * m4/utimes-null.m4: Renamed from utimes.m4.
87601
87602         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
87603         to 1MB, so as not to render systems with no stack size limit (e.g.,
87604         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
87605         Include <unistd.h>.  On some systems,
87606         it is required for the definition of _SC_PAGESIZE.
87607
87608 2003-08-16  Jim Meyering  <jim@meyering.net>
87609         and Paul Eggert  <eggert@cs.ucla.edu>
87610
87611         Merges from coreutils, etc.
87612
87613         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
87614         using the latest version from cvs.  This avoids problems with #line
87615         directives using a vendor (Sun) compiler.
87616         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
87617         Don't set GETGROUPS_LIB here; now it's
87618         done via getgroups.m4's wrapper function.
87619         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
87620         rather than just in sh-util/configure.in, so that the
87621         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
87622         same.
87623         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
87624         AC_FUNC_GETLOADAVG where to find getloadavg.c.
87625         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
87626         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
87627         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
87628         Remove code that is now done by the newly-required macros.
87629         Append $(EXEEXT) to DF_PROG.
87630         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
87631         Do not invoke or require the following here,
87632         since prereq.m4 or some gnulib .m4 now does this for us:
87633         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
87634         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
87635         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
87636         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
87637         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
87638         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
87639         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
87640         AC_FUNC_OBSTACK.
87641         Do not replace the following functions, as this is now the job
87642         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
87643         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
87644         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
87645         atexit getpass, strdup, getpagesize.
87646         Replace 'raise'.
87647         Do not check for the following functions, as this is now the job
87648         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
87649         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
87650         setregid.
87651         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
87652         Check for sys/sysctl.h.
87653         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
87654         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
87655         of checking for ssize_t ourselves.
87656
87657         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
87658         Require every macro that gnulib/modules/* suggests for us.
87659         (jm_PREREQ_ADDEXT): New macro.
87660         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
87661         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
87662
87663         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
87664         (gl_PHYSMEM): Use it.
87665         Also check for `table' function.
87666         Check for new headers and functions.
87667         Add check for sys/sysmp.h.
87668         With suggestions from Kaveh Ghazi.
87669         Ignore headers that are present but cannot be compiled.  This
87670         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
87671         C 5.4.
87672
87673 2003-08-15  Paul Eggert  <eggert@twinsun.com>
87674
87675         Document merge from coreutils.
87676         * modules/userspec: Depend on posixver.
87677         * modules/strftime: Depend on tzset.
87678
87679 2003-08-15  Paul Eggert  <eggert@twinsun.com>
87680
87681         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
87682         rather than tab, after '#' in shell-script copyright notices.
87683         Suggested by Bruno Haible.
87684
87685 2003-08-15  Paul Eggert  <eggert@twinsun.com>
87686
87687         * config/srclist-update: Use three spaces, rather than tab, after '#'
87688         in shell-script copyright notices.  Suggested by Bruno Haible.
87689         Remove unnecessary parenthesization in regular expression.
87690
87691 2003-08-15  Jim Meyering  <jim@meyering.net>
87692
87693         Merge from coreutils.
87694         * lib/xgethostname.c: Include <stdlib.h>.
87695         (xghostname): Don't exit for anything other than memory-related
87696         failure; just return NULL.
87697         * lib/userspec.c: Include "posixver.h".
87698         (parse_user_spec): Accept `.' as a separator only
87699         in pre-POSIX-200112 mode.
87700         * lib/strtoimax.c: Use #elif rather than #else #if.
87701         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
87702         Remove function, now that we can rely on a working tzset function.
87703         [!_LIBC]: Ensure that the required autoconf test has been run.
87704         [!defined _NL_CURRENT && HAVE_STRFTIME]:
87705         Use underlying_strftime for %r.
87706         * lib/sha.c: Merge in some clean-up and optimization changes from
87707         glibc.
87708         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
87709         Ensure that it is a multiple of 64.
87710         Rearrange loop exit tests so as to avoid performing an
87711         additional fread after encountering an error or EOF.
87712         * lib/realloc.c: Update copyright date.
87713
87714 2003-08-15  Jim Meyering  <jim@meyering.net>
87715         and Paul Eggert  <eggert@twinsun.com>
87716
87717         Merge from coreutils.
87718         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
87719         member but strut utmpx does not.  Needed for AIX 4.3.3.
87720         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
87721
87722 2003-08-15  Jim Meyering  <jim@meyering.net>
87723         and Paul Eggert  <eggert@cs.ucla.edu>
87724
87725         Merges from coreutils, etc.
87726         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
87727         Require gl_FUNC_TZSET_CLOBBER.
87728         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
87729         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
87730         members.
87731
87732 2003-08-14  Paul Eggert  <eggert@twinsun.com>
87733
87734         Help the merge from coreutils.
87735         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
87736         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
87737         * m4/tzset.m4: Use it too.
87738
87739 2003-08-14  Paul Eggert  <eggert@twinsun.com>
87740
87741         * modules/tzset: New file.
87742
87743 2003-08-14  Jim Meyering  <jim@meyering.net>
87744
87745         Merges from coreutils.
87746         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
87747         variable names, rather than @FNMATCH_H@.
87748         * modules/alloca: Likewise for $(ALLOCA_H).
87749
87750         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
87751         the three copies of the literal target, `fnmatch.h'.
87752         * modules/alloca (alloca.h): Likewise.
87753
87754 2003-08-14  Jim Meyering  <jim@meyering.net>
87755
87756         Merge from coreutils.
87757         * m4/tzset.m4: New file.
87758         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
87759         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
87760         otherwise, AIX 5.1 systems would end up using the latter.
87761         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
87762         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
87763         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
87764         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
87765
87766 2003-08-14  Jim Meyering  <jim@meyering.net>
87767
87768         Merge from coreutils.
87769         * lib/obstack.h: Whitespace changes.
87770         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
87771         and xcalloc return values.
87772         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
87773         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
87774         hang on OSF/1 5.1 for DIR on both local and remote file systems.
87775         Reported by (and fix confirmed by) Nelson H. F. Beebe.
87776         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
87777         error from mntctl.
87778         Use mntctl's return value to drive the entry-processing loop, since
87779         we can't rely on the value of the vmt_length member in the last
87780         entry.  On some systems doing so could result in exhausting
87781         virtual memory.  Based in part on a patch from Mike Jetzer.
87782
87783 2003-08-14  Jim Meyering  <jim@meyering.net>
87784         and Paul Eggert  <eggert@twinsun.com>
87785
87786         Merges from coreutils, plus other fixes.
87787         * lib/physmem.c: Merge in portability changes from gcc/libiberty
87788         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
87789         for credits and details.  Thanks to Kaveh Ghazi for helping
87790         to keep these files in sync.
87791         (ARRAY_SIZE): Define it.
87792         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
87793         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
87794         (memcasecmp): Don't assume size_t fits in unsigned int.
87795         Remove casts and duplicate code.
87796         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
87797         (memcpy): Remove definition.
87798         Merge in some clean-up and optimization changes from glibc.
87799         [BLOCKSIZE]: Move definition to top of file.
87800         Ensure that it is a multiple of 64.
87801         Rearrange loop exit tests so as to avoid performing an
87802         additional fread after encountering an error or EOF.
87803         * lib/md5.h (md5_uintptr): Define.
87804         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
87805         return to the initial working directory.  Preserve errno
87806         for caller.
87807         * lib/idcache.c: Include "xalloc.h".
87808         (xmalloc, xrealloc): Remove decls.
87809         (getuser): Remove casts no longer required in C89.
87810         * lib/human.c: Include stdio.h, for sprintf.
87811         * lib/group-member.c: Include "xalloc.h".
87812         (xmalloc, xrealloc): Remove decls.
87813         (get_group_info): Remove casts no longer required in C89.
87814         * lib/getusershell.c (readname): Remove casts no longer required in
87815         C89.
87816         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
87817         * lib/getline.c: Whitespace fix, from coreutils.
87818
87819 2003-08-13  Paul Eggert  <eggert@twinsun.com>
87820
87821         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
87822         Check for isascii.
87823
87824         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
87825         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
87826         Undo previous (whitespace-only) change.
87827
87828 2003-08-13  Paul Eggert  <eggert@twinsun.com>
87829
87830         * lib/exclude.c: Include <ctype.h>
87831         (IN_CTYPE_DOMAIN): New macro.
87832         (is_space): New fn.
87833         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
87834         and empty lines.
87835
87836         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
87837         Undo previous (whitespace-only) change.
87838
87839 2003-08-13  Paul Eggert  <eggert@twinsun.com>
87840
87841         * config/srclist-update: Change update back to the old behavior,
87842         leaving whitespace alone.  Use one 'sed' command rather than a
87843         pipeline.
87844         (fixlicense): Now a variable, not a function.
87845         (remove_trailing_blanks): Remove.
87846         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
87847         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
87848         Undo previous (whitespace-only) change.
87849
87850 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87851
87852         Merge from coreutils.
87853         * modules/euidaccess: Add lib_SOURCES, include for new
87854         file euidaccess.h
87855
87856 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87857
87858         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
87859         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
87860         Normalize leading white space and remove trailing white space.
87861
87862         Merge from coreutils
87863         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
87864
87865         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
87866         0.12.1.  These files are now being upgraded automatically by
87867         ../config/srclist-update.
87868
87869 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87870
87871         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
87872         Normalize leading white space and remove trailing white space.
87873         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
87874         notice, as per ../config/srclist-update.
87875
87876         Merge from coreutils.
87877         * lib/euidaccess.h: New file.
87878         * lib/euidaccess.c: Include it.
87879         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
87880         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
87881         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
87882
87883 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87884
87885         * config/srclist-update: Add copyright notice.
87886         (remove_id_lines, remove_trailing_blanks): New constants.
87887         (fixfile): Use them to normalize spacing a bit in copied files.
87888         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
87889         Normalize leading white space and remove trailing white space.
87890
87891         * config/texinfo.tex: Sync with texinfo.
87892
87893         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
87894         strtoul.c from libc, to merge coreutils whitespace changes.
87895
87896         * config/srclist.txt: Get the following m4 files from gettext:
87897         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
87898         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
87899         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
87900         wint_t.m4.
87901
87902 2003-08-12  Karl Berry  <karl@gnu.org>
87903
87904         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
87905         been made.
87906
87907 2003-08-11  Paul Eggert  <eggert@twinsun.com>
87908
87909         * modules/gnu-source, m4/gnu-source.m4:
87910         Remove; we're assuming Autoconf 2.54 or later now.
87911         Suggested by Bruno Haible.
87912         * MODULES.html.sh (func_all_modules): Remove gnu-source.
87913
87914 2003-08-11  Bruno Haible  <bruno@clisp.org>
87915
87916         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
87917
87918 2003-08-11  Bruno Haible  <bruno@clisp.org>
87919
87920         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
87921         (vasnprintf): Use it instead of wcslen.
87922
87923 2003-08-11  Bruno Haible  <bruno@clisp.org>
87924
87925         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
87926         value to ensure that _Bool promotes to int. Use #define for _Bool when
87927         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
87928
87929 2003-08-10  Karl Berry  <karl@gnu.org>
87930
87931         * lib/regex.h: update from libc (whitespace fix).
87932
87933 2003-08-09  Paul Eggert  <eggert@twinsun.com>
87934
87935         Merge some files from coreutils.  These changes were
87936         originally made by Jim Meyering.
87937         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
87938         many older Unixes require this.
87939         * lib/alloca.c (alloca): Remove cast to argument of free;
87940         no longer needed in C89.
87941         * lib/alloca_.h, regex.h: Fix white space to match
87942         what GNU indent does.
87943
87944 2003-08-09  Paul Eggert  <eggert@twinsun.com>
87945
87946         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
87947         apparently Emacs's Unicode mode got confused before my 2003-08-05
87948         checkin.
87949
87950 2003-08-08  Paul Eggert  <eggert@twinsun.com>
87951
87952         * m4/extensions.m4: New file.
87953         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
87954         Require gl_USE_SYSTEM_EXTENSIONS.
87955         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
87956         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
87957
87958 2003-08-08  Paul Eggert  <eggert@twinsun.com>
87959
87960         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
87961         * modules/extensions, modules/gnu-source: New files.
87962         * modules/timespec, modules/unlocked-io: Depend on extensions.
87963
87964 2003-08-07  Paul Eggert  <eggert@twinsun.com>
87965
87966         * modules/restrict: New file.
87967         * MODULES.html.sh (func_all_modules): Add restrict.
87968         * modules/regex: Depend on restrict.
87969
87970 2003-08-07  Paul Eggert  <eggert@twinsun.com>
87971
87972         * m4/restrict.m4: New file.
87973         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
87974
87975 2003-08-07  Bruno Haible  <bruno@clisp.org>
87976
87977         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
87978         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
87979
87980 2003-08-07  Bruno Haible  <bruno@clisp.org>
87981
87982         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
87983         makes the module 'getndelim2' compatible with the module 'getline'.
87984
87985 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87986
87987         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
87988         byte with "\201" to avoid glitches when editing that source file
87989         with multi-gnome-terminal.
87990
87991 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87992
87993         * lib/bumpalloc.h: Remove.
87994
87995 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87996
87997         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
87998         * modules/bumpalloc: Remove.
87999
88000 2003-08-04  Paul Eggert  <eggert@twinsun.com>
88001
88002         * lib/getloadavg.c: Change copyright notice and spacing to conform to
88003         GNU coding style.
88004
88005         Merge from coreutils.
88006         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
88007         1. From glibc.
88008         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
88009         from Karl Berry, implemented by Jim Meyering.
88010         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
88011         from Dmitry V. Levin.
88012         Remove anachronistic cast of xrealloc.
88013         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
88014         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
88015         type. Otherwise, it wouldn't compile with at least /bin/cc on
88016         ymp-cray-unicos9.0.2.X.
88017         Combine two mostly-identical uses of alloca into one.
88018         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
88019
88020 2003-08-04  Dave Love  <d.love@dl.ac.uk>
88021
88022         [From Emacs.]
88023
88024         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
88025         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
88026         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
88027         obsolete NLIST_NAME_UNION.
88028         [__GNU__]: Undef BSD and FSCALE.
88029         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
88030
88031 2003-08-03  Paul Eggert  <eggert@twinsun.com>
88032
88033         * lib/stdbool_.h (_Bool): Make it signed char, instead of
88034         an enum type, so that it's guaranteed to promote to int.  See:
88035         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
88036
88037 2003-08-03  Karl Berry  <karl@gnu.org>
88038
88039         * config/depcomp: update from automake.
88040
88041 2003-07-31  Paul Eggert  <eggert@twinsun.com>
88042
88043         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
88044         (strerror): Don't assume that a printable int fits in 14 bytes.
88045
88046 2003-07-31  Bruno Haible  <bruno@clisp.org>
88047
88048         * modules/getpass-gnu: New file.
88049         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
88050
88051 2003-07-31  Bruno Haible  <bruno@clisp.org>
88052
88053         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
88054
88055 2003-07-24  Karl Berry  <karl@gnu.org>
88056
88057         * config/missing: update from automake.
88058
88059 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
88060             Bruno Haible  <bruno@clisp.org>
88061
88062         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
88063         * lib/getline.c (getline, getdelim): Likewise.
88064         Remove _GNU_SOURCE define; now it's defined in config.h through
88065         m4/getline.m4.
88066
88067 2003-07-23  Karl Berry  <karl@gnu.org>
88068
88069         * config/config.sub: update from prep.
88070
88071 2003-07-22  Paul Eggert  <eggert@twinsun.com>
88072
88073         * modules/xalloc (Depends-on): Add exitfail.
88074         * modules/xmemcoll: Likewise.
88075
88076 2003-07-22  Paul Eggert  <eggert@twinsun.com>
88077
88078         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
88079         over-parenthesization in macros.
88080
88081         Sync with coreutils.
88082
88083         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
88084         required by C99.
88085
88086         Use `exit_failure' for xalloc and xmemcoll instead of their own
88087         private exit-failure variables.
88088         * lib/xalloc.h (xalloc_exit_failure): Remove.
88089         * lib/xmalloc.c: Likewise.  Include exitfail.h.
88090         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
88091         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
88092         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
88093         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
88094
88095 2003-07-20  Jim Meyering  <jim@meyering.net>
88096
88097         * modules/closeout (Depends-on): Add exitfail.
88098         Suggestion from Bruno Haible.
88099
88100 2003-07-19  Karl Berry  <karl@gnu.org>
88101
88102         * config/config.sub: update from prep.
88103
88104 2003-07-18  Paul Eggert  <eggert@twinsun.com>
88105
88106         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
88107         Remove.
88108         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
88109         to test that it can stand by itself.  Include "exitfail.h".
88110         Clients should set exit_failure instead.
88111         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
88112
88113 2003-07-18  Bruno Haible  <bruno@clisp.org>
88114
88115         * modules/getndelim2: New file.
88116         * modules/getline: Share files with module getndelim2.
88117         * modules/getnline: Depend on getndelim2 instead of sharing files with
88118         it. Add getnline.c to lib_SOURCES.
88119         * MODULES.html.sh (func_all_modules): Add getndelim2.
88120
88121 2003-07-18  Bruno Haible  <bruno@clisp.org>
88122
88123         * m4/getndelim2.m4: New file.
88124         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
88125         invoke gl_PREREQ_GETNDELIM2.
88126         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
88127         gl_PREREQ_GETNDELIM2.
88128         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
88129         gl_GETNDELIM2.
88130
88131 2003-07-18  Bruno Haible  <bruno@clisp.org>
88132
88133         * lib/getndelim2.h: New file.
88134         * lib/getndelim2.c: Make into a module of its own. Include config.h,
88135         getndelim2.h.
88136         (getndelim2): Make non-static. Change return type to ssize_t.
88137         * lib/getline.h: Change argument names.
88138         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
88139         * lib/getnline.c: Include getndelim2.h.
88140
88141 2003-07-18  Andreas Schwab  <schwab@suse.de>
88142
88143         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
88144
88145 2003-07-17  Karl Berry  <karl@gnu.org>
88146
88147         * config/config.sub: update from prep.
88148
88149 2003-07-17  Bruno Haible  <bruno@clisp.org>
88150
88151         * modules/getnline: New file.
88152         * modules/getline: Add lib/getndelim2.c to source file list.
88153         * MODULES.html.sh (func_all_modules): Add getnline.
88154
88155 2003-07-17  Bruno Haible  <bruno@clisp.org>
88156
88157         * m4/getnline.m4: New file.
88158
88159 2003-07-17  Bruno Haible  <bruno@clisp.org>
88160
88161         * m4/Makefile.am.in: Remove file.
88162         * m4/Makefile.am: Remove file.
88163         * m4/Makefile.in: Remove file.
88164
88165 2003-07-17  Bruno Haible  <bruno@clisp.org>
88166
88167         * lib/getnline.h: New file.
88168         * lib/getnline.c: New file.
88169         * lib/getndelim2.c: New file, extracted from getline.c.
88170         (getndelim2): Renamed from getdelim2, with added nmax argument.
88171         * lib/getline.c: Include getndelim2.c.
88172         (getdelim2): Moved out to getndelim2.c.
88173         (getline, getdelim): Update.
88174
88175 2003-07-17  Bruno Haible  <bruno@clisp.org>
88176
88177         * lib/Makefile.am: Remove file.
88178         * lib/Makefile.in: Remove file.
88179
88180 2003-07-17  Bruno Haible  <bruno@clisp.org>
88181
88182         * configure.in: Remove file.
88183         * Makefile.in: Remove file.
88184
88185 2003-07-17  Bruno Haible  <bruno@clisp.org>
88186
88187         * MODULES.html.sh: Put the </BODY> right before </HTML>.
88188
88189 2003-07-16  Karl Berry  <karl@gnu.org>
88190
88191         * config/srclist-update: was running fixlicense twice, which caused
88192                 texinfo.tex to be nullified for some reason.  Simplify,
88193                 $gplsrc is no longer needed as far as I can see?
88194
88195 2003-07-16  Jim Meyering  <jim@meyering.net>
88196
88197         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
88198
88199 2003-07-15  Paul Eggert  <eggert@twinsun.com>
88200
88201         * config/srclist.txt: Get the following files from gettext-runtime/intl
88202         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
88203         ref-del.sin.  From Bruno Haible.
88204         * config/srclist-update (fixfile): Change grep pattern again, since the
88205         previous fix didn't work (there was another trailing $).  Use
88206         '[$]' to escape the $s.
88207
88208 2003-07-15  Karl Berry  <karl@gnu.org>
88209
88210         * lib/vasnprintf.c: update from gettext.
88211
88212 2003-07-15  Karl Berry  <karl@gnu.org>
88213
88214         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
88215         gets expanded when surrounded by '$'.
88216
88217 2003-07-15  Jim Meyering  <jim@meyering.net>
88218
88219         * modules/save-cwd: Don't depend on error.  From Derek Price.
88220
88221 2003-07-15  Jim Meyering  <jim@meyering.net>
88222
88223         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
88224
88225 2003-07-14  Simon Josefsson  <jas@extundo.com>
88226
88227         * modules/mempcpy: New file.
88228         * MODULES.html.sh (func_all_modules): Add mempcpy.
88229
88230 2003-07-14  Simon Josefsson  <jas@extundo.com>
88231
88232         * m4/mempcpy.m4: New file.
88233
88234 2003-07-14  Simon Josefsson  <jas@extundo.com>
88235
88236         * lib/mempcpy.h: New file.
88237         * lib/mempcpy.c: New file.
88238
88239 2003-07-14  Paul Eggert  <eggert@twinsun.com>
88240
88241         * modules/getdate, modules/posixtm: Depend on mktime.
88242
88243 2003-07-14  Paul Eggert  <eggert@twinsun.com>
88244
88245         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
88246         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
88247         unicodeio.c, unicodeio.h, unlocked-io.h:
88248         Switch from LGPL to GPL.
88249
88250 2003-07-14  Paul Eggert  <eggert@twinsun.com>
88251
88252         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
88253         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
88254         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
88255         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
88256         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
88257         updated automatically by ../config/srclist-update.  This changes
88258         their license from LPGL to GPL.
88259
88260 2003-07-14  Paul Eggert  <eggert@twinsun.com>
88261
88262         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
88263         assumed to refer to the root of the most recent stable gettext version.
88264         * config/srclistvars.sh: Add defaults for eggert.
88265         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
88266         Match "This program" as well as "The program".  This is needed
88267         for gettext.
88268
88269 2003-07-14  Jim Meyering  <jim@meyering.net>
88270
88271         Don't emit diagnostics.  Let callers do that.
88272         * lib/save-cwd.c: Don't include "error.h".
88273         (save_cwd): Don't call error.  Ensure that errno is valid
88274         when returning nonzero.
88275
88276         * lib/save-cwd.h (restore_cwd): Update prototype.
88277         * lib/save-cwd.c (restore_cwd): Remove two parameters.
88278         Simplify.  Don't call error upon failure.  Let callers do that.
88279         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
88280         when auditing is enabled.  But don't bother updating the #if.
88281
88282 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
88283
88284         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
88285         it breaks C++ compilation.
88286         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
88287
88288 2003-07-10  Simon Josefsson  <jas@extundo.com>
88289
88290         * modules/strchrnul (Makefile.am): Add strchrnul.h.
88291
88292 2003-07-10  Jim Meyering  <jim@meyering.net>
88293
88294         * m4/clock_time.m4: Remove trailing blank.
88295         * m4/intmax_t.m4: Likewise.
88296
88297 2003-07-10  Jim Meyering  <jim@meyering.net>
88298
88299         * lib/vasnprintf.c: Remove trailing blanks.
88300         Make cpp indentation consistent.
88301
88302 2003-07-09  Paul Eggert  <eggert@twinsun.com>
88303
88304         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
88305         posixver.c, strftime.c, strnlen.c, strverscmp.c:
88306         Switch from LGPL to GPL.
88307
88308 2003-07-09  Paul Eggert  <eggert@twinsun.com>
88309
88310         * config/srclist.txt: Sort sublists.  Add
88311         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
88312         that differ from gnulib for one reason or another; we'd like this list
88313         to be smaller but for now let's document what we have.
88314
88315 2003-07-08  Paul Eggert  <eggert@twinsun.com>
88316
88317         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
88318         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
88319         and sweeter "eval x=$x".
88320         * config/srclist.txt: Get lib/argp* from glibc.
88321
88322 2003-07-07  Paul Eggert  <eggert@twinsun.com>
88323
88324         * lib/mktime.c: Fix some boundary cases and remove need for floating
88325         point.
88326
88327         Issue a compile-time diagnostic if time_t is floating point, or if
88328         two's complement arithmetic is not in effect, or if arithmetic
88329         right shift does not propagate the sign.  These assumptions were
88330         all in the original code but they weren't checked.
88331
88332         (TIME_T_MIDPOINT, verify): New macros.
88333         (__isleap): Remove; it has integer overflow problems.
88334         (leapyear): New function, without those problems.
88335         (ydhms_tm_diff): Remove; splitting into two parts.
88336         (ydhms_diff): New function, containing the arithmetic part of
88337         the old ydhms_tm_diff function.  Issue a compile-time
88338         diagnostic if we are not using C99 integer division.
88339         Avoid casts when possible.
88340         (guess_time_tm): New function, containing the checking part of
88341         the old ydhms_tm_diff function.  Return the new value, rather than
88342         the difference between it and the old.  Accept a new argument T
88343         so that *T specifies the old value.  Check for overflow in the result.
88344
88345         (__mktime_internal): Use a time_t offset, not a long int offset.
88346         This undoes the 2003-06-04 change, which is no longer needed now
88347         that we have better overflow checking.
88348         (localtime_offset): Likewise.
88349
88350         (__mktime_internal): Avoid harmful overflow on hosts where time_t
88351         and long are 64-bit but int is only 32-bit.
88352         (ydhms_diff): Use long int to store year1 and yday1.
88353         Issue a compile-time diagnostic if long int is not wide enough.
88354
88355         (__mktime_internal): Use long int to store adjusted year and yday.
88356         Use plain C rather than preprocessor commands, if that doesn't
88357         affect efficiency.
88358         Check for overflow (and try to repair) after each probe
88359         rather than checking only at the very end.  This avoids some bugs
88360         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
88361         does not equal GMT offset at maximum time).
88362         Use integer to check for overflow rather than floating point; this
88363         is more portable to non-IEEE hosts, and is a tad faster.
88364         When we detect that we are oscillating between two values,
88365         don't check whether tm_isdst has the requested value, since
88366         we already know the answer.  When tm_isdst has the wrong value,
88367         use a different heuristic to find the right one, based on the
88368         extreme values actually observed in practice in tz2003a,
88369         rather than the (overly optimistic) "previous 3 calendar quarters".
88370
88371         (not_equal_tm, print_tm, check_result): Use "const T" rather than
88372         "T const" to accommodate glibc style.
88373         (check_result): Use less-confusing report format.  "long" -> "long int.
88374         (main): Likewise.
88375         Don't loop if the iteration overflows time_t.
88376         Allow a negative step in the iteration.
88377
88378 2003-07-06  Karl Berry  <karl@gnu.org>
88379
88380         * config/depcomp: update from automake.
88381         * config/config.sub: update from prep.
88382
88383 2003-07-03  Karl Berry  <karl@gnu.org>
88384
88385         * config/config.guess: update from prep.
88386
88387 2003-07-01  Paul Eggert  <eggert@twinsun.com>
88388
88389         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
88390         xreadlink.c now includes it unconditionally.
88391
88392 2003-07-01  Paul Eggert  <eggert@twinsun.com>
88393
88394         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
88395         having it depend on HAVE_SYS_TYPES_H.
88396
88397 2003-07-01  Bruno Haible  <bruno@clisp.org>
88398
88399         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
88400         <sys/types.h> should be sufficient.
88401         Reported by Paul Eggert.
88402
88403 2003-06-26  Karl Berry  <karl@gnu.org>
88404
88405         * config/depcomp: update from automake.
88406
88407 2003-06-26  Bruno Haible  <bruno@clisp.org>
88408
88409         * modules/human: Depend on module stdbool.
88410
88411 2003-06-25  Bruno Haible  <bruno@clisp.org>
88412
88413         * modules/readlink: New file.
88414         * modules/xreadlink: Depend on it.
88415         * MODULES.html.sh (func_all_modules): Add readlink.
88416
88417 2003-06-25  Bruno Haible  <bruno@clisp.org>
88418
88419         * m4/readlink.m4: New file.
88420
88421 2003-06-25  Bruno Haible  <bruno@clisp.org>
88422
88423         * lib/readlink.c: New file.
88424
88425 2003-06-22  Karl Berry  <karl@gnu.org>
88426
88427         * config/srclist.txt: update mkinstalldirs from automake.
88428         * config/mkinstalldirs: update.
88429
88430 2003-06-22  Bruno Haible  <bruno@clisp.org>
88431
88432         Portability to mingw32.
88433         * m4/ssize_t.m4: New file, from GNU gettext.
88434         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
88435         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
88436
88437 2003-06-22  Bruno Haible  <bruno@clisp.org>
88438
88439         * modules/safe-read: Add m4/ssize_t.m4.
88440         * modules/xreadlink: Add m4/ssize_t.m4.
88441
88442 2003-06-20  Bruno Haible  <bruno@clisp.org>
88443
88444         Assume C89, so PARAMS isn't needed.
88445         * lib/unicodeio.h (PARAMS): Remove.
88446         * lib/unicodeio.c: Don't use PARAMS.
88447
88448 2003-06-18  Karl Berry  <karl@gnu.org>
88449
88450         * config/config.{guess,sub}: update from prep.
88451
88452 2003-06-18  Jim Meyering  <jim@meyering.net>
88453
88454         Merge changes from coreutils.
88455         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
88456         Remove explicit declarations of xmalloc and realloc.
88457         Include xalloc.h.
88458         (read_utmp): Remove anachronistic cast of xmalloc.
88459
88460 2003-06-17  Paul Eggert  <eggert@twinsun.com>
88461
88462         Assume C89, so PARAMS isn't needed.
88463         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
88464         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
88465         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
88466         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
88467         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
88468         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
88469         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
88470         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
88471         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
88472         lib/xstrtod.h, lib/xstrtol.h: Likewise.
88473         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
88474         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
88475         no longer needed. Anyway, config.h should always be included before any
88476         other file.
88477
88478 2003-06-11  Simon Josefsson  <jas@extundo.com>
88479
88480         * modules/sysexits: New file.
88481         * MODULES.html.sh (func_all_modules): Add sysexits.
88482
88483 2003-06-11  Simon Josefsson  <jas@extundo.com>
88484
88485         * lib/sysexit_.h: New file.
88486
88487 2003-06-11  Derek Price  <derek@ximbiot.com>
88488
88489         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
88490         necessary.
88491
88492 2003-06-11  Bruno Haible  <bruno@clisp.org>
88493
88494         * m4/sysexits.m4: New file.
88495
88496 2003-06-10  Simon Josefsson  <jas@extundo.com>
88497
88498         * lib/argp.h: New file, from glibc.
88499         * lib/argp-ba.c: New file, from glibc.
88500         * lib/argp-eexst.c: New file, from glibc.
88501         * lib/argp-fmtstream.c: New file, from glibc.
88502         * lib/argp-fmtstream.h: New file, from glibc.
88503         * lib/argp-fs-xinl.c: New file, from glibc.
88504         * lib/argp-help.c: New file, from glibc.
88505         * lib/argp-namefrob.h: New file, from glibc.
88506         * lib/argp-parse.c: New file, from glibc.
88507         * lib/argp-pv.c: New file, from glibc.
88508         * lib/argp-pvh.c: New file, from glibc.
88509         * lib/argp-xinl.c: New file, from glibc.
88510
88511 2003-06-10  Simon Josefsson  <jas@extundo.com>
88512
88513         * modules/strchrnul: New file.
88514
88515 2003-06-10  Simon Josefsson  <jas@extundo.com>
88516
88517         * modules/argp: New file.
88518
88519 2003-06-10  Simon Josefsson  <jas@extundo.com>
88520
88521         * m4/strchrnul.m4: New file.
88522
88523 2003-06-10  Simon Josefsson  <jas@extundo.com>
88524
88525         * lib/strchrnul.h: New file.
88526         * lib/strchrnul.c: New file.
88527
88528 2003-06-10  Bruno Haible  <bruno@clisp.org>
88529
88530         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
88531
88532 2003-06-07  Karl Berry  <karl@gnu.org>
88533
88534         * config/config.{guess,sub}: update from prep.
88535
88536 2003-06-07  Jim Meyering  <jim@meyering.net>
88537
88538         * modules/strtod: Use $(...) notation, not @...@ for
88539         AC_REPLACE'd variables.
88540         * modules/localcharset: Likewise.
88541
88542 2003-06-07  Jim Meyering  <jim@meyering.net>
88543
88544         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
88545         in place of my name in the copyright comment.
88546         Remove definition and uses of __P.
88547
88548         From coreutils.
88549         * lib/stat.c: Don't declare xmalloc explicitly.
88550         Instead, include "xalloc.h".
88551         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
88552         xrealloc, and xcalloc return values.
88553         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
88554         Improve comment.
88555         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
88556
88557 2003-06-07  Bruno Haible  <bruno@clisp.org>
88558
88559         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
88560         avoid AC_CONFIG_LINKS.
88561         * modules/fnmatch (Makefile.am): Use explicit creation rule for
88562         fnmatch.h, to avoid AC_CONFIG_LINKS.
88563         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
88564
88565 2003-06-07  Bruno Haible  <bruno@clisp.org>
88566
88567         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
88568         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
88569         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
88570         directory.
88571         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
88572         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
88573         directory.
88574
88575 2003-06-06  Jim Meyering  <jim@meyering.net>
88576
88577         Merge from coreutils.
88578         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
88579         Consolidate declarations and initializations of *_base* locals.
88580
88581         Merge from coreutils.
88582         This avoids a core dump on systems without GNU putenv,
88583         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
88584         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
88585         (unsetenv): New static function, from GNU libc.
88586         (rpl_putenv): Use it.
88587
88588         * lib/modechange.c: Remove trailing blanks.
88589
88590         Merge from coreutils.
88591         * lib/fsusage.c: Remove declaration of statfs.
88592         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
88593
88594         * lib/posixtm.c: Include <stdbool.h> unconditionally.
88595
88596 2003-06-06  Jim Meyering  <jim@meyering.net>
88597
88598         * lib/stdbool_.h: Renamed from stdbool.h.in.
88599
88600 2003-06-06  Jim Meyering  <jim@meyering.net>
88601             Bruno Haible  <bruno@clisp.org>
88602
88603         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
88604         Adjust Makefile.am snippet not to redirect directly to target.
88605         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
88606
88607 2003-06-05  Paul Eggert  <eggert@twinsun.com>
88608
88609         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
88610         mismatch, look in future quarters as well as past.  This fixes a
88611         bug when processing fall-backwards gaps immediately after a long
88612         period of daylight-saving time.
88613
88614         * lib/mktime.c: Assume freestanding C89 or better.
88615         (HAVE_LIMITS_H): Remove.  Assume it's 1.
88616         (__P): Remove; not used.
88617         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
88618         (mktime, not_equal_tm, print_tm, check_result,
88619         main): Use prototypes.  Use const * where appropriate.
88620         (main): Fix typo in testing code that uncovered by above changes.
88621         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
88622
88623 2003-06-04  Paul Eggert  <eggert@twinsun.com>
88624
88625         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
88626         locale.h, localeconv.  This merges changes from coreutils.
88627
88628         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
88629         It can be removed after the next Autoconf is released.
88630         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
88631         needed.
88632
88633 2003-06-04  Paul Eggert  <eggert@twinsun.com>
88634
88635         * lib/mktime.c: Fix Debian bug 177940
88636         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
88637         (localtime_offset): Now long int, not time_t, because we want it
88638         to be guaranteed to be signed.  All uses changed.
88639         (__mktime_internal): If overflow would occur when adding offset,
88640         don't add it.
88641
88642         Merge 'human' changes from coreutils.  Rewrite to support
88643         locale-specific notations like thousands separators.
88644         * lib/human.c: Simplify authorship notice.
88645         Include human.h immediately after config.h.
88646         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
88647         <limits.h>: Do not include, since human.h does.
88648         (SIZE_MAX, UINTMAX_MAX): New macros.
88649         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
88650         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
88651         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
88652         (power_letter): Renamed from suffixes.
88653         (generate_suffix_backwards): Remove.
88654         (adjust_value): Now takes int style (because of human.h changes)
88655         and long double value (for greater precision on some platforms).
88656         (group_number): New function.
88657         (human_readable): Use it.  Use integer options, not enum.
88658         Put the options before the sizes in the arg list.
88659         Support all the new options.
88660         The old human_readable function has been removed;
88661         use inttostr.h instead.
88662         (human_readable, default_block_size, humblock):
88663         Use uintmax_t, not int, for block sizes.
88664         (human_readable_inexact, block_size_types): Remove.
88665         (block_size_opts): New constant.
88666         (human_options): Renamed from human_block_size, with new signature
88667         that allows block sizes up to UINTMAX_MAX.  All callers changed.
88668         * lib/human.h: Add copyright and authorship notice.
88669         Include <limits.h> and <stdbool.h> unconditionally.
88670         (PARAMS): Remove.  All uses removed.
88671         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
88672         (enum human_inexact_style): Remove tag; now a nameless enum.
88673         (human_floor, human_ceiling, human_round_to_even): Now have
88674         values 2, 0, 1 rather than -1, 1, 0.
88675         (human_group_digits, human_suppress_point_zero, human_autoscale,
88676         human_base_1024, human_SI, human_B): New constants.
88677         (human_readable_inexact, human_block_size): Remove.
88678         (human_readable): Size args are now uintmax_t, not int.
88679         (human_options): New decl.
88680
88681         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
88682         unnecessary now that we assume C89 or better.  This change
88683         imported from coreutils.
88684
88685         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
88686         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
88687         in the 2003-05-30 sync from glibc.
88688
88689         .h files should stand alone, but we shouldn't include <sys/types.h>
88690         if we can get away with just <stddef.h>.
88691
88692         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
88693         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
88694         rather than <sys/types.h>, as we merely need size_t.
88695         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
88696         to get size_t.
88697         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
88698         Include <stdio.h>, to get FILE.
88699         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
88700         memcasecmp.h has included <stddef.h> and all we need is size_t.
88701         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
88702         our interface, instead of including <sys/types.h>
88703
88704 2003-06-04  Paul Eggert  <eggert@twinsun.com>
88705
88706         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
88707         now, as glibc mktime is buggy on non-glibc systems.
88708
88709 2003-06-03  Karl Berry  <karl@gnu.org>
88710
88711         * config/config.sub: update from prep.
88712
88713 2003-06-02  Paul Eggert  <eggert@twinsun.com>
88714
88715         [from coreutils]
88716         Fix some minor time-related bugs with POSIX time arguments.
88717         Some valid time stamps were being rejected (notably -1, and
88718         time stamps before 1900 on 64-bit hosts).  And some invalid
88719         time stamps were being accepted, e.g. September 31.
88720
88721         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
88722         that we can return (time_t) -1 successfully.
88723         * lib/posixtm.c: Likewise.
88724         [HAVE_STDBOOL_H]: Include <stdbool.h>.
88725         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
88726         (t): Remove static var.
88727         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
88728         of static var.  All uses changed.
88729         (year): Do not reject years before 1900; they can occur with
88730         64-bit time_t.
88731         (posix_time_parse): Do not check for out-of-range components;
88732         that is now the caller's responsibility, since our checks were
88733         only approximations.
88734         (posixtime): Use mktime to check for out-of-range components,
88735         since it knows them exactly.
88736         If mktime returns (time_t) -1, check whether an error actually occurred
88737         by invoking localtime on -1.
88738         (main) [TEST_POSIXTIME]: Check for input data errors, and report
88739         posixtime failures better.
88740         Improve the test data (in comments only).
88741
88742 2003-06-02  Karl Berry  <karl@gnu.org>
88743
88744         * config/mkinstalldirs (version): new variable.
88745         (--version): new option.
88746         (usage): improve message.
88747
88748 2003-05-30  Karl Berry  <karl@gnu.org>
88749
88750         * lib/mktime.c: update from libc.
88751
88752 2003-05-30  Bruno Haible  <bruno@clisp.org>
88753
88754         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
88755         * config/config.rpath: Upgrade to gettext-0.12.1.
88756
88757 2003-05-30  Bruno Haible  <bruno@clisp.org>
88758
88759         * m4/gettext.m4: Upgrade to gettext-0.12.1.
88760         * m4/nls.m4: New file, from gettext-0.12.1.
88761         * m4/po.m4: New file, from gettext-0.12.1.
88762         * m4/progtest.m4: Upgrade to gettext-0.12.1.
88763
88764 2003-05-30  Bruno Haible  <bruno@clisp.org>
88765
88766         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
88767         * lib/localcharset.h: Likewise.
88768         * lib/localcharset.c: Likewise.
88769
88770 2003-05-29  Karl Berry  <karl@gnu.org>
88771
88772         * config/config.rpath: update from gettext.
88773
88774 2003-05-28  Paul Eggert  <eggert@twinsun.com>
88775
88776         Assume the headers required for C89 freestanding compilers.
88777         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
88778         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
88779         * m4/human.m4 (gl_HUMAN): Likewise.
88780         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
88781         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
88782         * m4/userspec.m4 (gl_USERSPEC): Likewise.
88783         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
88784         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
88785         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
88786
88787 2003-05-28  Paul Eggert  <eggert@twinsun.com>
88788
88789         Assume the headers required for C89 freestanding compilers.
88790         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
88791         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
88792         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
88793         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
88794         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
88795         define, since <limits.h> is guaranteed to do that.
88796         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
88797         * lib/exclude.c: Include <stdbool.h> unconditionally.
88798         * lib/tempname.c: Include <stddef.h> unconditionally.
88799         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
88800         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
88801         <stddef.h> does that.
88802         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
88803         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
88804         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
88805         needed.
88806         * lib/xstrtol.c: Likewise.
88807         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
88808         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
88809
88810         * lib/addext.c (addext): Use assignment rather than cast, to avoid
88811         warnings on some platforms.
88812
88813         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
88814         arbitrarily.
88815
88816 2003-05-26  Jim Meyering  <jim@meyering.net>
88817
88818         Merge in a change from coreutils:
88819         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
88820         that is guaranteed to be `no'.  Use `no_such_member' to indicate
88821         that condition, rather than `-1' which is slightly misleading.
88822         Change the name of the cache variable to have the gl_ prefix.
88823         Prompted by a patch from Richard Dawe for DJGPP.
88824
88825 2003-05-24  Karl Berry  <karl@gnu.org>
88826
88827         * config/config.guess: update from prep.
88828
88829 2003-05-22  Karl Berry  <karl@gnu.org>
88830
88831         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
88832
88833 2003-05-20  Karl Berry  <karl@gnu.org>
88834
88835         * config/config.guess: update from prep.
88836
88837 2003-05-18  Karl Berry  <karl@gnu.org>
88838
88839         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
88840         might actually be set by the user.
88841
88842         * config/depcomp, install-sh, mdate-sh: update from automake.
88843
88844 2003-05-17  Bruno Haible  <bruno@clisp.org>
88845
88846         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
88847         invalid expansion for AC_EGREP_CPP.
88848         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
88849         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
88850         Suggested by Akim Demaille <akim@epita.fr> in
88851         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
88852
88853 2003-05-12  Jim Meyering  <jim@meyering.net>
88854
88855         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
88856         the space-padded-by-default conversion specifiers, %e, %k, %l.
88857
88858 2003-05-12  Bruno Haible  <bruno@clisp.org>
88859
88860         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
88861         the string is longer than 4 KB.
88862
88863 2003-05-11  Karl Berry  <karl@gnu.org>
88864
88865         * config/config.{guess,sub}: update from prep.
88866
88867 2003-05-09  Bruno Haible  <bruno@clisp.org>
88868
88869         * modules/error: Add m4/strerror_r.m4 to file list.
88870
88871 2003-05-03  Bruno Haible  <bruno@clisp.org>
88872
88873         Upgrade to Unicode-4.0.
88874         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
88875         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
88876         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
88877         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
88878         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
88879         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
88880         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
88881         Change width of U+E0100..U+E01EF from 1 to 0.
88882
88883 2003-04-25  Jim Meyering  <jim@meyering.net>
88884
88885         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
88886         of type size_t, not int.
88887
88888 2003-04-25  Bruno Haible  <bruno@clisp.org>
88889
88890         * lib/copy-file.c: Include <stddef.h>, for size_t.
88891
88892 2003-04-21  Paul Eggert  <eggert@twinsun.com>
88893
88894         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
88895         code which expansion is under static control.  Patch imported from
88896         Akim Demaille's patch to Bison; see
88897         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
88898
88899 2003-04-14  Bruno Haible  <bruno@clisp.org>
88900
88901         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
88902
88903 2003-04-11  Jim Meyering  <jim@meyering.net>
88904
88905         Merge changes from Coreutils.
88906
88907         2003-03-22  Jim Meyering  <jim@meyering.net>
88908
88909         * lib/strftime.c (widen): Cast alloca return value to proper type.
88910
88911         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
88912
88913         From GNU libc.
88914         * lib/strftime.c (my_strftime): Handle very large width
88915         specifications for numeric values correctly.  Improve checks for
88916         overflow.
88917
88918         2003-01-19  Jim Meyering  <jim@meyering.net>
88919
88920         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
88921         definitions.
88922         (nl_get_alt_digit) [! defined my_strftime]: Define.
88923         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
88924         _nl_get_alt_digit and _nl_get_walt_digit.
88925
88926         * lib/strftime.c (my_strftime): Merge in locale-related changes from
88927         libc. These changes have no effect outside of _LIBC.
88928
88929 2003-04-10  Bruno Haible  <bruno@clisp.org>
88930
88931         * modules/findprog: New file.
88932         * MODULES.html.sh (func_all_modules): Add it.
88933
88934 2003-04-10  Bruno Haible  <bruno@clisp.org>
88935
88936         * m4/findprog.m4: New file.
88937         * m4/eaccess.m4: New file.
88938
88939 2003-04-10  Bruno Haible  <bruno@clisp.org>
88940
88941         * lib/findprog.h: New file, from GNU gettext.
88942         * lib/findprog.c: New file, from GNU gettext.
88943
88944 2003-04-05  Jim Meyering  <jim@meyering.net>
88945
88946         Merge changes from Coreutils.
88947
88948         * lib/exclude.h (PARAMS): Remove definition and uses.
88949         * lib/exclude.c: Remove uses of `PARAMS'.
88950
88951         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
88952         Add test-cases for DOS filenames. Declare program_name.
88953         (main): Set up program_name.  Patch by Rich Dawe.
88954
88955         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
88956         error from mntctl.
88957         Use mntctl's return value to drive the entry-processing loop, since
88958         we can't rely on the value of the vmt_length member in the last
88959         entry.  On some systems doing so could result in exhausting
88960         virtual memory.  Based in part on a patch from Mike Jetzer.
88961
88962 2003-04-04  Bruno Haible  <bruno@clisp.org>
88963
88964         * modules/linebreak: New file.
88965         * MODULES.html.sh (func_all_modules): Add it.
88966
88967 2003-04-04  Bruno Haible  <bruno@clisp.org>
88968
88969         * m4/linebreak.m4: New file.
88970
88971 2003-04-04  Bruno Haible  <bruno@clisp.org>
88972
88973         * lib/linebreak.h: New file, from GNU gettext.
88974         * lib/linebreak.c: New file, from GNU gettext with slight
88975         modifications.
88976         * lib/lbrkprop.h: New file, from GNU gettext.
88977
88978 2003-04-03  Bruno Haible  <bruno@clisp.org>
88979
88980         * modules/utf8-ucs4: New file.
88981         * modules/utf16-ucs4: New file.
88982         * modules/ucs4-utf8: New file.
88983         * modules/ucs4-utf16: New file.
88984         * MODULES.html.sh (func_all_modules): Add them.
88985
88986 2003-04-03  Bruno Haible  <bruno@clisp.org>
88987
88988         * m4/utf-ucs4.m4: New file.
88989         * m4/ucs4-utf.m4: New file.
88990
88991 2003-04-03  Bruno Haible  <bruno@clisp.org>
88992
88993         * lib/utf8-ucs4.h: New file, from GNU gettext.
88994         * lib/utf16-ucs4.h: New file, from GNU gettext.
88995         * lib/ucs4-utf8.h: New file, from GNU gettext.
88996         * lib/ucs4-utf16.h: New file, from GNU gettext.
88997
88998 2003-04-02  Bruno Haible  <bruno@clisp.org>
88999
89000         * modules/binary-io: New file.
89001         * MODULES.html.sh (func_all_modules): Add it.
89002
89003 2003-04-02  Bruno Haible  <bruno@clisp.org>
89004
89005         * lib/binary-io.h: New file, from GNU gettext.
89006
89007 2003-04-01  Bruno Haible  <bruno@clisp.org>
89008
89009         * modules/pathname: New file.
89010         * MODULES.html.sh (func_all_modules): Add it.
89011
89012 2003-04-01  Bruno Haible  <bruno@clisp.org>
89013
89014         * lib/pathname.h: New file, from GNU gettext.
89015         * lib/concatpath.c: New file, from GNU gettext.
89016
89017 2003-03-30  Bruno Haible  <bruno@clisp.org>
89018
89019         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
89020
89021 2003-03-30  Bruno Haible  <bruno@clisp.org>
89022
89023         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
89024         function chown() doesn't exist.
89025
89026 2003-03-28  Bruno Haible  <bruno@clisp.org>
89027
89028         * modules/copy-file: New file.
89029         * MODULES.html.sh (func_all_modules): Add it.
89030
89031 2003-03-28  Bruno Haible  <bruno@clisp.org>
89032
89033         * m4/copy-file.m4: New file.
89034
89035 2003-03-28  Bruno Haible  <bruno@clisp.org>
89036
89037         * lib/copy-file.h: New file, from GNU gettext.
89038         * lib/copy-file.c: New file, from GNU gettext.
89039
89040 2003-03-18  Jim Meyering  <jim@meyering.net>
89041
89042         * lib/quote.c (quote_n): Fix typo in comment.
89043
89044 2003-03-18  Bruno Haible  <bruno@clisp.org>
89045
89046         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
89047         checking.
89048         * m4/onceonly_2_57.m4: Likewise.
89049
89050 2003-03-17  Bruno Haible  <bruno@clisp.org>
89051
89052         * m4/onceonly.m4: Require autoconf 2.54 or newer.
89053         (m4_quote): Remove macro.
89054         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
89055
89056 2003-03-14  Jim Meyering  <jim@meyering.net>
89057
89058         Merge changes from Coreutils.
89059         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
89060         to be const, in order to avoid warnings.
89061         (obstack_room): Likewise.
89062         (obstack_empty_p): Likewise.
89063
89064 2003-03-14  Bruno Haible  <bruno@clisp.org>
89065
89066         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
89067         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
89068
89069 2003-03-13  Paul Eggert  <eggert@twinsun.com>
89070
89071         Merge changes from Bison.
89072         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
89073         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
89074         when compiling Bison 1.875's `bitset bset = obstack_alloc
89075         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
89076         * lib/hash.c: Include <stdbool.h> unconditionally.
89077
89078 2003-03-13  Paul Eggert  <eggert@twinsun.com>
89079
89080         * m4/onceonly.m4 (m4_quote): New macro.
89081         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
89082         Quote AC_FOREACH variable-expansions properly.
89083
89084 2003-03-13  Paul Eggert  <eggert@twinsun.com>
89085
89086         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
89087
89088 2003-03-09  Paul Eggert  <eggert@twinsun.com>
89089
89090         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
89091         Reported by Bruce Becker; see:
89092         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
89093
89094 2003-03-03  Paul Eggert  <eggert@twinsun.com>
89095             Bruno Haible  <bruno@clisp.org>
89096
89097         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
89098         Reported by John Hughes, see
89099         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
89100
89101 2003-02-20  Bruno Haible  <bruno@clisp.org>
89102
89103         * MODULES.html.sh (func_all_modules): Add poll.
89104
89105 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
89106
89107         * modules/poll: New file.
89108
89109 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
89110
89111         * lib/poll_.h: New file.
89112         * lib/poll.c: New file.
89113
89114 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
89115
89116         * m4/poll.m4: New file.
89117
89118 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
89119
89120         * modules/mathl: New file.
89121
89122 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
89123
89124         * lib/mathl.h: New file.
89125         * lib/acosl.c: New file.
89126         * lib/asinl.c: New file.
89127         * lib/atanl.c: New file.
89128         * lib/ceill.c: New file.
89129         * lib/cosl.c: New file.
89130         * lib/expl.c: New file.
89131         * lib/floorl.c: New file.
89132         * lib/frexpl.c: New file.
89133         * lib/ldexpl.c: New file.
89134         * lib/logl.c: New file.
89135         * lib/sincosl.c: New file.
89136         * lib/sinl.c: New file.
89137         * lib/sqrtl.c: New file.
89138         * lib/tanl.c: New file.
89139         * lib/trigl.c: New file.
89140         * lib/trigl.h: New file.
89141
89142 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
89143
89144         * m4/mathl.m4: New file.
89145
89146 2003-02-18  Bruno Haible  <bruno@clisp.org>
89147
89148         * MODULES.html.sh (func_all_modules): Add mathl.
89149
89150 2003-02-17  Bruno Haible  <bruno@clisp.org>
89151
89152         * modules/mkdtemp: New module.
89153         * MODULES.html.sh (func_all_modules): Add it.
89154
89155 2003-02-17  Bruno Haible  <bruno@clisp.org>
89156
89157         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
89158
89159 2003-02-17  Bruno Haible  <bruno@clisp.org>
89160
89161         * lib/mkdtemp.h: New file, from GNU gettext.
89162         * lib/mkdtemp.c: New file, from GNU gettext.
89163
89164 2003-02-02  Jim Meyering  <jim@meyering.net>
89165
89166         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
89167         e.g. glibc-2.2.93.
89168
89169 2003-01-31  Bruno Haible  <bruno@clisp.org>
89170
89171         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
89172         'rpl_rename'.
89173         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
89174         'rpl_strnlen'.
89175         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
89176         'rpl_strtod'.
89177         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
89178         'rpl_utime'.
89179
89180 2003-01-31  Bruno Haible  <bruno@clisp.org>
89181
89182         * lib/rename.c: #undef rename before defining rpl_rename.
89183         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
89184
89185 2003-01-30  Bruno Haible  <bruno@clisp.org>
89186
89187         * modules/vasnprintf, modules/vasprintf: New modules.
89188         * MODULES.html.sh (func_all_modules): Add them.
89189
89190 2003-01-30  Bruno Haible  <bruno@clisp.org>
89191
89192         * m4/signed.m4: New file, from GNU gettext.
89193         * m4/longdouble.m4: New file, from GNU gettext.
89194         * m4/wchar_t.m4: New file, from GNU gettext.
89195         * m4/wint_t.m4: New file, from GNU gettext.
89196         * m4/vasnprintf.m4: New file.
89197         * m4/vasprintf.m4: New file.
89198
89199 2003-01-30  Bruno Haible  <bruno@clisp.org>
89200
89201         * lib/printf-args.h: New file, from GNU gettext.
89202         * lib/printf-args.c: New file, from GNU gettext.
89203         * lib/printf-parse.h: New file, from GNU gettext.
89204         * lib/printf-parse.c: New file, from GNU gettext.
89205         * lib/vasnprintf.h: New file, from GNU gettext.
89206         * lib/vasnprintf.c: New file, from GNU gettext.
89207         * lib/asnprintf.c: New file, from GNU gettext.
89208         * lib/vasprintf.h: New file, from GNU gettext with modifications.
89209         * lib/vasprintf.c: New file, from GNU gettext.
89210         * lib/asprintf.c: New file, from GNU gettext.
89211
89212 2003-01-29  Bruno Haible  <bruno@clisp.org>
89213
89214         * modules/stpncpy: New module.
89215         * MODULES.html.sh (func_all_modules): Add it.
89216
89217 2003-01-29  Bruno Haible  <bruno@clisp.org>
89218
89219         * m4/stpncpy.m4: New file.
89220
89221 2003-01-29  Bruno Haible  <bruno@clisp.org>
89222
89223         * lib/stpncpy.h: New file, from GNU gettext with modifications.
89224         * lib/stpncpy.c: New file, from GNU gettext with modifications.
89225
89226 2003-01-28  Bruno Haible  <bruno@clisp.org>
89227
89228         * modules/c-ctype: New module.
89229         * MODULES.html.sh (func_all_modules): Add it.
89230
89231 2003-01-28  Bruno Haible  <bruno@clisp.org>
89232
89233         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
89234         Paul Eggert.
89235         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
89236         Paul Eggert.
89237
89238 2003-01-27  Bruno Haible  <bruno@clisp.org>
89239
89240         * modules/xsetenv: New module.
89241         * MODULES.html.sh (func_all_modules): Add it.
89242
89243 2003-01-27  Bruno Haible  <bruno@clisp.org>
89244
89245         * lib/xsetenv.h: New file, from GNU gettext.
89246         * lib/xsetenv.c: New file, from GNU gettext.
89247
89248 2003-01-23  Jim Meyering  <jim@meyering.net>
89249
89250         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
89251         from working on systems without dirfd (at least Irix and OSF1/Tru64).
89252
89253 2003-01-23  Bruno Haible  <bruno@clisp.org>
89254
89255         * modules/minmax: New module.
89256         * MODULES.html.sh (func_all_modules): Add it.
89257
89258 2003-01-23  Bruno Haible  <bruno@clisp.org>
89259
89260         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
89261         Eggert.
89262
89263 2003-01-22  Bruno Haible  <bruno@clisp.org>
89264
89265         * modules/exit: New module.
89266         * MODULES.html.sh (func_all_modules): Add it.
89267
89268 2003-01-22  Bruno Haible  <bruno@clisp.org>
89269
89270         * lib/exit.h: New file, from GNU gettext.
89271
89272 2003-01-19  Bruno Haible  <bruno@clisp.org>
89273
89274         * gnulib-tool: Recognize option --extract-maintainer.
89275         (func_get_maintainer): New function.
89276         * modules/*: Add Maintainer entry.
89277
89278 2003-01-16  Jim Meyering  <jim@meyering.net>
89279
89280         * m4/regex.m4: The `regex' struct is both input and output.
89281         Initialize it before each use.  Patch by Tim Waugh.
89282
89283 2003-01-16  Bruno Haible  <bruno@clisp.org>
89284
89285         * MODULES.html.sh: Add a table of contents. Add the module name as
89286         leftmost column. Add hyperlinks.
89287
89288 2003-01-15  Bruno Haible  <bruno@clisp.org>
89289
89290         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
89291
89292 2003-01-15  Bruno Haible  <bruno@clisp.org>
89293
89294         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
89295         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
89296         suffix.
89297
89298 2003-01-15  Bruno Haible  <bruno@clisp.org>
89299
89300         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
89301
89302 2003-01-15  Bruno Haible  <bruno@clisp.org>
89303
89304         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
89305         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
89306
89307 2003-01-14  Jim Meyering  <jim@meyering.net>
89308
89309         * lib/same.c (same_name): Tweak a comment.
89310
89311 2003-01-14  Bruno Haible  <bruno@clisp.org>
89312
89313         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
89314         when a string comparison is sufficient.
89315
89316 2003-01-14  Bruno Haible  <bruno@clisp.org>
89317
89318         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
89319         'unsigned int'.
89320
89321 2003-01-14  Bruno Haible  <bruno@clisp.org>
89322
89323         * lib/hash-pjw.c: Add comment about low quality of this function.
89324
89325 2003-01-13  Bruno Haible  <bruno@clisp.org>
89326
89327         * modules/stpcpy: Distribute lib/stpcpy.h.
89328         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
89329
89330 2003-01-13  Bruno Haible  <bruno@clisp.org>
89331
89332         * modules/*: Add a description.
89333         * modules/strpbrk: Fix Makefile.am snippet.
89334         * modules/strtoimax: Fix dependencies.
89335         * modules/strtoumax: Likewise.
89336
89337 2003-01-13  Bruno Haible  <bruno@clisp.org>
89338
89339         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
89340         * modules/alloca (Makefile.am): All object files depend on alloca.h.
89341         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
89342
89343 2003-01-13  Bruno Haible  <bruno@clisp.org>
89344
89345         * gnulib-tool (func_create_testdir): Store config/* files in the main
89346         directory.
89347         * config.rpath: Move to ...
89348         * config/config.rpath: ... here.
89349         * modules/gettext: Contains config/config.rpath, not config.rpath.
89350         * modules/iconv: Likewise.
89351
89352 2003-01-12  Paul Eggert  <eggert@twinsun.com>
89353
89354         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
89355         to avoid collisions with libcurses and libreadline.
89356
89357         * m4/getstr.m4: Remove.
89358         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
89359
89360 2003-01-12  Paul Eggert  <eggert@twinsun.com>
89361
89362         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
89363         to avoid collisions with libcurses and libreadline.
89364
89365         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
89366         * lib/getstr.h, getstr.c: Remove.
89367         * lib/getline.c: Include "getline.h", to check interface.
89368         Move body of old getstr.c here: this defines MIN_CHUNK and
89369         declares getdelim2, which is renamed from getstr.
89370         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
89371
89372         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
89373         All uses changed.
89374         * lib/linebuffer.h: Likewise.
89375         (readline): Remove backward-compatibility macro.
89376
89377 2003-01-12  Paul Eggert  <eggert@twinsun.com>
89378
89379         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
89380         to avoid collisions with libcurses and libreadline.
89381         * getstr: Remove.
89382         * MODULES.html.sh: Remove getstr.
89383         * modules/getline: Depend on unlocked-io, not getstr.
89384
89385 2003-01-12  Jim Meyering  <jim@meyering.net>
89386
89387         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
89388
89389 2003-01-10  Bruno Haible  <bruno@clisp.org>
89390
89391         * modules/alloca: Change Makefile.am requirements. Simplify Include
89392         requirements. Add lib/alloca_.h to file list.
89393
89394 2003-01-10  Bruno Haible  <bruno@clisp.org>
89395
89396         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
89397
89398 2003-01-10  Bruno Haible  <bruno@clisp.org>
89399
89400         * lib/alloca_.h: New file.
89401         * lib/getdate.y: Unconditionally include alloca.h.
89402         * lib/makepath.c: Likewise.
89403         * lib/setenv.c: Likewise.
89404         * lib/userspec.c: Likewise.
89405
89406 2003-01-09  Karl Berry  <karl@gnu.org>
89407
89408         * MODULES.html.sh: include `dirname $0` in PATH, to find
89409         gnulib-tool.
89410
89411 2003-01-09  Bruno Haible  <bruno@clisp.org>
89412
89413         * modules/stdbool: Change configure.ac, Makefile.am requirements.
89414         Simplify Include requirements. Add lib/stdbool.h.in to file list.
89415
89416 2003-01-09  Bruno Haible  <bruno@clisp.org>
89417
89418         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
89419
89420 2003-01-09  Bruno Haible  <bruno@clisp.org>
89421
89422         * lib/stdbool.h.in: New file.
89423
89424 2003-01-09  Bruno Haible  <bruno@clisp.org>
89425
89426         * gnulib-tool (func_all_modules): Ignore files ending in ~.
89427         * MODULES.html.sh: Likewise.
89428
89429 2003-01-08  Jim Meyering  <jim@meyering.net>
89430
89431         * lib/full-write.c: Undefine and define-away `const' after inclusion
89432         of errno.h, not before.  Suggestion from Bruno Haible.
89433
89434 2003-01-08  Bruno Haible  <bruno@clisp.org>
89435
89436         * modules/full-read: Depend on full-write.
89437
89438 2003-01-08  Bruno Haible  <bruno@clisp.org>
89439
89440         * lib/safe-read.c: Include specification header first, to ensure its
89441         selfcontainedness.
89442         * lib/full-write.c: Likewise.
89443
89444 2003-01-07  Jim Meyering  <jim@meyering.net>
89445
89446         * lib/full-write.c: Rework so that it may serve to define full_read,
89447         too.
89448         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
89449
89450 2003-01-07  Bruno Haible  <bruno@clisp.org>
89451
89452         * lib/strtoimax.c: Include <stdint.h> as an alternative to
89453         <inttypes.h>.
89454         * lib/xstrtol.h: Likewise.
89455         * lib/xstrtoimax.c: Likewise.
89456         * lib/xstrtoumax.c: Likewise.
89457         * lib/human.h: Likewise.
89458
89459         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
89460         on systems that have <inttypes.h> but not <stdint.h>.
89461
89462 2003-01-07  Bruno Haible  <bruno@clisp.org>
89463
89464         * MODULES.html.sh: Add copyright notice.
89465         (missed_files): Omit CVS directory entries.
89466         (func_module): Make it work with sed-3.02.
89467         * MODULES.txt: Remove file.
89468
89469 2003-01-06  Jim Meyering  <jim@meyering.net>
89470
89471         * lib/version-etc.c: Update year in translatable copyright string.
89472
89473 2003-01-03  Karl Berry  <karl@gnu.org>
89474
89475         * config/config.{guess,sub}: update from prep.
89476
89477 2003-01-02  Karl Berry  <karl@gnu.org>
89478
89479         * doc/COPYING.DOC: belatedly updated to 1.2.
89480
89481 2003-01-01  Karl Berry  <karl@gnu.org>
89482
89483         * gnulib-tool (func_verify_module): report module name $module in
89484         error message, not $1.
89485         * gnulib-tool (create-testdir): don't complain if destdir couldn't
89486         be created, only if it doesn't exist.
89487         * gnulib-tool (last_checkin_date): don't expand the $Date here.
89488
89489 2002-12-31  Paul Eggert  <eggert@twinsun.com>
89490
89491         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
89492
89493 2002-12-31  Paul Eggert  <eggert@twinsun.com>
89494
89495         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
89496         memcmp if strcoll doesn't work.
89497
89498 2002-12-31  Bruno Haible  <bruno@clisp.org>
89499
89500         * lib/utime.c (utime_null): No need to call ftruncate if the file was
89501         nonempty.
89502
89503 2002-12-31  Bruno Haible  <bruno@clisp.org>
89504
89505         * lib/memcoll.c (STRCOLL): New macro.
89506         (memcoll): Use it.
89507
89508 2002-12-31  Bruno Haible  <bruno@clisp.org>
89509
89510         * lib/localcharset.h: New file.
89511         * lib/localcharset.c: Include it.
89512         * lib/unicodeio.c: Likewise.
89513
89514 2002-12-31  Bruno Haible  <bruno@clisp.org>
89515
89516         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
89517         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
89518
89519 2002-12-31  Bruno Haible  <bruno@clisp.org>
89520
89521         * lib/getline.h: Include <stddef.h>, for size_t.
89522
89523         * lib/unicodeio.h: Include <stddef.h>, for size_t.
89524         * lib/unicodeio.c: Don't include <stddef.h>.
89525
89526 2002-12-31  Bruno Haible  <bruno@clisp.org>
89527
89528         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
89529         HAVE_TM_ZONE.
89530
89531 2002-12-24  Karl Berry  <karl@gnu.org>
89532
89533         * config/config.guess: update from prep.
89534
89535 2002-12-24  Bruno Haible  <bruno@clisp.org>
89536
89537         General infrasructure.
89538         * m4/README: Rewritten.
89539         * m4/onceonly.m4: New file.
89540         * m4/onceonly_2_57.m4: New file.
89541
89542         Module atexit.
89543         * m4/atexit.m4: New file.
89544
89545         Module strtod.
89546         * m4/strtod.m4: New file.
89547
89548         Module strtol.
89549         * m4/strtol.m4: New file.
89550
89551         Module strtoul.
89552         * m4/strtoul.m4: New file.
89553
89554         Module memchr.
89555         * m4/memchr.m4: New file.
89556
89557         Module memcmp.
89558         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
89559         (jm_FUNC_MEMCMP): Invoke it.
89560
89561         Module memcpy.
89562         * m4/memcpy.m4: New file.
89563
89564         Module memmove.
89565         * m4/memmove.m4: New file.
89566
89567         Module memset.
89568         * m4/memset.m4: New file.
89569
89570         Module strcspn.
89571         * m4/strcspn.m4: New file.
89572
89573         Module strpbrk.
89574         * m4/strpbrk.m4: New file.
89575
89576         Module strstr.
89577         * m4/strstr.m4: New file.
89578
89579         Module strerror.
89580         * m4/strerror.m4: New file.
89581
89582         Module mktime.
89583         * m4/mktime.m4: Renamed from jm-mktime.m4.
89584         (gl_PREREQ_MKTIME): New macro.
89585         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
89586
89587         Module malloc.
89588         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
89589         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
89590         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
89591
89592         Module realloc.
89593         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
89594         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
89595         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
89596
89597         Module strftime.
89598         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
89599         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
89600         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
89601         gl_TM_GMTOFF.
89602         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
89603
89604         Module xalloc.
89605         * m4/xalloc.m4: New file.
89606
89607         Module alloca.
89608         * m4/alloca.m4: New file.
89609
89610         Module putenv.
89611         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
89612         (jm_FUNC_PUTENV): Invoke it.
89613
89614         Module setenv.
89615         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
89616         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
89617         when invoked twice.
89618         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
89619         gt_FUNC_SETENV.
89620
89621         Module memrchr.
89622         * m4/memrchr.m4: New file.
89623
89624         Module stpcpy.
89625         * m4/stpcpy.m4: New file.
89626
89627         Module strcase.
89628         * m4/strcase.m4: New file.
89629
89630         Module strdup.
89631         * m4/strdup.m4: New file.
89632
89633         Module strnlen.
89634         * m4/strnlen.m4: New file.
89635
89636         Module strndup.
89637         * m4/strndup.m4: New file.
89638
89639         Module xstrtod.
89640         * m4/xstrtod.m4: New file.
89641
89642         Module xstrtol.
89643         * m4/xstrtol.m4: New file.
89644
89645         Module getdate.
89646         * m4/getdate.m4: New file.
89647
89648         Module unlocked-io.
89649         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
89650         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
89651         * m4/jm-glibc-io.m4n: Remove file.
89652
89653         Module long-options.
89654         * m4/long-options.m4: New file.
89655
89656         Module md5.
89657         * m4/md5.m4: New file.
89658
89659         Module sha.
89660         * m4/sha.m4: New file.
89661
89662         Module getstr.
89663         * m4/getstr.m4: New file.
89664
89665         Module getline.
89666         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
89667         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
89668         <sys/types.h>, for size_t. Use the function name gnu_getline, not
89669         simply getline. Infoke gl_PREREQ_GETLINE.
89670
89671         Module obstack.
89672         * m4/obstack.m4: New file.
89673
89674         Module hash.
89675         * m4/hash.m4: New file.
89676
89677         Module readtokens.
89678         * m4/readtokens.m4: New file.
89679
89680         Module strverscmp.
89681         * m4/strverscmp.m4: New file.
89682
89683         Module stdbool.
89684         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
89685         OSF/1.
89686
89687         Module strtoll.
89688         * m4/strtoll.m4: New file.
89689
89690         Module strtoull.
89691         * m4/strtoull.m4: New file.
89692
89693         Module strtoimax.
89694         * m4/strtoimax.m4: New file.
89695
89696         Module strtoumax.
89697         * m4/strtoumax.m4: New file.
89698
89699         Module xstrtoimax.
89700         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
89701         jm_AC_PREREQ_XSTRTOIMAX.
89702         Moved the strtol prerequisites to strtol.m4.
89703         Moved the strtoll prerequisites to strtoll.m4.
89704         Moved the strtoimax prerequisites to strtoimax.m4.
89705
89706         Module xstrtoumax.
89707         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
89708         jm_AC_PREREQ_XSTRTOUMAX.
89709         Moved the strtoul prerequisites to strtoul.m4.
89710         Moved the strtoull prerequisites to strtoull.m4.
89711         Moved the strtoumax prerequisites to strtoumax.m4.
89712
89713         Module chown.
89714         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
89715         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
89716
89717         Module dup2.
89718         * m4/dup2.m4: New file.
89719
89720         Module ftruncate.
89721         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
89722         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
89723
89724         Module getgroups.
89725         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
89726         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
89727
89728         Module gettimeofday.
89729         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
89730         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
89731         gl_PREREQ_GETTIMEOFDAY.
89732
89733         Module mkdir.
89734         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
89735         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
89736
89737         Module mkstemp.
89738         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
89739         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
89740         jm_AC_TYPE_UINTMAX_T.
89741         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
89742
89743         Module stat.
89744         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
89745         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
89746
89747         Module lstat.
89748         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
89749         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
89750
89751         Module timespec.
89752         * m4/timespec.m4 (gl_TIMESPEC): New macro.
89753         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
89754         * m4/st_mtim.m4: Indentation.
89755
89756         Module nanosleep.
89757         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
89758         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
89759         gl_PREREQ_NANOSLEEP.
89760
89761         Module regex.
89762         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
89763         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
89764         (gl_REGEX): New macro.
89765
89766         Module rename.
89767         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
89768         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
89769
89770         Module rmdir.
89771         * m4/rmdir.m4: New file.
89772
89773         Module utime.
89774         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
89775         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
89776         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
89777
89778         Module dirname.
89779         * m4/dirname.m4: New file.
89780
89781         Module getopt.
89782         * m4/getopt.m4: New file.
89783
89784         Module unistd-safer.
89785         * m4/unistd-safer.m4: New file.
89786
89787         Module fnmatch.
89788         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
89789         declaration.
89790         (gl_PREREQ_FNMATCH_EXTRA): New macro.
89791         (gl_FUNC_FNMATCH_POSIX): New macro.
89792         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
89793         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
89794         simply fnmatch.
89795
89796         Module exclude.
89797         * m4/exclude.m4: New file.
89798
89799         Module human.
89800         * m4/human.m4: New file.
89801
89802         Module acl.
89803         * m4/acl.m4: Nop.
89804
89805         Module backupfile.
89806         * m4/backupfile.m4: New file.
89807         * m4/d-ino.m4: Indentation.
89808
89809         Module fsusage.
89810         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
89811         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
89812         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
89813
89814         Module dirfd.
89815         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
89816         requirements.
89817
89818         Module euidaccess.
89819         * m4/euidaccess.m4: New file.
89820
89821         Module file-type.
89822         * m4/file-type.m4: New file.
89823
89824         Module fileblocks.
89825         * m4/fileblocks.m4: New file.
89826
89827         Module filemode.
89828         * m4/filemode.m4: New file.
89829
89830         Module isdir.
89831         * m4/isdir.m4: New file.
89832
89833         Module lchown.
89834         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
89835         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
89836
89837         Module makepath.
89838         * m4/makepath.m4: New file.
89839
89840         Module modechange.
89841         * m4/modechange.m4: New file.
89842
89843         Module mountlist.
89844         * m4/mountlist.m4: New file.
89845         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
89846         Indentation.
89847
89848         Module path-concat.
89849         * m4/path-concat.m4: New file.
89850
89851         Module pathmax.
89852         * m4/pathmax.m4: New file.
89853
89854         Module same.
89855         * m4/same.m4: New file.
89856
89857         Module save-cwd.
89858         * m4/save-cwd.m4: New file.
89859
89860         Module savedir.
89861         * m4/savedir.m4: New file.
89862
89863         Module xgetcwd.
89864         * m4/xgetcwd.m4: New file.
89865         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
89866
89867         Module xreadlink.
89868         * m4/xreadlink.m4: New file.
89869
89870         Module safe-read.
89871         * m4/safe-read.m4: New file.
89872
89873         Module safe-write.
89874         * m4/safe-write.m4: New file.
89875
89876         Module closeout.
89877         * m4/closeout.m4: New file.
89878
89879         Module stdio-safer.
89880         * m4/stdio-safer.m4: New file.
89881
89882         Module getpass.
89883         * m4/getpass.m4: New file.
89884
89885         Module getugroups.
89886         * m4/getugroups.m4: New file.
89887
89888         Module group-member.
89889         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
89890         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
89891
89892         Module idcache.
89893         * m4/idcache.m4: New file.
89894
89895         Module userspec.
89896         * m4/userspec.m4: New file.
89897
89898         Module gettime.
89899         * m4/clock_time.m4: New file.
89900         * m4/gettime.m4: New file.
89901
89902         Module settime.
89903         * m4/settime.m4: New file.
89904
89905         Module posixtm.
89906         * m4/posixtm.m4: New file.
89907
89908         Module gethostname.
89909         * m4/gethostname.m4: New file.
89910
89911         Module canon-host.
89912         * m4/canon-host.m4: New file.
89913
89914         Module gettext.
89915         * m4/codeset.m4: New file, from gettext-0.11.5.
89916         * m4/gettext.m4: New file, from gettext-0.11.5.
89917         * m4/glibc21.m4: New file, from gettext-0.11.5.
89918         * m4/iconv.m4: New file, from gettext-0.11.5.
89919         * m4/intdiv0.m4: New file, from gettext-0.11.5.
89920         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
89921         * m4/inttypes.m4: New file, from gettext-0.11.5.
89922         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
89923         * m4/isc-posix.m4: New file, from gettext-0.11.5.
89924         * m4/lcmessage.m4: New file, from gettext-0.11.5.
89925         * m4/lib-ld.m4: New file, from gettext-0.11.5.
89926         * m4/lib-link.m4: New file, from gettext-0.11.5.
89927         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
89928         * m4/progtest.m4: New file, from gettext-0.11.5.
89929         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
89930         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
89931         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
89932
89933         Module localcharset.
89934         * m4/localcharset.m4: New file.
89935
89936         Module hard-locale.
89937         * m4/hard-locale.m4: New file.
89938
89939         Module mbswidth.
89940         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
89941         onceonly macros.
89942         * m4/mbrtowc.m4: Add comment.
89943
89944         Module memcasecmp.
89945         * m4/memcasecmp.m4: New file.
89946
89947         Module memcoll.
89948         * m4/memcoll.m4: New file.
89949
89950         Module unicodeio.
89951         * m4/unicodeio.m4: New file.
89952
89953         Module rpmatch.
89954         * m4/rpmatch.m4: New file.
89955
89956         Module yesno.
89957         * m4/yesno.m4: New file.
89958
89959         Module exitfail.
89960         * m4/exitfail.m4: New file.
89961
89962         Module c-stack.
89963         * m4/c-stack.m4 (gl_C_STACK): New macro.
89964         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
89965
89966         Module error.
89967         * m4/error.m4 (gl_ERROR): New macro.
89968         (jm_PREREQ_ERROR): Use onceonly macros.
89969
89970         Module fatal.
89971         * m4/fatal.m4: New file.
89972
89973         Module getloadavg.
89974         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
89975         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
89976
89977         Module getpagesize.
89978         * m4/getpagesize.m4: New file.
89979
89980         Module getusershell.
89981         * m4/getusershell.m4: New file.
89982
89983         Module physmem.
89984         * m4/physmem.m4: New file.
89985
89986         Module posixver.
89987         * m4/posixver.m4: New file.
89988
89989         Module quotearg.
89990         * m4/quotearg.m4: New file.
89991
89992         Module quote.
89993         * m4/quote.m4: New file.
89994
89995         Module readutmp.
89996         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
89997
89998         Module sig2str.
89999         * m4/sig2str.m4: New file.
90000
90001         Other.
90002         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
90003         ulonglong.m4.
90004         * m4/intmax_t.m4: New file.
90005         * m4/d-type.m4: Indentation.
90006         * m4/jm-macros.m4: Update.
90007         * m4/prereq.m4 (jm_PREREQ): Update.
90008         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
90009         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
90010         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
90011         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
90012         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
90013         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
90014         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
90015         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
90016         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
90017         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
90018         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
90019         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
90020         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
90021         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
90022         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
90023         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
90024         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
90025         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
90026         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
90027
90028 2002-12-24  Bruno Haible  <bruno@clisp.org>
90029
90030         * MODULES.txt: Update according to m4/ changes.
90031
90032         Module gettext.
90033         * config.rpath: New file, from gettext-0.11.5.
90034
90035         * modules/*: New module descriptions.
90036         * gnulib-tool: New file.
90037         * MODULES.html.sh: New file.
90038
90039 2002-12-21  Karl Berry  <karl@gnu.org>
90040
90041         * doc/fdl.texi: update to version 1.2.
90042
90043 2002-12-19  Karl Berry  <karl@gnu.org>
90044
90045         * config/config.guess: update from prep.
90046
90047 2002-12-18  Bruno Haible  <bruno@clisp.org>
90048
90049         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
90050         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
90051
90052 2002-12-17  Bruno Haible  <bruno@clisp.org>
90053
90054         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
90055         stdlib.h, string.h.
90056
90057 2002-12-17  Bruno Haible  <bruno@clisp.org>
90058
90059         * lib/canon-host.c (strdup): Remove unused declaration.
90060
90061         * lib/fsusage.c: Include full_read.h.
90062         (get_fs_usage): Use full_read instead of safe_read.
90063
90064         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
90065
90066 2002-12-12  Karl Berry  <karl@gnu.org>
90067
90068         * config/config.guess: update from prep.
90069
90070 2002-12-11  Bruno Haible  <bruno@clisp.org>
90071
90072         * m4/setenv.m4: New file, from gettext-0.11.5.
90073
90074 2002-12-11  Bruno Haible  <bruno@clisp.org>
90075
90076         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
90077         not unsetenv().
90078         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
90079         modifications:
90080
90081         2002-12-11  Bruno Haible  <bruno@clisp.org>
90082
90083                 * setenv.c (alloca): Fall back to malloc.
90084                 (freea): New macro.
90085                 (setenv): Use freea() to free memory allocated with alloca().
90086
90087         2002-11-13  Bruno Haible  <bruno@clisp.org>
90088
90089                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
90090                 function declarations.
90091                 * unsetenv.c (unsetenv): Likewise.
90092
90093         2002-03-04  Bruno Haible  <bruno@clisp.org>
90094
90095                 Portability to AIX 4.3.3.
90096                 * unsetenv.c: New file, extracted from setenv.c.
90097                 * setenv.c: Move the unsetenv() function to unsetenv.c.
90098
90099         2001-12-20  Bruno Haible  <bruno@clisp.org>
90100
90101                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
90102                 use malloc instead. For SunOS 4.
90103
90104         2001-12-11  Bruno Haible  <bruno@clisp.org>
90105
90106                 * setenv.c: Declare alloca.
90107                 (compar_fn_t): New typedef.
90108                 (KNOWN_VALUE, STORE_VALUE): Use it.
90109
90110         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
90111         setenv.h.
90112
90113 2002-12-10  Paul Eggert  <eggert@twinsun.com>
90114
90115         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
90116         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
90117         Choose values that are less likely to collide with system fnmatch
90118         options.
90119         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
90120         defined (e.g., a pure POSIX system).
90121         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
90122         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
90123
90124 2002-12-06  Paul Eggert  <eggert@twinsun.com>
90125
90126         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
90127         a pain in practice to deal with generated m4 files.  This change
90128         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
90129
90130         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
90131         and jm-glibc-io.m4, as they are no longer a special case.
90132         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
90133         kludge and the auto-generation stuff.  Check only whether the
90134         functions are declared, not whether they exist, since older hosts
90135         that don't declare the functions can't use the optimization anyway.
90136
90137 2002-12-06  Jim Meyering  <jim@meyering.net>
90138
90139         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
90140
90141         Merge in changes from libc's misc/error.c, in preparation
90142         for the merge of gnulib's changes back into libc.
90143
90144         * lib/error.c (_): Define only if not already defined.
90145         Move definition to follow all #include directives.
90146         Include unlocked-io.h only if !_LIBC.
90147         [_LIBC]: Include <libio/libioP.h>.
90148         [USE_IN_LIBIO]: Include <libio/iolibio.h>
90149         (fflush): Tweak definition to use INTUSE.
90150         (putc): Define.
90151
90152 2002-12-05  Paul Eggert  <eggert@twinsun.com>
90153
90154         * lib/alloca.c [defined emacs]: Include "lisp.h".
90155         (xalloc_die) [defined emacs]: New macro.
90156         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
90157         [! defined emacs]: Include <xalloc.h>.
90158         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
90159         (pointer): Typedef to POINTER_TYPE *.
90160         (malloc): Remove decl; we now always use xmalloc.
90161         (alloca): Use old-style definition, since Emacs needs this.
90162         Check for arithmetic overflow when computing combined size.
90163
90164 2002-12-04  Paul Eggert  <eggert@twinsun.com>
90165
90166         Do not generate unlocked-io.h automatically, since it's easier to
90167         maintain it by hand.
90168
90169         * lib/unlocked-io.h: New file, from GNU diffutils,
90170         but with proper copyright notice and attribution.
90171         * lib/gen-uio: Remove.
90172         * lib/Makefile.am: Add copyright notice.
90173         (libfetish_a_SOURCES): Add unlocked-io.h.
90174         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
90175         (DISTCLEANFILES, io_functions): Remove macros.
90176         (EXTRA_DIST): Remove gen_uio.
90177         (unlocked-io.h): Remove rule.
90178
90179 2002-12-04  Jim Meyering  <jim@meyering.net>
90180
90181         Reflect the fact that stat.c and lstat.c are no longer generated.
90182         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
90183         (DISTCLEANFILES): Likewise.
90184         (EXTRA_DIST): Likewise.
90185         (all_local): Don't depend on stat.c or lstat.c.
90186         (stat.c, lstat.c): Remove rules.
90187         (EXTRA_DIST): Remove xstat.in.
90188
90189         * lib/xstat.in: Remove file.  Contents moved into stat.c.
90190         * lib/stat.c: New file.  Contents mostly from xstat.in.
90191         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
90192         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
90193
90194         * lib/safe-read.c: Rework so that it may serve to define safe_write,
90195         too.
90196         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
90197
90198 2002-12-03  Jim Meyering  <jim@meyering.net>
90199
90200         * lib/safe-read.c, safe-write.c: Change variable names and comments,
90201         but not semantics, to minimize the differences between these two files.
90202         (safe_read): Change comment to mention SAFE_READ_ERROR.
90203
90204         * lib/safe-read.c (IS_EINTR): Define.
90205         (safe_read): Use IS_EINTR in place of in-function cpp directives.
90206
90207 2002-12-02  Jim Meyering  <jim@meyering.net>
90208
90209         * lib/safe-read.c (EINTR): Define.
90210         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
90211         (INT_MAX): Provide fallback.
90212         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
90213
90214         * lib/safe-read.h (SAFE_READ_ERROR): Define.
90215
90216 2002-12-02  Bruno Haible  <bruno@clisp.org>
90217
90218         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
90219         Define, taken from safe-read.c.
90220         (INT_MAX): Provide fallback.
90221         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
90222         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
90223
90224         * lib/safe-read.c (EINTR): Remove definition.
90225         (safe_read): Don't use EINTR if it is absent.
90226
90227 2002-12-01  Jim Meyering  <jim@meyering.net>
90228
90229         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
90230         zero.
90231         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
90232
90233 2002-11-27  Paul Eggert  <eggert@twinsun.com>
90234
90235         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
90236         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
90237         with `if (! (value < limit)) abort ();', for readability.
90238
90239 2002-11-26  Karl Berry  <karl@gnu.org>
90240
90241         * lib/strdup.c: copy from libc again, with jim's ok.
90242         * lib/.cppi-disable: re-add strdup.c
90243
90244 2002-11-25  Karl Berry  <karl@gnu.org>
90245
90246         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
90247         instead of "strtol.c".
90248
90249 2002-11-25  Karl Berry  <karl@gnu.org>
90250
90251         * config/install-sh: update from automake for variable quoting, $0 in
90252         error msgs, etc.
90253
90254         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
90255         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
90256         entry.
90257
90258 2002-11-25  Jim Meyering  <jim@meyering.net>
90259
90260         * lib/mktime.c: Sync from libc, now that it has the latest fix.
90261
90262 2002-11-24  Karl Berry  <karl@gnu.org>
90263
90264         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
90265         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
90266
90267 2002-11-24  Jim Meyering  <jim@meyering.net>
90268
90269         Update from coreutils:
90270
90271         * lib/mktime.c: Merge in changes from libc.
90272
90273         Avoid a link-time failure on some Linux systems.
90274         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
90275         (otherwise).
90276         (__mon_yday): Declare with the STATIC attribute.
90277         (__mktime_internal): Likewise.
90278         Based on a report from Greg Schafer.
90279
90280 2002-11-23  Jim Meyering  <jim@meyering.net>
90281
90282         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
90283         Use `unsigned', not `int', as type of index.
90284
90285         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
90286
90287         * lib/fsusage.c: Remove unneeded parentheses around operands of
90288         `defined'.
90289
90290 2002-11-22  Paul Eggert  <eggert@twinsun.com>
90291
90292         * lib/quotearg.h: Allow multiple inclusion by surrounding with
90293         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
90294         so that we can be included first.
90295         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
90296         * lib/quotearg.c: Include quotearg.h immediately after config.h.
90297         No need to include stddef.h or sys/types.h any more.
90298         Surround local include files with "", not "<>".
90299         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
90300         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
90301         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
90302         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
90303         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
90304         (ISPRINT): Remove; no longer needed now that we assume C89.
90305
90306         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
90307         Preserve errno.
90308
90309         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
90310         quotearg_char): Use SIZE_MAX rather than
90311         (size_t) -1 when we are talking about "infinity".
90312
90313         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
90314
90315 2002-11-22  Paul Eggert  <eggert@twinsun.com>
90316
90317         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
90318         hint that one should use `if (! x) abort ();' rather than `assert
90319         (x);', and anyway it's one less thing to worry about configuring.
90320         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
90321         hash_rehash, hash_insert): Use abort rather than assert.
90322
90323 2002-11-22  Bruno Haible  <bruno@clisp.org>
90324
90325         * lib/safe-read.h: Assume C89. Add comments.
90326         (safe_read): Change return type to size_t.
90327         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
90328         byte counts > SSIZE_MAX correctly.
90329         * lib/safe-write.h: New file.
90330         * lib/safe-write.c: New file.
90331         * lib/full-read.h: New file.
90332         * lib/full-read.c: New file.
90333         * lib/full-write.h: Assume C89. Add comments.
90334         * lib/full-write.c: Include safe-write.h.
90335         (full_write): Rewritten to use safe_write.
90336         Suggested by Jim Meyering and Paul Eggert.
90337
90338 2002-11-21  Jim Meyering  <jim@meyering.net>
90339
90340         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
90341
90342         Merge in changes from the coreutils.
90343
90344         2002-09-25  Paul Eggert  <eggert@twinsun.com>
90345         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
90346         <stdint.h>.
90347         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
90348         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
90349         int.  Work more efficiently if X is the same width as uintmax_t.
90350         Do not compare X to -1, to avoid bogus compiler warning.
90351         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
90352         Don't assume that f_frsize and f_bsize are the same type.
90353
90354         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
90355         warning on FreeBSD.
90356
90357         * lib/makepath.c (make_path): Restore umask *before* creating the final
90358         component.
90359         (make_path): Minor reformatting.
90360
90361         * lib/xmalloc.c: Adjust to work with new autoconf macros,
90362         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
90363         HAVE_MALLOC/HAVE_REALLOC.
90364
90365         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
90366         dummy ones.  At least on GNU/Linux systems, `auto' means something
90367         else.
90368         From Michael Stone.
90369
90370 2002-11-21  Bruno Haible  <bruno@clisp.org>
90371
90372         Remove case insensitive option matching.
90373         * lib/argmatch.h (argcasematch): Remove declaration.
90374         (ARGCASEMATCH): Remove macro.
90375         (__xargmatch_internal): Remove case_sensitive argument.
90376         (XARGMATCH): Update.
90377         (XARGCASEMATCH): Remove macro.
90378         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
90379         case_sensitive argument.
90380         (argcasematch): Remove function.
90381         (__xargmatch_internal): Remove case_sensitive argument.
90382         (main): Use XARGMATCH instead of XARGCASEMATCH.
90383
90384         * lib/xmalloc.c: Change compile-time error message. Add comment about
90385         required autoconf version.
90386
90387 2002-11-20  Paul Eggert  <eggert@twinsun.com>
90388
90389         Merge argmatch cleanups from Bison.  Assume C89.
90390
90391         * lib/argmatch.c: Include config.h here, not in argmatch.h.
90392         Include stdlib.h, for EXIT_FAILURE.
90393         Always include <string.h>, since we assume C89.
90394         (EXIT_FAILURE): Remove pre-C89 bug workaround.
90395         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
90396         Include <stddef.h> instead, since it's all we need for size_t.
90397         (PARAMS): Remove.  All uses removed.
90398         (ARRAY_CARDINALITY): Do not bother to #undef.
90399         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
90400         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
90401         Remove unnecessary parentheses.
90402         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
90403         Insert necessary parentheses.
90404         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
90405         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
90406
90407 2002-11-19  Bruno Haible  <bruno@clisp.org>
90408
90409         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
90410         * lib/mbswidth.h: Include <stddef.h>, for size_t.
90411
90412         * lib/mbswidth.h (PARAMS): Remove macro.
90413         (mbswidth, mbsnwidth): Use ANSI C function declarations.
90414         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
90415
90416         * lib/gcd.h (PARAMS): Remove macro.
90417         (gcd): Use ANSI C function declarations.
90418         * lib/gcd.c (gcd): Likewise.
90419
90420 2002-11-15  Bruno Haible  <bruno@clisp.org>
90421
90422         * lib/strcspn.c: Include <stddef.h>.
90423         (strcspn): Use ANSI C function declaration. Change return type to
90424         size_t. Use NULL.
90425         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
90426         (strpbrk): Use NULL.
90427         * lib/strpbrk.h (PARAMS): Remove macro.
90428         (strpbrk): Use ANSI C function declaration.
90429         * lib/strstr.c: Don't include <sys/types.h>.
90430         * lib/strstr.h (PARAMS): Remove macro.
90431         (strstr): Use ANSI C function declarations.
90432
90433 2002-11-14  Karl Berry  <karl@gnu.org>
90434
90435         * config/mkinstalldirs: `do' on separate line, instead of
90436         `for var; do'.
90437
90438 2002-11-06  Bruno Haible  <bruno@clisp.org>
90439
90440         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
90441         * lib/gcd.c (gcd): Likewise.
90442
90443 2002-11-05  Bruno Haible  <bruno@clisp.org>
90444
90445         * lib/gcd.h: New file, from gettext-0.11.5.
90446         * lib/gcd.c: New file, from gettext-0.11.5.
90447
90448 2002-11-05  Bruno Haible  <bruno@clisp.org>
90449
90450         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
90451         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
90452         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
90453         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
90454
90455         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
90456         <libintl.h>.
90457         * lib/makepath.c: Include gettext.h instead of <locale.h> and
90458         <libintl.h>.
90459
90460         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
90461         * lib/human.c: Include gettext.h instead of <libintl.h>.
90462         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
90463         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
90464         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
90465         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
90466         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
90467         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
90468         (textdomain): Remove definition.
90469         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
90470
90471         * lib/long-options.c: Remove include of <libintl.h> and definition of
90472         _.
90473         * lib/same.c: Remove include of <libintl.h> and definition of _.
90474
90475 2002-11-04  Owen Taylor  <otaylor@redhat.com>
90476
90477         * lib/config.charset: A few additions for Solaris.
90478
90479 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
90480
90481         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
90482         * lib/localcharset.c (locale_charset): Declare as extern "C".
90483
90484 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
90485
90486         * lib/config.charset: msdos in uk_UA uses CP1125.
90487
90488 2002-11-04  Bruno Haible  <bruno@clisp.org>
90489
90490         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
90491         * lib/strcase.h: New file, from GNU gettext-0.11.5.
90492         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
90493         * lib/strstr.h: New file, from GNU gettext-0.11.5.
90494         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
90495
90496 2002-11-04  Bruno Haible  <bruno@clisp.org>
90497
90498         * lib/localcharset.c (locale_charset): Don't return an empty string.
90499
90500 2002-11-04  Bruno Haible  <bruno@clisp.org>
90501
90502         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
90503         aliases.
90504
90505 2002-11-04  Bruno Haible  <bruno@clisp.org>
90506
90507         * lib/config.charset: Update for newest glibc. Add canonical names
90508         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
90509
90510 2002-11-04  Bruno Haible  <bruno@clisp.org>
90511
90512         * lib/config.charset: Add support for NetBSD.
90513
90514 2002-11-04  Bruno Haible  <bruno@clisp.org>
90515
90516         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
90517
90518 2002-11-01  Bruno Haible  <bruno@clisp.org>
90519
90520         * configure.in: Add AC_CONFIG_AUX_DIR call.
90521         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
90522         test/Makefile.
90523         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
90524
90525 2002-09-28  Karl Berry  <karl@gnu.org>
90526
90527         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
90528         installed automake until the next release, since changes have been
90529         made.
90530
90531 2002-09-25  Karl Berry  <karl@gnu.org>
90532
90533         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
90534         * lib/getopt*: copy from libc/posix.
90535         * lib/gettext.h: copy from gettext.
90536         * lib/.cppi-disable: add strdup.c, gettext.h.
90537
90538 2002-09-25  Karl Berry  <karl@gnu.org>
90539
90540         * config/srclist.txt: enable gettext.h check.
90541         * config/config.{guess,sub}: update from prep.
90542         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
90543                 from automake 1.6.3.
90544         See srclist*.
90545
90546 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
90547
90548         * regex.c (PATFETCH): Remove the translating fetch.
90549         (PATFETCH_RAW): Rename to PATFETCH.
90550         (set_image_of_range): New fun.
90551         (SET_RANGE_TABLE_WORK_AREA): Use it.
90552         (regex_compile): Don't translate the pattern chars so eagerly.
90553         Only do it when inserting an `exactn' bytecode or when handling
90554         a char-range.
90555         (mutually_exclusive_p): Avoid empty statement.
90556
90557 2002-07-06  Jim Meyering  <meyering@lucent.com>
90558
90559         * m4/README: Don't mention Makefile.am.in.
90560         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
90561
90562 2002-07-01  Jim Meyering  <meyering@lucent.com>
90563
90564         * lib/c-stack.c: Include sys/time.h.
90565         From Volker Borchert.
90566
90567 2002-06-26  Paul Eggert  <eggert@twinsun.com>
90568
90569         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
90570
90571 2002-06-26  Paul Eggert  <eggert@twinsun.com>
90572
90573         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
90574         New macro.  Use it uniformly instead of
90575         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
90576         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
90577         reported by Vin Shelton.
90578
90579 2002-06-22  Paul Eggert  <eggert@twinsun.com>
90580
90581         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
90582         Do not assume SA_SIGINFO behavior.
90583         Bug reported by Jim Meyering on NetBSD 1.5.2.
90584
90585 2002-06-22  Jim Meyering  <meyering@lucent.com>
90586
90587         * m4/c-stack.m4: New file, from diffutils-2.8.2.
90588         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
90589
90590         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
90591         now that configure.ac uses AC_GNU_SOURCE.
90592         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
90593         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
90594
90595         Update to latest tools.  Suggestions from Paul Eggert.
90596         * m4/stdbool.m4: New file, from diffutils-2.8.2.
90597         * m4/gnu-source.m4: Update from diffutils-2.8.2.
90598         * m4/fnmatch.m4: Likewise.
90599         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
90600         to AC_HEADER_STDBOOL
90601
90602 2002-06-22  Jim Meyering  <meyering@lucent.com>
90603
90604         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
90605         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
90606
90607 2002-06-22  Jim Meyering  <meyering@lucent.com>
90608
90609         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
90610
90611         * lib/exitfail.c, exitfail.h: Likewise.
90612         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
90613
90614         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
90615         of fnmatch.h.
90616         (EXTRA_DIST): Add fnmatch_loop.c.
90617         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
90618
90619         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
90620         * lib/fnmatch.c: Update from diffutils-2.8.2.
90621         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
90622         * lib/fnmatch.h: Remove file.
90623
90624 2002-06-21  Jim Meyering  <meyering@lucent.com>
90625
90626         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
90627         * m4/mbrtowc.m4: Likewise.
90628
90629         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
90630         * m4/mbswidth.m4: Reflect name change:
90631         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
90632         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
90633
90634         * m4/lib-link.m4: Update from gettext-0.11.2.
90635         * m4/gettext.m4: Likewise.
90636
90637         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
90638         From Alfred M. Szmidt.
90639
90640 2002-06-18  Paul Eggert  <eggert@twinsun.com>
90641
90642         * lib/file-type.h: Report an error if neither S_ISREG nor
90643         S_IFREG is defined, instead of using a test specific to glibc
90644         2.2.  This should be safe, since POSIX requires S_ISREG and
90645         Unix Version 7 had S_IFREG.  We don't need to check for
90646         <sys/types.h> since we don't use any symbols that it defines.
90647
90648 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
90649
90650         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
90651         $@-t, so that each temporary file name is unique and valid in the first
90652         8 characters, for operation under DOS.
90653
90654 2002-06-15  Paul Eggert  <eggert@twinsun.com>
90655
90656         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
90657
90658 2002-06-15  Jim Meyering  <meyering@lucent.com>
90659
90660         Work even with DJGPP 2.03, which lacks support for symlinks.
90661         From Richard Dawe.
90662         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
90663         is defined.
90664         * lib/lchown.c (S_ISLNK): Likewise.
90665
90666 2002-06-15  Jim Meyering  <meyering@lucent.com>
90667
90668         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
90669         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
90670         have been included before this file.
90671
90672 2002-06-14  Jim Meyering  <meyering@lucent.com>
90673
90674         * lib/file-type.h: Use the version from diffutils-2.8.2.
90675         * lib/file-type.c: Likewise.
90676
90677 2002-06-07  Jim Meyering  <meyering@lucent.com>
90678
90679         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
90680         They're needed at least for NetBSD 1.5.2.
90681         ($statxfs_includes): Include those same headers.
90682         ($statxfs_includes): Include sys/vfs.h if available.
90683         ($statxfs_includes): Likewise for sys/statvfs.h.
90684         Check for the following members in both structs statfs and statvfs:
90685         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
90686
90687 2002-06-01  Jim Meyering  <meyering@lucent.com>
90688
90689         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
90690         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
90691
90692 2002-05-28  Jim Meyering  <meyering@lucent.com>
90693
90694         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
90695         Reported by Volker Borchert.
90696
90697 2002-05-27  Jim Meyering  <meyering@lucent.com>
90698
90699         Fix a problem seen only on nonconforming systems whereby ls.c's
90700         use of localtime, and then of gettimeofday would cause trouble:
90701         the localtime call used to initialize rpl_gettimeofday's save
90702         mechanism would clobber ls's current local time information so
90703         that in any long listing the first file would always be listed
90704         with date 1970-01-01.  Analysis by Volker Borchert.
90705
90706         * lib/gettimeofday.c (localtime): Undefine.
90707         (rpl_localtime): New function.
90708
90709 2002-05-27  Jim Meyering  <meyering@lucent.com>
90710
90711         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
90712         localtime.
90713
90714         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
90715         use the replacement function; it wouldn't resolve at link time.
90716         Reported by Volker Borchert.
90717
90718 2002-05-22  Jim Meyering  <meyering@lucent.com>
90719
90720         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
90721         file-type.h.
90722         * lib/file-type.h: New file.
90723         * lib/file-type.c (file_type): New file/function.  Extracted from
90724         diffutils.
90725
90726 2002-04-30  Jim Meyering  <meyering@lucent.com>
90727
90728         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
90729
90730 2002-04-29  Paul Eggert  <eggert@twinsun.com>
90731
90732         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
90733
90734 2002-04-29  Paul Eggert  <eggert@twinsun.com>
90735
90736         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
90737         Do not check for alloca.h (no longer used) or stdbool.h (was never
90738         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
90739
90740 2002-04-29  Paul Eggert  <eggert@twinsun.com>
90741
90742         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
90743
90744 2002-04-29  Jim Meyering  <meyering@lucent.com>
90745
90746         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
90747         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
90748         Use AC_FUNC_STRNLEN here instead.
90749
90750         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
90751         With autoconf-2.53a, it's part of AC_PROG_CC.
90752
90753 2002-04-28  Paul Eggert  <eggert@twinsun.com>
90754
90755         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
90756         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
90757
90758 2002-04-28  Paul Eggert  <eggert@twinsun.com>
90759
90760         * lib/sig2str.h, lib/sig2str.c: New files.
90761         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
90762
90763 2002-04-28  Paul Eggert  <eggert@twinsun.com>
90764
90765         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
90766         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
90767         of 127, since 64 is the largest conceivable number for ancient
90768         nonstandard hosts.
90769         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
90770
90771 2002-04-28  Jim Meyering  <meyering@lucent.com>
90772
90773         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
90774
90775 2002-04-24  Jim Meyering  <meyering@lucent.com>
90776
90777         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
90778         (jm_PREREQ): Use it.
90779
90780         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
90781         mach/mach.h fcntl.h.
90782         Check for this function: setlocale.
90783
90784 2002-04-24  Jim Meyering  <meyering@lucent.com>
90785
90786         * lib/gettext.h: New file, from Gettext.
90787         * lib/Makefile.am (INCLUDES): Remove -I../intl.
90788         (libfetish_a_SOURCES): Add gettext.h.
90789
90790 2002-04-16  Jim Meyering  <meyering@lucent.com>
90791
90792         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
90793         ut_pid, ut_id, ut_exit.
90794
90795 2002-04-16  Jim Meyering  <meyering@lucent.com>
90796
90797         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
90798         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
90799         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
90800
90801 2002-04-12  Jim Meyering  <meyering@lucent.com>
90802
90803         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
90804         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
90805         existence of the getmntinfo function.  Needed for Darwin 5.3.
90806
90807         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
90808         This is necessary at least on Darwin 5.3.
90809
90810         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
90811         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
90812         strnlen.o in the library, and that makes some versions of ranlib
90813         object.
90814
90815 2002-04-12  Jim Meyering  <meyering@lucent.com>
90816
90817         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
90818
90819 2002-04-09  Jim Meyering  <meyering@lucent.com>
90820
90821         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
90822         to be more precise.  Rather than saying we're checking whether the
90823         function `works', say what we're testing.
90824         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
90825         Reported by Bruno Haible.
90826
90827 2002-03-10  Jim Meyering  <meyering@lucent.com>
90828
90829         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
90830         Suggestion from Santiago Vila.
90831
90832 2002-03-08  Jim Meyering  <meyering@lucent.com>
90833
90834         * lib/rename.c: Mention that this wrapper is needed also on
90835         mips-dec-ultrix4.4 systems.
90836
90837 2002-03-02  Jim Meyering  <meyering@lucent.com>
90838
90839         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
90840         not HAVE_CLOCK_SETTIME.
90841
90842 2002-02-27  Paul Eggert  <eggert@twinsun.com>
90843
90844         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
90845         Check for clock_settime.
90846
90847 2002-02-27  Paul Eggert  <eggert@twinsun.com>
90848
90849         * lib/nanosleep.h: Rename to....
90850         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
90851
90852         * lib/gettime.c: New file.
90853         * lib/settime.c: New file.
90854         * lib/stime.c: Remove.
90855
90856         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
90857         timespec.h.  Remove nanosleep.h.
90858
90859 2002-02-25  Paul Eggert  <eggert@twinsun.com>
90860
90861         * m4/acl.m4: New file.
90862         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
90863         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
90864
90865 2002-02-25  Paul Eggert  <eggert@twinsun.com>
90866
90867         * lib/acl.c, lib/acl.h: New files.
90868         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
90869
90870 2002-02-24  Jim Meyering  <meyering@lucent.com>
90871
90872         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
90873         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
90874         cause trouble.  Reported by Nelson Beebe.
90875
90876 2002-02-23  Paul Eggert  <eggert@twinsun.com>
90877
90878         * lib/path-concat.c (xpath_concat): Reorder code to pacify
90879         compilers that don't know that xalloc_die never returns.
90880
90881 2002-02-20  Jim Meyering  <meyering@lucent.com>
90882
90883         * lib/getdate.c: Regenerate using bison-1.33.
90884
90885 2002-02-17  Jim Meyering  <meyering@lucent.com>
90886
90887         * config/config.guess (main): Don't use `head -1'; it's no longer
90888         portable. Use `sed 1q' instead.
90889
90890 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
90891
90892         * m4/codeset.m4: Upgrade to gettext-0.11.
90893         * m4/gettext.m4: Upgrade to gettext-0.11.
90894         * m4/glibc21.m4: Upgrade to gettext-0.11.
90895         * m4/iconv.m4: Upgrade to gettext-0.11.
90896         * m4/isc-posix.m4: Upgrade to gettext-0.11.
90897         * m4/lcmessage.m4: Upgrade to gettext-0.11.
90898         * m4/lib-ld.m4: New file, from gettext-0.11.
90899         * m4/lib-link.m4: New file, from gettext-0.11.
90900         * m4/lib-prefix.m4: New file, from gettext-0.11.
90901         * m4/progtest.m4: Upgrade to gettext-0.11.
90902
90903 2002-02-15  Paul Eggert  <eggert@twinsun.com>
90904
90905         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
90906         (jm_PREREQ): Use it.
90907
90908 2002-02-15  Paul Eggert  <eggert@twinsun.com>
90909
90910         * lib/posixver.c, lib/posixver.h: New files.
90911         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
90912
90913 2002-02-02  Paul Eggert  <eggert@twinsun.com>
90914             Bruno Haible  <bruno@clisp.org>
90915
90916         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
90917         (fwrite_success_callback): New declaration.
90918         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
90919         print_unicode_char. Call failure callback instead of error.
90920         (fwrite_success_callback): New function.
90921         (exit_failure_callback): New function.
90922         (fallback_failure_callback): New function.
90923         (print_unicode_char): Call unicode_to_mb.
90924
90925 2002-01-26  Jim Meyering  <meyering@lucent.com>
90926
90927         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
90928         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
90929
90930 2002-01-26  Jim Meyering  <meyering@lucent.com>
90931
90932         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
90933
90934 2002-01-22  Paul Eggert  <eggert@twinsun.com>
90935
90936         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
90937
90938 2002-01-22  Jim Meyering  <meyering@lucent.com>
90939
90940         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
90941         Otherwise, some versions of automake would omit the rule that makes
90942         Makefile from Makefile.in.
90943
90944 2002-01-21  Paul Eggert  <eggert@twinsun.com>
90945
90946         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
90947         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
90948         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
90949         (memcoll): Set errno to zero if there is no error.
90950
90951         * lib/quotearg.c (quotearg_buffer_restyled):
90952         Fix bug with quoting buffers containing NUL when backslashing escapes.
90953         This bug was exposed by the other changes in this patch.
90954         (quotearg_n_options): New arg ARGSIZE.
90955         All callers changed.
90956         (quoting_options_from_style): New function.
90957         (quotearg_n_style): Use it.
90958         (quotearg_n_style_mem): New function.
90959
90960         * lib/quotearg.h (quotearg_n_style_mem): New function.
90961
90962 2002-01-19  Jim Meyering  <meyering@lucent.com>
90963
90964         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
90965         Remove useless quotes: DF_PROG="df".
90966         * m4/strnlen.m4: New file.
90967
90968 2002-01-16  Paul Eggert  <eggert@twinsun.com>
90969
90970         * lib/backupfile.c (ISDIGIT): Comment fix.
90971         * lib/getdate.y (ISDIGIT): Likewise.
90972         * lib/posixtm.c (ISDIGIT, year): Likewise.
90973         * lib/strverscmp.c (ISDIGIT): Likewise.
90974         * lib/userspec.c (ISDIGIT): Likewise.
90975
90976 2002-01-16  Jim Meyering  <meyering@lucent.com>
90977
90978         * lib/getdate.y: Add three semicolons, each just before a closing
90979         brace. Bison (as of version 1.31) no longer papers over that mistake.
90980
90981 2002-01-05  Jim Meyering  <meyering@lucent.com>
90982
90983         * lib/version-etc.c (version_etc_copyright): Update copyright year.
90984
90985 2001-12-19  Paul Eggert  <eggert@twinsun.com>
90986
90987         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
90988         not silently exit merely because the output buffer happens to
90989         have nothing pending.
90990
90991 2001-12-18  Paul Eggert  <eggert@twinsun.com>
90992
90993         See the big note in ../ChangeLog.
90994         * lib/human.c (suffixes): Prefer K to k for 1024.
90995         (generate_suffix_backwards): New function.
90996         (human_readable_inexact): Use it.
90997         * lib/xstrtol.c (__xstrtol): If there is no number but there
90998         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
90999         Accept 'K' as well as 'k'.
91000
91001 2001-12-15  Jim Meyering  <meyering@lucent.com>
91002
91003         * lib/regex.h (__restrict_arr): Update from libc.
91004
91005         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
91006         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
91007         (STREQ): Define.
91008
91009 2001-12-14  Jim Meyering  <meyering@lucent.com>
91010
91011         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
91012         Suggestion from Bruno Haible.
91013
91014 2001-12-10  Jim Meyering  <meyering@lucent.com>
91015
91016         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
91017         xrealloc, Instead, include "xalloc.h".
91018         (initbuffer): Don't cast xmalloc return value to char*.
91019         (readline): Reword comment.
91020         Don't cast xrealloc return value to char*
91021         Return NULL, not 0.
91022
91023 2001-12-09  Jim Meyering  <meyering@lucent.com>
91024
91025         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
91026         about `signed and unsigned type in conditional expression'.
91027         * lib/posixtm.c (posix_time_parse): Likewise.
91028
91029         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
91030
91031         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
91032         to avoid a pedantic warning.
91033
91034         * lib/getstr.c: Don't include assert.h.
91035         (getstr): Remove warning-evoking assertions.
91036         Return -1 if offset parameter is out of bounds.
91037         Change the type of a local from int to size_t.
91038
91039         * lib/strftime.c (my_strftime_localtime_r): Include this function
91040         definition in the `#if ! HAVE_TM_GMTOFF' block.
91041
91042         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
91043         Include xalloc.h instead.
91044
91045 2001-12-02  Jim Meyering  <meyering@lucent.com>
91046
91047         * lib/tempname.c: Don't declare getenv, thus reverting the change of
91048         2001-11-18.  It's no longer necessary, now that stdlib.h is always
91049         included.
91050
91051         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
91052         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
91053
91054 2001-11-30  Akim Demaille  <akim@epita.fr>
91055
91056         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
91057         before being defined.
91058
91059 2001-11-27  Paul Eggert  <eggert@twinsun.com>
91060
91061         * lib/quotearg.h (quotearg_n, quotearg_n_style):
91062         First arg is int, not unsigned.
91063         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
91064         (SIZE_MAX, UINT_MAX): New macros.
91065         (quotearg_n_options): Abort if N is negative.
91066         Avoid overflow check on hosts where size_t is 64 bits and int
91067         is 32 bits, as overflow is impossible there.
91068         Fix off-by-one typo that caused unnecessary reallocation.
91069
91070 2001-11-27  Jim Meyering  <meyering@lucent.com>
91071
91072         * lib/tempname.c: Merge with version from libc.
91073         * lib/regex.c: Likewise.
91074
91075         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
91076         systems for which STDC_HEADERS is 0, it was not included, resulting in
91077         a warning about an integer-to-pointer conversion problem with getenv.
91078         Reported by Volker Borchert.
91079
91080 2001-11-26  Jim Meyering  <meyering@lucent.com>
91081
91082         * lib/gtod.h: Remove file.
91083         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
91084         * lib/gettimeofday.c: Don't include gtod.h.
91085         (GTOD_init): Remove function.
91086         (rpl_gettimeofday): Do its job here instead, rather than aborting.
91087         Suggestion from Volker Borchert.
91088
91089 2001-11-23  Jim Meyering  <meyering@lucent.com>
91090
91091         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
91092         it.
91093         * lib/hash.c (struct hash_table): Define it here instead.
91094
91095 2001-11-22  Jim Meyering  <meyering@lucent.com>
91096
91097         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
91098
91099 2001-11-20  Jim Meyering  <meyering@lucent.com>
91100
91101         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
91102         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
91103
91104 2001-11-19  Jim Meyering  <meyering@lucent.com>
91105
91106         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
91107         directory.  Use "conftestXXXXXX" as the template.
91108         Suggestion from Paul Eggert.
91109
91110         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
91111         immediately, so the test doesn't mistakenly hit the max-open-files
91112         limit.
91113
91114 2001-11-18  Paul Eggert  <eggert@twinsun.com>
91115
91116         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
91117         (TEMPORARIES): New macro.
91118         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
91119         removes an artificial limitation (e.g. HP-UX 10.20, where
91120         TMP_MAX is 17576).
91121
91122 2001-11-18  Jim Meyering  <meyering@lucent.com>
91123
91124         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
91125
91126 2001-11-18  Jim Meyering  <meyering@lucent.com>
91127
91128         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
91129         on SunOS 4.
91130
91131         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
91132         files will be created before anything else.
91133
91134 2001-11-17  Paul Eggert  <eggert@twinsun.com>
91135
91136         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
91137         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
91138
91139 2001-11-17  Jim Meyering  <meyering@lucent.com>
91140
91141         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
91142         Prompted by a report from Bob Proulx.
91143
91144         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
91145         Instead, require UTILS_FUNC_MKSTEMP.
91146
91147 2001-11-17  Jim Meyering  <meyering@lucent.com>
91148
91149         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
91150         Now, that's done as part of AC_FUNC_STRTOD.
91151
91152 2001-11-17  Jim Meyering  <meyering@lucent.com>
91153
91154         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
91155         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
91156         rather than group writable.  Patch by Juan F. Codagnone.
91157
91158         * lib/readtokens.c: Remove explicit declarations of xmalloc and
91159         xrealloc, Instead, include "xalloc.h".
91160
91161         * lib/mountlist.c: Include unlocked-io.h after all system headers.
91162         Remove explicit declarations of xmalloc, xrealloc,
91163         and xstrdup.  Instead, include "xalloc.h".
91164
91165         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
91166         unlocked-io.h.
91167         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
91168         Likewise.
91169         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
91170
91171         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
91172         Reported by Padraig Brady.
91173
91174         * lib/mkstemp.c: #undef mkstemp.
91175         Include config.h.
91176         (rpl_mkstemp): Rename from mkstemp.
91177         Protoize.
91178
91179 2001-11-16  Jim Meyering  <meyering@lucent.com>
91180
91181         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
91182         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
91183         determine the amount of total physical memory, use pstat_getstatic.
91184         HPUX-11 doesn't define _SC_PHYS_PAGES.
91185         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
91186         If sysconf couldn't be used to determine the amount of available
91187         physical memory, use both pstat_getstatic and pstat_getdynamic.
91188         Based on a patch from Bob Proulx.
91189
91190 2001-11-10  Jim Meyering  <meyering@lucent.com>
91191
91192         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
91193         (jm_PREREQ): Use it.
91194
91195 2001-11-09  Jim Meyering  <meyering@lucent.com>
91196
91197         * m4/jm-macros.m4: Require autoconf-2.52f.
91198         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
91199         Use these AC_-prefixed names, not the AM_-prefixed ones.
91200
91201         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
91202
91203 2001-11-05  Jim Meyering  <meyering@lucent.com>
91204
91205         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
91206
91207 2001-11-04  Jim Meyering  <meyering@lucent.com>
91208
91209         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
91210         $DEFS.
91211
91212 2001-11-03  Jim Meyering  <meyering@lucent.com>
91213
91214         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
91215         of AC_DEFUN.
91216
91217         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
91218         know the name of the variable in the macro definition.
91219
91220 2001-11-03  Jim Meyering  <meyering@lucent.com>
91221
91222         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
91223         in argmatch_to_argument call.
91224
91225         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
91226         argument.
91227
91228         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
91229         e.g., a fault due to an attempt to free a NULL pointer.
91230
91231 2001-11-01  Jim Meyering  <meyering@lucent.com>
91232
91233         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
91234         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
91235
91236 2001-11-01  Jim Meyering  <meyering@lucent.com>
91237
91238         * lib/dirfd.c, lib/dirfd.h: New files.
91239         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
91240
91241         * lib/hash.c (hash_print) [TESTING]: Clean up.
91242
91243 2001-10-22  Paul Eggert  <eggert@twinsun.com>
91244
91245         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
91246         to avoid a warning if -Wall.
91247
91248 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
91249
91250         * README: New file
91251         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
91252         (per RMS's instructions, this is now the canonical source)
91253         * lgpl/, gpl/: New directories.
91254
91255 2001-10-21  Paul Eggert  <eggert@twinsun.com>
91256
91257         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
91258
91259 2001-10-21  Jim Meyering  <meyering@lucent.com>
91260
91261         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
91262         this code would end up calling gettext even in packages built
91263         with --disable-nls.
91264         * lib/getopt.c (_): Likewise.
91265         * lib/regex.c (_): Likewise.
91266
91267 2001-10-20  Paul Eggert  <eggert@twinsun.com>
91268
91269         * m4/error.m4 (jm_PREREQ_ERROR):
91270         Do not invoke AC_CHECK_FUNCS with strerror_r, as
91271         AC_FUNC_STRERROR_R does that.
91272         Check for strerror declaration.
91273
91274         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
91275         are supposed to have them these days.
91276         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
91277         Merge changes from latest Autoconf CVS.
91278         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
91279         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
91280         POSIX decided to standardize on the int flavor of strerror_r.
91281
91282 2001-10-20  Paul Eggert  <eggert@twinsun.com>
91283
91284         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
91285         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
91286         Use strerror_r that is only a macro, even if it is not a function.
91287         (strerror): Check for HAVE_DECL_STRERROR before declaring.
91288         (private_strerror): Use prototypes, not old-style function definition.
91289         (print_errno_message): New function.
91290         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
91291         char*-flavored one.
91292         (error_tail, error, error_at_line): Use it.
91293
91294 2001-10-11  Jim Meyering  <meyering@lucent.com>
91295
91296         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
91297         and quote_n (1, ... to avoid clobbering a buffer.
91298
91299 2001-10-05  Jim Meyering  <meyering@lucent.com>
91300
91301         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
91302         hash-pjw.h.
91303         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
91304         * lib/hash-pjw.h: New file.
91305
91306 2001-09-30  Jim Meyering  <meyering@lucent.com>
91307
91308         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
91309         `struct fsstat' has the `f_fstypename' member.
91310         Use that to define FS_TYPE, which is now used to make
91311         the getfsstat link test tighter.
91312
91313 2001-09-30  Jim Meyering  <meyering@lucent.com>
91314
91315         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
91316         Include <sys/ucred.h>, for Apple Darwin.
91317         Include sys/mount.h and sys/fs_types.h only if available.
91318         (FS_TYPE): Define.
91319         (read_filesystem_list): Use FS_TYPE.
91320
91321 2001-09-29  Paul Eggert  <eggert@twinsun.com>
91322
91323         * lib/exclude.c (excluded_filename): 0 -> false, since it's
91324         a boolean context.
91325
91326 2001-09-29  Jim Meyering  <meyering@lucent.com>
91327
91328         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
91329         [one-argument getmntent function]): Include stdio.h before mntent.h.
91330         SunOS 4.1.x needs it for the declaration of `FILE'.
91331         Patch by Volker Borchert.
91332
91333         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
91334         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
91335         sys/fs_types.h, and make the link-test for getfsstat guard #include
91336         directives with appropriate #if HAVE_*_H tests so that we can
91337         detect getfsstat on Apple Darwin1.3.7 systems.
91338         Reported by Nelson Beebe.
91339         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
91340
91341 2001-09-28  Paul Eggert  <eggert@twinsun.com>
91342
91343         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
91344         #defines strtoimax.  Also treat the other strto* functions
91345         like strtoimax.
91346
91347         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
91348         Check for strtoul and strtoumax,
91349         as those declarations are made even in the signed case.
91350         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
91351         Likewise, for strtol and strtoimax.
91352
91353 2001-09-28  Paul Eggert  <eggert@twinsun.com>
91354
91355         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
91356         #defines strtoimax.  Also treat the other strto* functions
91357         like strtoimax.
91358
91359         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
91360         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
91361         (strtoimax, strtoumax): Do not declare if already defined as a macro.
91362
91363 2001-09-26  Jim Meyering  <meyering@lucent.com>
91364
91365         Most macros in unlocked-io.h had the wrong number of arguments.
91366         * lib/gen-uio: New script.
91367         (USE_UNLOCKED_IO): Define to 1 if not already defined.
91368         * lib/unlocked-io.hin: Remove file.
91369         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
91370         rather than trying to embed it here.
91371         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
91372         Reported by Padraig Brady.
91373
91374 2001-09-25  Volker Borchert  <bt@teknon.de>
91375
91376         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
91377         `result'.
91378
91379 2001-09-24  Jim Meyering  <meyering@lucent.com>
91380
91381         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
91382
91383 2001-09-23  Jim Meyering  <meyering@lucent.com>
91384
91385         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
91386         instead of the mere test for existence of mntent.h.  The latter
91387         would get a false-positive on AIX 3.4 systems.
91388         In the outer getmntent if-block, don't die if neither of the getmntent
91389         tests succeeds.  Instead, just fall through and continue with the
91390         remaining tests.
91391
91392 2001-09-23  Jim Meyering  <meyering@lucent.com>
91393
91394         * lib/mountlist.c: Remove useless parentheses in #if directives.
91395         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
91396         the deprecated MOUNTED symbol is no longer defined in mntent.h.
91397
91398 2001-09-22  Jim Meyering  <meyering@lucent.com>
91399
91400         * m4/gettext.m4: New file.  From gettext.
91401         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
91402         * m4/progtest.m4: Likewise
91403         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
91404         * m4/glibc21.m4: Likewise.
91405
91406         * m4/libintl.m4: Remove.  No longer used.
91407
91408 2001-09-22  Jim Meyering  <meyering@lucent.com>
91409
91410         * lib/localcharset.c: Update from latest gettext.
91411         * lib/config.charset: Likewise.
91412
91413 2001-09-20  Jim Meyering  <meyering@lucent.com>
91414
91415         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
91416         strtoimax.
91417         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
91418         strtoumax.
91419
91420 2001-09-20  Jim Meyering  <meyering@lucent.com>
91421
91422         * lib/xstrtol.c (strtoimax): Guard declaration with
91423         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
91424         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
91425         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
91426         (strtoumax): Likewise, for completeness (it wasn't necessary).
91427
91428 2001-09-17  Paul Eggert  <eggert@twinsun.com>
91429
91430         * lib/strtoimax.c (HAVE_LONG_LONG):
91431         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
91432         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
91433         to work around bug in IBM C compiler.
91434
91435 2001-09-17  Jim Meyering  <meyering@lucent.com>
91436
91437         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
91438         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
91439         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
91440         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
91441         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
91442         whenever the right hand side need not be expanded by the shell.
91443
91444 2001-09-16  Paul Eggert  <eggert@twinsun.com>
91445
91446         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
91447         library.  It's not correct, as some older glibcs are buggy.
91448         fnmatch wasn't fixed until glibc 2.2.
91449
91450         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
91451         special shell magic here.
91452
91453 2001-09-16  Jim Meyering  <meyering@lucent.com>
91454
91455         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
91456         * m4/jm-macros.m4: Require it.
91457
91458 2001-09-16  Jim Meyering  <meyering@lucent.com>
91459
91460         * lib/mkdir.c: New file.
91461
91462 2001-09-15  Jim Meyering  <meyering@lucent.com>
91463
91464         * m4/jm-macros.m4: Check for help2man.
91465
91466 2001-09-11  Jim Meyering  <meyering@lucent.com>
91467
91468         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
91469         The body, by Paul Eggert, was moved here from configure.in.
91470         * m4/jm-macros.m4: Require UTILS_HOST_OS.
91471
91472 2001-09-04  Paul Eggert  <eggert@twinsun.com>
91473
91474         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
91475         (jm_PREREQ): Use it.
91476
91477 2001-09-04  Paul Eggert  <eggert@twinsun.com>
91478
91479         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
91480         Use ssize_t, not int, to store result of readlink.
91481         Check for ssize_t overflow as well as size_t overflow,
91482         as POSIX says the result of readlink is implementation-defined
91483         when ssize_t overflows.
91484         Remove unnecessary cast to char*.
91485         Use free+malloc instead of realloc, as the storage doesn't need
91486         to be preserved and it's clearer and can be more efficient that way.
91487         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
91488         * lib/xreadlink.h (xreadlink): Update prototype.
91489
91490 2001-09-04  Paul Eggert  <eggert@twinsun.com>
91491
91492         * lib/xgetcwd.c: Revert some of the previous change; intead,
91493         fix the HAVE_GETCWD_NULL code to behave more like the
91494         !HAVE_GETCWD_NULL code used to.
91495
91496         Include "xalloc.h".
91497         (xgetcwd): Do not return NULL when memory is exhausted; instead,
91498         invoke xalloc_die.
91499
91500 2001-09-03  Paul Eggert  <eggert@twinsun.com>
91501
91502         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
91503         sys/param.h, as pathmax.h includes them.
91504
91505 2001-09-03  Paul Eggert  <eggert@twinsun.com>
91506
91507         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
91508         (jm_PREREQ_XGETCWD): New macro.
91509
91510         * m4/getcwd.m4: New file.
91511
91512 2001-09-03  Paul Eggert  <eggert@twinsun.com>
91513
91514         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
91515         like the HAVE_GETCWD_NULL code.
91516         Include pathmax.h if not HAVE_GETCWD.
91517         Do not include xalloc.h.
91518         (INITIAL_BUFFER_SIZE): New symbol.
91519         Do not use xmalloc / xrealloc, since the caller is responsible for
91520         handling errors.  Preserve errno around `free' during failure.
91521         Do not overrun buffer when using getwd.
91522
91523 2001-09-03  Paul Eggert  <eggert@twinsun.com>
91524
91525         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
91526         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
91527         getcwd (NULL, 0).
91528
91529 2001-09-03  Paul Eggert  <eggert@twinsun.com>
91530
91531         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
91532         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
91533         spotted by Jim Meyering.
91534
91535 2001-09-03  Jim Meyering  <meyering@lucent.com>
91536
91537         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
91538         failure.
91539
91540 2001-09-02  Jim Meyering  <meyering@lucent.com>
91541
91542         * lib/error.c: Update from GNU libc.
91543
91544 2001-09-01  Jim Meyering  <meyering@lucent.com>
91545
91546         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
91547         Used by df.
91548
91549 2001-09-01  Jim Meyering  <meyering@lucent.com>
91550
91551         * lib/xreadlink.c: New file.
91552         * lib/xreadlink.h: New file.
91553         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
91554         xreadlink.h.
91555
91556         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
91557         doesn't conflict with sparc Solaris 7's definition in
91558         /usr/include/sys/int_types.h.
91559
91560         * lib/exclude.c: Use `""', not `<>' to #include non-system header
91561         files.
91562         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
91563         and strncasecmp as r-values.  Unixware didn't have declarations.
91564
91565 2001-08-31  Paul Eggert  <eggert@twinsun.com>
91566
91567         * lib/xstrtol.h: Add copyright notice.
91568         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
91569         LONGINT_INVALID_SUFFIX_CHAR.
91570
91571 2001-08-31  Paul Eggert  <eggert@twinsun.com>
91572
91573         * lib/xstrtol.c (strtoimax): New decl.
91574
91575 2001-08-31  Paul Eggert  <eggert@twinsun.com>
91576
91577         * lib/xgetcwd.c: Don't include pathmax.h.
91578         Include stdlib.h and unistd.h if available.
91579         Include xalloc.h.
91580         (xmalloc, xstrdup, free): Remove decls.
91581         (xgetcwd): Don't assume sizes fit in unsigned.
91582         Check for overflow when computing sizes.
91583         Simplify reallocation code.
91584
91585 2001-08-31  Paul Eggert  <eggert@twinsun.com>
91586
91587         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
91588         a directory's st_size can have an arbitrary value, so the old
91589         usage could waste an arbitrary amount of memory.  All uses
91590         changed.
91591         * lib/savedir.h: Update prototype.
91592
91593 2001-08-31  Paul Eggert  <eggert@twinsun.com>
91594
91595         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
91596
91597         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
91598         old strtoimax.c.
91599
91600         Also, make the following further changes to make this file's
91601         configuration more similar to that of strtol.c:
91602         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
91603         (strtoumax, uintmax_t, strtoull, strtol): Remove.
91604         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
91605         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
91606         changed to signed values.
91607
91608         And make the following changes as well:
91609         Fix copyright notice, as 1999 was missing.
91610         (verify): New macro.
91611         (strtoimax): Check sizes at compile-time, not run-time.
91612         Prefer strtol to strtoll if both work.
91613         (main): Remove; it was not that useful and was a pain to maintain.
91614
91615         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
91616
91617 2001-08-31  Jim Meyering  <meyering@lucent.com>
91618
91619         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
91620         Use an initial, malloc'd, buffer of length 128 rather than
91621         a statically allocated one of length 1024.
91622
91623 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91624
91625         Simplify code, partly by assuming autoconf 2.52 semantics.
91626
91627         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
91628
91629         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
91630         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
91631         All uses removed.
91632         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
91633         Move AC_REQUIRE to next-to-top level, to avoid confusion.
91634         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
91635         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
91636         jm_AC_HEADER_INTTYPES_H.
91637         * m4/jm-macros.m4 (jm_MACROS): Likewise.
91638
91639         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
91640
91641         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
91642         Quote first arg of AC_DEFUN.
91643         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
91644         since they are needed to parse the include file even if we need
91645         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
91646         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
91647         but with opposite signedness.
91648
91649 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91650
91651         Merge 'exclude' changes from tar 1.13.22.
91652         This fixes one or two unlikely storage allocation overflow bugs,
91653         but doesn't change user-visible behavior otherwise.
91654
91655 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91656
91657         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
91658         (jm_PREREQ_EXCLUDE): New macro.
91659
91660 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91661
91662         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
91663         tm to be declared.
91664
91665 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91666
91667         * lib/hash.c: Remove '2001' from copyright notice.
91668
91669 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91670
91671         * lib/full-write.h: New file.
91672         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
91673         * lib/full-write.c: Correct credits, as cccp.c no longer
91674         exists and anyway it was so heavily changed from the old cccp
91675         code as to be unrecognizable.  Include full-write.h.
91676         (full_write): Return size_t, with short writes meaning failure.
91677         All callers changed.  This fixes a bug with large buffers
91678         on 64-bit hosts.
91679         * lib/utime.c: Include full-write.h.
91680
91681 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91682
91683         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
91684         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
91685         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
91686         Include if available.
91687         (<xalloc.h>): Include
91688         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
91689         (verify): New macro.  Use it to verify that EXCLUDE macros do not
91690         collide with FNM macros.
91691         (struct patopts): New struct.
91692         (struct exclude): Use it, as exclude patterns now come with options.
91693         (new_exclude): Support above changes.
91694         (new_exclude, add_exclude_file):
91695         Initial size must now be a power of two to simplify overflow checking.
91696         (free_exclude, fnmatch_no_wildcards): New function.
91697         (excluded_filename): No longer requires options arg, as the options
91698         are determined by add_exclude.  Now returns bool, not int.
91699         (excluded_filename, add_exclude):
91700         Add support for the fancy new exclusion options.
91701         (add_exclude, add_exclude_file): Now takes int options arg.
91702         Check for arithmetic overflow when computing sizes.
91703         (add_exclude_file): xrealloc might modify errno, so don't
91704         realloc until after errno might be used.
91705
91706         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
91707         New macros.
91708         (free_exclude): New decl.
91709         (add_exclude, add_exclude_file): Now takes int options arg.
91710         (excluded_filename): No longer requires options arg, as the options
91711         are determined by add_exclude.  Now returns bool, not int.
91712
91713 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91714
91715         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
91716
91717 2001-08-27  Jim Meyering  <meyering@lucent.com>
91718
91719         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
91720
91721         * lib/version-etc.c (N_): Remove definition.
91722         Revert most of last change.
91723         Instead, simply don't mark the `Copyright...' string for translation.
91724         Based on advice from Paul Eggert.
91725
91726         * lib/strtoxmax.c: Tweak comment.
91727
91728 2001-08-26  Jim Meyering  <meyering@lucent.com>
91729
91730         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
91731
91732         * m4/xstrtoimax.m4: New file.
91733         * m4/xstrtoumax.m4: Add comments explaining why we
91734         AC_REPLACE_FUNCS(strtol).
91735
91736 2001-08-26  Jim Meyering  <meyering@lucent.com>
91737
91738         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
91739         of copyright with `%s' so translators don't get an untranslated
91740         message in 2002.
91741         (COPYRIGHT_YEAR): Define.
91742         (version_etc): Use fprintf rather than fputs.
91743         Suggestion from Ulrich Drepper.
91744
91745         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
91746
91747         * lib/strtoll.c: New file, from GNU libc.
91748         * lib/xstrtoimax.c: New file.
91749
91750         * lib/xstrtol.h: Add xstrtoimax.
91751         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
91752         * lib/strtoimax.c: New file.  Likewise, but first define
91753         STRTOUXMAX_SIGNED.
91754
91755         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
91756         ...
91757         * lib/strtoxmax.c: ... then renamed to this.
91758
91759 2001-08-18  Paul Eggert  <eggert@twinsun.com>
91760
91761         * m4/inttypes.m4: Add AC_PREREQ(2.13).
91762         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
91763         (jm_AC_TYPE_INTMAX_T): New macro.
91764         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
91765
91766         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
91767
91768         * m4/longlong.m4: Renamed from ulonglong.m4.
91769         * m4/inttypes.m4: Renamed from inttypes_h.m4.
91770         * m4/uintmax_t.m4: Removed.
91771
91772 2001-08-13  Paul Eggert  <eggert@twinsun.com>
91773
91774         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
91775         Port to Solaris 8, where 'sed' requires a space after the 'r'
91776         command, and where sh dislikes "$/".  Clean up the spacing a bit.
91777         Redirect output to $tmp just once.
91778
91779 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
91780
91781         * lib/addext.c (<errno.h>): Include.
91782         (errno): Declare if not defined.
91783         (addext): Work correctly when pathconf returns -1 and leaves
91784         errno alone because there is no limit.  Also, work even if
91785         pathconf returns a value greater than SIZE_MAX.
91786
91787 2001-08-12  Jim Meyering  <meyering@lucent.com>
91788
91789         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
91790         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
91791         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
91792         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
91793         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
91794         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
91795         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
91796         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
91797         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
91798         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
91799         utime.m4, utimes.m4, xstrtoumax.m4:
91800         Quote the first argument in each use of AC_DEFUN.
91801
91802 2001-08-12  Jim Meyering  <meyering@lucent.com>
91803
91804         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
91805         Simply `return getcwd (NULL, 0);'.
91806         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
91807         Use 1300 as initial value for length, not PATH_MAX.
91808
91809         * lib/pathmax.h: Clean up cpp syntax.
91810
91811 2001-08-12  Jim Meyering  <meyering@lucent.com>
91812
91813         * lib/gettimeofday.c: New file.
91814         * lib/gtod.h: New file.
91815         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
91816
91817 2001-08-05  Jim Meyering  <meyering@lucent.com>
91818
91819         * m4/jm-macros.m4: Require autoconf-2.52.
91820
91821 2001-08-04  Jim Meyering  <meyering@lucent.com>
91822
91823         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
91824         stmt, to get in sync with glibc.
91825
91826 2001-08-03  Paul Eggert  <eggert@twinsun.com>
91827
91828         The following changes are from gettext 0.10.39 as maintained by
91829         Bruno Haible.
91830
91831         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
91832         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
91833         with inverted sense.  All uses changed.
91834
91835         * lib/mbswidth.c: Don't include <limits.h>.
91836         Include <stdlib.h> and <string.h> unconditionally.
91837         (iswcntrl, mbsinit, ISCNTRL): New macros.
91838         (mbsnwidth): Use K&R style function declarations.
91839         Don't bother checking for MB_LEN_MAX == 1, since the compiler
91840         can optimize it when MB_CUR_MAX == 1.
91841         The width of control characters is zero, not 1.
91842
91843 2001-08-03  Paul Eggert  <eggert@twinsun.com>
91844
91845         The following changes are from gettext 0.10.39 as maintained by
91846         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
91847
91848         * m4/codeset.m4: Upgrade to serial AM1.
91849         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
91850         all uses changed.  Quote first arg of AC_DEFUN.
91851         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
91852
91853         * m4/iconv.m4: Upgrade to serial AM2.
91854         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
91855         Add --with-libconv-prefix.
91856         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
91857         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
91858         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
91859         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
91860         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
91861
91862         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
91863         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
91864         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
91865         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
91866         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
91867         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
91868         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
91869         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
91870         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
91871
91872         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
91873         string.h any more.
91874
91875         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
91876         not the default value.
91877
91878         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
91879         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
91880         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
91881         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
91882         Also check for iswcntrl, used for wcwidth fallback.
91883         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
91884         to Autoconf 2.13.
91885
91886 2001-08-03  Jim Meyering  <meyering@lucent.com>
91887
91888         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
91889         as it was in the original.  Reported by Paul Eggert.
91890
91891 2001-07-16  Jim Meyering  <meyering@lucent.com>
91892
91893         * m4/gettimeofday.m4: New file.
91894         Prompted by a report from Bernhard Baehr.
91895
91896 2001-07-15  Jim Meyering  <meyering@lucent.com>
91897
91898         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
91899         stuff. Now it's in ../Makefile.cfg.
91900
91901 2001-07-15  Jim Meyering  <meyering@lucent.com>
91902
91903         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
91904         (BUILT_SOURCES): Add unlocked-io.h.
91905         (io_functions): Define.
91906         (unlocked-io.h): New rule.
91907         (DISTCLEANFILES): Add unlocked-io.h.
91908         (all-local): Depend on unlocked-io.h, to ensure it is created.
91909
91910         * lib/unlocked-io.hin: New file
91911
91912         * lib/regex.c: Update from glibc.
91913
91914 2001-07-05  Jim Meyering  <meyering@lucent.com>
91915
91916         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
91917         recommendation.
91918         (libfetish_a_SOURCES): Put all .h files here instead.
91919         Remove a thus-exposed (better checks in automake) duplicate and
91920         two unnecessary .h files.
91921
91922 2001-07-04  Jim Meyering  <meyering@lucent.com>
91923
91924         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
91925         that generates jm-glibc-io.m4 so that it doesn't trigger any make
91926         distcheck failure.
91927
91928 2001-07-02  Jim Meyering  <meyering@lucent.com>
91929
91930         The following changes were prompted by suggestions from Bruno Haible.
91931
91932         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
91933         is now generated.
91934         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
91935         definition of EXTRA_DIST.
91936         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
91937         ensure that the generated file is created/updated whenever the list
91938         of $(unlocked_functions) is changed.
91939         (jm-glibc-io.m4): New rule.
91940         (unlocked-io.h): New rule -- currently unused.
91941
91942 2001-06-24  Jim Meyering  <meyering@lucent.com>
91943
91944         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
91945         unmatched right bracket, rather than kludging it with an extra,
91946         falsely-matching quote in a comment.  Patch by Akim Demaille.
91947
91948 2001-06-11  Jim Meyering  <meyering@lucent.com>
91949
91950         * lib/regex.c: Update from GNU libc.
91951
91952 2001-05-27  Jim Meyering  <meyering@lucent.com>
91953
91954         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
91955         Check for ut_type in struct utmp.
91956
91957 2001-05-27  Jim Meyering  <meyering@lucent.com>
91958
91959         * lib/readutmp.h (UT_TYPE): Define.
91960
91961 2001-05-24  Jim Meyering  <meyering@lucent.com>
91962
91963         * lib/argmatch.c: Include "quote.h".
91964         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
91965         quote function.  Reported by Göran Uddeborg.
91966
91967 2001-05-22  Jim Meyering  <meyering@lucent.com>
91968
91969         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
91970         now that we use the package-supplied version unconditionally.
91971         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
91972
91973 2001-05-21  Jim Meyering  <meyering@lucent.com>
91974
91975         * m4/regex.m4: Change a couple backticks to single quotes to avoid
91976         shell syntax errors.
91977
91978 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
91979
91980         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
91981
91982 2001-05-20  Paul Eggert  <eggert@twinsun.com>
91983
91984         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
91985         Don't bother to check library strftime, since
91986         we'll be using our own my_strftime function anyway.
91987         Define my_strftime instead of strftime.
91988
91989 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
91990
91991         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
91992         which is not yet declared.
91993
91994 2001-05-15  Jim Meyering  <meyering@lucent.com>
91995
91996         * m4/regex.m4: Use proper quoting so brackets appear in the test
91997         program.
91998         Reported by, and with help from, Bruno Haible.
91999
92000 2001-05-13  Jim Meyering  <meyering@lucent.com>
92001
92002         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
92003         undefined.
92004
92005 2001-05-11  Paul Eggert  <eggert@twinsun.com>
92006
92007         dirname code cleanup.  base_name now behaves more compatibly
92008         with POSIX basename when given file names that have trailing
92009         slashes, and similarly for dir_name.  Add new primitives
92010         base_len and dir_len.  Put the directory-name-related decls
92011         into dirname.h.
92012
92013         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
92014         * lib/backupfile.c (base_name): Likewise.
92015         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
92016         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
92017         * lib/makepath.c (strip_trailing_slashes): Likewise.
92018         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
92019         ISSLASH): Likewise.
92020         * lib/rename.c (strip_trailing_slashes): Likewise.
92021         * lib/same.c (base_name): Likewise.
92022         * lib/stripslash.c (ISSLASH): Likewise.
92023
92024         * lib/addext.c: Include <dirname.h> after size_t is defined.
92025         * lib/backupfile.c: Likewise.
92026
92027         * lib/addext.c (addext): Use base_len to trim redundant
92028         trailing slashes instead of doing it ourselves.
92029         But do not trim the last slash if it is not redundant.
92030
92031         * lib/backupfile.c (find_backup_file_name,
92032         max_backup_version): Use base_len instead of rolling it ourselves.
92033         Handle the case of "" and (on DOS) "C:" correctly.
92034
92035         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
92036         needed. Include <string.h>, <dirname.h>.
92037         (base_name): Allow file names ending in slashes, other than names
92038         that are all slashes.  In this case, return the basename followed
92039         by the slashes.  This is more general, and can be used in places
92040         where the original base_name purposely had an assertion failure.
92041         (base_len): New function.
92042
92043         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
92044         Do not include <assert.h>; no longer needed.
92045         Include xalloc.h.
92046         (memrchr): Remove decl.
92047         (dir_name_r): Remove.
92048         (dir_len): Renamed from dirlen.  All callers changed.
92049         Rewrite in terms of base_name, for simplicity and consistency.
92050         (dir_name): Never return NULL.  All callers changed.
92051         Do not include <stdlib.h> in test program; no longer needed.
92052         return 0; is fine for test program.
92053
92054         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
92055         New macros.
92056         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
92057
92058         * lib/path-concat.c (path_concat): Use base_len to compute
92059         base length, not strlen; this means we cannot rely on memcpy
92060         to null-terminate.
92061
92062         * lib/same.c (STREQ): Remove.
92063         (same_name): Handle the case where the basename ends in trailing '/'.
92064
92065         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
92066         a slash was stripped.  Do not strip the last slash after a
92067         file system prefix.
92068
92069 2001-05-11  Paul Eggert  <eggert@twinsun.com>
92070
92071         * lib/Makefile.am (libfetish_a_SOURCES):
92072         Add strftime.c, since we now compile it on all hosts.
92073
92074         * lib/strftime.c (my_strftime):
92075         Define to nstrftime if emacs, but only if my_strftime is not defined.
92076         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
92077         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
92078         Add one more extra argument: a nanoseconds value.
92079         All uses changed.
92080         (ns): New macro.
92081         (my_strftime function): Add %N format.
92082         (emacs_strftimeu): Renamed from emacs_strftime,
92083         with extra ut argument.
92084
92085 2001-05-09  Paul Eggert  <eggert@twinsun.com>
92086
92087         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
92088
92089 2001-04-21  Jim Meyering  <meyering@lucent.com>
92090
92091         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
92092         doesn't interfere.
92093
92094 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
92095
92096         * m4/ftruncate.m4: Check for chsize.
92097         Link with ftruncate.o unconditionally if ftruncate is missing.
92098         This was required when cross-compiling to i586-mingw32msvc.
92099
92100 2001-04-08  Jim Meyering  <meyering@lucent.com>
92101
92102         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
92103         recomputed; that's necessary when the offset spans a DST transition.
92104         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
92105
92106 2001-04-02  Jim Meyering  <meyering@lucent.com>
92107
92108         * lib/regex.h, regex.c: Update from GNU libc.
92109
92110 2001-03-24  Jim Meyering  <meyering@lucent.com>
92111
92112         * m4/jm-macros.m4: Require autoconf-2.49d.
92113
92114 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
92115
92116         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
92117
92118 2001-03-19  Paul Eggert  <eggert@twinsun.com>
92119
92120         * lib/version-etc.c (version_etc_copyright): Update to 2001.
92121
92122 2001-03-17  Jim Meyering  <meyering@lucent.com>
92123
92124         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
92125         now that the version in autoconf is equivalent.
92126         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
92127
92128         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
92129         Suggestion from Akim Demaille.
92130
92131         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
92132         (jm_PREREQ_TEMPNAME): New function.
92133
92134 2001-03-16  Paul Eggert  <eggert@twinsun.com>
92135
92136         * lib/tempname.c (uint64_t): Define to uintmax_t if
92137         not defined, and if UINT64_MAX is not defined.
92138         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
92139         Reported by John David Anglin.
92140
92141 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
92142
92143         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
92144         resolve alias if codeset is empty.
92145         * lib/config.charset (BeOS): Use wildcard syntax.
92146
92147 2001-03-13  Jim Meyering  <meyering@lucent.com>
92148
92149         * lib/path-concat.c (path_concat)
92150         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
92151         concatenating e.g., `C:' and `foo'.
92152         From Bruno Haible.
92153
92154 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
92155
92156         * lib/localcharset.c (locale_charset): Don't use
92157         setlocale(LC_CTYPE,NULL). Don't return NULL.
92158         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
92159
92160 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
92161
92162         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
92163         support for DOS/DJGPP.
92164
92165 2001-03-01  Paul Eggert  <eggert@twinsun.com>
92166
92167         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
92168         lacks mkstemp.  Compile our own tempname.c if we compile our own
92169         mkstemp.c, as mkstemp relies on tempname.
92170
92171 2001-03-01  Jim Meyering  <meyering@lucent.com>
92172
92173         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
92174         AH_VERBATIM really does output its argument verbatim.
92175
92176 2001-02-28  Paul Eggert  <eggert@twinsun.com>
92177
92178         * lib/Makefile.am (libfetish_a_SOURCES):
92179         Add dup-safer.c, fopen-safer.c.
92180         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
92181
92182         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
92183         * lib/unistd-safer.h: New files.
92184
92185 2001-02-25  Paul Eggert  <eggert@twinsun.com>
92186
92187         The mkstemp replacement is taken from glibc 2.2.2, with some
92188         portability fixes for use outside glibc, as follows:
92189
92190         * lib/tempname.c (struct_stat64): New macro.
92191         (direxists, __gen_tempname): Use it.
92192         This avoids a portability problem with Solaris 8.
92193
92194         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
92195         (<stddef.h>, <stdint.h>, <string.h>):
92196         Include only if STDC_HEADERS || _LIBC.
92197         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
92198         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
92199         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
92200         (__set_errno): Define this macro if <errno.h> doesn't.
92201         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
92202         Define these macros if <stdio.h> doesn't.
92203         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
92204         Define these macros if <sys/stat.h>
92205         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
92206         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
92207         __xstat64): Define if not _LIBC.
92208         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
92209         (__gen_tempname): Invoke gettimeofday only if
92210         HAVE_GETTIMEOFDAY || _LIBC;
92211         otherwise, fall back on plain "time".
92212         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
92213
92214         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
92215
92216         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
92217
92218 2001-02-18  Paul Eggert  <eggert@twinsun.com>
92219
92220         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
92221
92222 2001-02-17  Paul Eggert  <eggert@twinsun.com>
92223
92224         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
92225         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
92226         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
92227         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
92228
92229 2001-02-17  Paul Eggert  <eggert@twinsun.com>
92230
92231         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
92232         Remove workaround macros for hosts that have mbrtowc but not
92233         mbstate_t, as we now insist on proper declarations for both
92234         before using mbrtowc.
92235
92236 2001-02-17  Jim Meyering  <meyering@lucent.com>
92237
92238         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
92239         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
92240         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
92241         UnixWare 7.1.1.
92242
92243         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
92244         rather than AC_CACHE_VAL.
92245
92246 2001-02-17  Jim Meyering  <meyering@lucent.com>
92247
92248         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
92249         around included file name.
92250
92251         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
92252
92253         * lib/strftime.c: Update from GNU libc (the only changes were to
92254         comments).
92255
92256 2001-02-17  Jim Meyering  <meyering@lucent.com>
92257
92258         * lib/regex.c: Update from libc.
92259
92260 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
92261
92262         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
92263         clash.
92264
92265 2001-02-16  Paul Eggert  <eggert@twinsun.com>
92266
92267         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
92268         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
92269         Reported by Mark Hounschell via Paul Eggert.
92270
92271 2001-02-07  Jim Meyering  <meyering@lucent.com>
92272
92273         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
92274
92275 2001-02-05  Jim Meyering  <meyering@lucent.com>
92276
92277         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
92278         it includes the patch required for `large file' support with at least
92279         HP-UX's 10.20 /bin/cc.
92280
92281 2001-02-03  Jim Meyering  <meyering@lucent.com>
92282
92283         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
92284         AS_IF, now that it works once again (mysteriously).
92285         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
92286
92287 2001-01-30  Jim Meyering  <meyering@lucent.com>
92288
92289         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
92290         * m4/chown.m4: Rename conftestchown to conftest.chown.
92291         * m4/rename.m4: s/conftestdir/conftest.d1/ and
92292         s/conftestdir2/conftest.d2/.
92293         * m4/utimes.m4: s/conftestdata/conftest.data/
92294         Inspired by Pavel Roskin's change in autoconf.
92295
92296 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
92297
92298         * lib/config.charset: Update for FreeBSD 4.2.
92299
92300 2001-01-27  Jim Meyering  <meyering@lucent.com>
92301
92302         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
92303         a use of AS_IF.
92304         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
92305
92306 2001-01-26  Jim Meyering  <meyering@lucent.com>
92307
92308         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
92309         quotearg.c includes it.
92310
92311 2001-01-26  Jim Meyering  <meyering@lucent.com>
92312
92313         * lib/quotearg.c: Include stddef.h.
92314         * lib/quote.c: Include stddef.h.
92315         Reported by Axel Kittenberger.
92316
92317         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
92318         line in double quotes so that it evokes a better diagnostic.
92319         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
92320         Reported by Axel Kittenberger.
92321
92322 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
92323
92324         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
92325         as if it was a `charset'.
92326
92327 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
92328
92329         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
92330         has const.
92331
92332 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
92333
92334         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
92335         to avoid a warning.  Add back 'const' to inptr.
92336
92337 2001-01-20  Jim Meyering  <meyering@lucent.com>
92338
92339         Be sure that headers are checked before used in code compiled
92340         for the type checks.
92341         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
92342         In place of that, invoke jm_CHECK_ALL_TYPES.
92343         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
92344         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
92345         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
92346         The check for ssize_t was mistakenly run before the test for unistd.h.
92347
92348         The configure-time check for stdbool.h was missing.
92349         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
92350         (jm_PREREQ_HASH): New function.
92351
92352 2001-01-17  Jim Meyering  <meyering@lucent.com>
92353
92354         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
92355         for autoconf-2.49c.
92356         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
92357
92358 2001-01-16  Jim Meyering  <meyering@lucent.com>
92359
92360         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
92361         From Bruno Haible.
92362
92363 2001-01-14  Jim Meyering  <meyering@lucent.com>
92364
92365         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
92366         foo and bar.  Create conftestdir/ in the script, not in the C code.
92367         Remove directories in the script, not in the C code.
92368         Remove conftestdir{,2} before trying to create the directory.
92369         Make the entire configure script fail if the mkdir fails.
92370
92371 2001-01-14  Jim Meyering  <meyering@lucent.com>
92372
92373         * lib/rename.c: New file.  From Volker Borchert.
92374         Include stdlib.h, string.h or strings.h, and xalloc.h.
92375         Use strip_trailing_slashes rather than open-coding it.
92376
92377 2001-01-03  Paul Eggert  <eggert@twinsun.com>
92378
92379         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
92380
92381 2001-01-03  Jim Meyering  <meyering@lucent.com>
92382
92383         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
92384         of local `inptr' to avoid warning with some system declarations of
92385         iconv.
92386
92387 2001-01-02  Volker Borchert  <bt@teknon.de>
92388
92389         * m4/rename.m4: New file.
92390         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
92391
92392 2001-01-01  Jim Meyering  <meyering@lucent.com>
92393
92394         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
92395         even on systems with utmpx.h.  It's necessary for the declaration of
92396         utmp's ut_user member.  Reported by Andreas Jaeger.
92397
92398         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
92399         available. They are required for the declarations of getgrgid and
92400         getpwuid resp.
92401         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
92402         Reported by Andreas Jaeger.
92403
92404 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
92405
92406         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
92407         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
92408         so `make install' also works in VPATH builds.
92409
92410 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
92411
92412         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
92413         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
92414         can be used in subdirectories.
92415
92416 2000-12-29  Paul Eggert  <eggert@twinsun.com>
92417
92418         * lib/modechange.c: Do not assume that mode_t uses the
92419         traditional octal encoding.  E.g. "chmod 1 FOO" should set
92420         the other-execute bit of FOO even if S_IXOTH != 1.
92421
92422         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
92423         WOTH, XOTH, ALLM): New macros.
92424         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
92425          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
92426         Use them.
92427         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
92428         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
92429         (mode_compile):
92430         No need to use uintmax_t; unsigned long is long enough.
92431         Don't bother to get suffix since we don't use it.
92432
92433 2000-12-26  Jim Meyering  <meyering@lucent.com>
92434
92435         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
92436         better with autoheader.
92437
92438 2000-12-24  Jim Meyering  <meyering@lucent.com>
92439
92440         * lib/hash.c (is_prime): Return explicit boolean values.
92441         (hash_get_first): Return NULL to appease Irix5.6's 89.
92442         Reported by Nelson Beebe.
92443
92444 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
92445
92446         * lib/localcharset.c (locale_charset): Add support for Win32.
92447
92448 2000-12-18  Paul Eggert  <eggert@twinsun.com>
92449
92450         * lib/physmem.h, lib/physmem.c: New files.
92451
92452         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
92453         (noinst_HEADERS): Add physmem.h.
92454
92455         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
92456         't' for compatibility with Solaris 8 sort.
92457
92458 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
92459
92460         * lib/config.charset: Add support for BeOS.
92461
92462 2000-12-17  Jim Meyering  <meyering@lucent.com>
92463
92464         * m4/dos.m4 (jm_AC_DOS): New file and macro.
92465         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
92466
92467 2000-12-16  Jim Meyering  <meyering@lucent.com>
92468
92469         This bug had a serious impact on chown: `chown N:M FILE' (for integer
92470         N and M) would have treated it like `chown N:N FILE'.
92471
92472         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
92473
92474 2000-12-16  Jim Meyering  <meyering@lucent.com>
92475
92476         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
92477         SHELLS_FILE to a file name that's useful on djgpp systems.
92478         Include stdlib.h.
92479         (ADDITIONAL_DEFAULT_SHELLS): Define.
92480         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
92481         Based mostly on a patch from Prashant TR.
92482
92483 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
92484
92485         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
92486         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
92487         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
92488
92489 2000-12-08  Andreas Schwab  <schwab@suse.de>
92490
92491         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
92492         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
92493
92494 2000-12-07  Jim Meyering  <meyering@lucent.com>
92495
92496         * lib/stripslash.c (ISSLASH): Define.
92497         (strip_trailing_slashes): Use ISSLASH rather than comparing against
92498         `/'.
92499         From Prashant TR.
92500
92501         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
92502         (dir_name_r): Declare this function as static.
92503         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
92504         manifest itself on a name containing a mix of slashes and
92505         backslashes.
92506         Make this function work with names starting with a DOS-style
92507         drive letter and colon prefix.
92508         (dir_name): Append `.' if necessary.
92509         Based mostly on patches from Prashant TR and Eli Zaretskii.
92510
92511         * lib/dirname.h (dir_name_r): Remove prototype.
92512
92513 2000-12-06  Paul Eggert  <eggert@twinsun.com>
92514
92515         * m4/off_t-format.m4: Remove this file.
92516         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
92517
92518 2000-12-06  Jim Meyering  <meyering@lucent.com>
92519
92520         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
92521         replacement strtoull, we may well need the replacement strtoul, too.
92522         Check for declarations of strtoul and strtoull.
92523         Check for strtol.  Mainly as a cue to cause automake to include
92524         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
92525         Check for limits.h -- strtol.c needs it.
92526
92527 2000-12-05  Jim Meyering  <meyering@lucent.com>
92528
92529         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
92530
92531 2000-12-04  Jim Meyering  <meyering@lucent.com>
92532
92533         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
92534         Also include memory.h, stdlib.h, unistd.h if appropriate.
92535         Reported by Andreas Jaeger (conflicting declaration of malloc).
92536
92537 2000-12-02  Jim Meyering  <meyering@lucent.com>
92538
92539         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
92540         * m4/jm-macros.m4 (jm_MACROS): require it.
92541
92542 2000-12-02  Jim Meyering  <meyering@lucent.com>
92543
92544         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
92545
92546 2000-12-01  Paul Eggert  <eggert@twinsun.com>
92547
92548         * lib/memrchr.c: Include <config.h> before any system include file.
92549
92550 2000-11-30  Jim Meyering  <meyering@lucent.com>
92551
92552         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
92553
92554 2000-11-30  Jim Meyering  <meyering@lucent.com>
92555
92556         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
92557
92558 2000-11-29  Paul Eggert  <eggert@twinsun.com>
92559
92560         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
92561
92562 2000-11-26  Jim Meyering  <meyering@lucent.com>
92563
92564         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
92565
92566 2000-11-22  Paul Eggert  <eggert@twinsun.com>
92567
92568         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
92569         size of (size_t) -1; it's not portable.
92570
92571 2000-11-17  Jim Meyering  <meyering@lucent.com>
92572
92573         * lib/strstr.c: Update from GNU libc.
92574
92575 2000-11-17  Akim Demaille  <akim@epita.fr>
92576
92577         * lib/obstack.h: Formatting changes.
92578         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
92579         prevent type checking.
92580         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
92581         cast the value to (void *): assigning a `foo *' to a `void *'
92582         variable is valid.
92583         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
92584
92585 2000-11-16  Jim Meyering  <meyering@lucent.com>
92586
92587         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
92588
92589 2000-11-11  Jim Meyering  <meyering@lucent.com>
92590
92591         * lib/error.c: Add a couple #includes, merging from GNU libc version.
92592
92593 2000-11-10  Jim Meyering  <meyering@lucent.com>
92594
92595         * lib/obstack.h: Update from GNU libc.
92596         * lib/obstack.c: Likewise.
92597
92598 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
92599
92600         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
92601
92602 2000-11-06  Paul Eggert  <eggert@twinsun.com>
92603
92604         * lib/getusershell.c (setusershell): Use rewind rather than
92605         fseek/fseeko, to avoid configuration hassles with fseeko.
92606         Don't bother opening SHELLS_FILE if shellstream is NULL;
92607         it's not necessary.
92608
92609 2000-11-05  Jim Meyering  <meyering@lucent.com>
92610
92611         * lib/makepath.h (make_dir): Declare.
92612         * lib/makepath.c (make_dir): Remove `static' attribute.
92613         Tweak a comment.
92614
92615 2000-11-04  Jim Meyering  <meyering@lucent.com>
92616
92617         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
92618
92619 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
92620
92621         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
92622         last one in a bucket, advance to the next bucket.
92623
92624 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
92625
92626         * lib/fnmatch.c: Do not comment out all the code if we are using
92627         the GNU C library, because in some cases we are replacing buggy
92628         code in the GNU C library itself.
92629
92630 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
92631
92632         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
92633         (regex_compile): Catch bogus \(\1\).
92634
92635 2000-10-30  Paul Eggert  <eggert@twinsun.com>
92636
92637         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
92638         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
92639         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
92640
92641 2000-10-30  Paul Eggert  <eggert@twinsun.com>
92642
92643         * lib/error.h, getline.h, modechange.h:
92644         Remove "2000" from Copyright line, as the file hasn't been
92645         changed this year other than in the copyright notice.
92646
92647         * lib/xalloc.h: Add "2000" to Copyright line, as this file
92648         was changed this year.
92649
92650 2000-10-29  Jim Meyering  <meyering@lucent.com>
92651
92652         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
92653         renaming.
92654         * m4/ls-mntd-fs.m4: Likewise
92655
92656 2000-10-29  Jim Meyering  <meyering@lucent.com>
92657
92658         * lib/xstat.in: Fix grammar in comment.
92659
92660 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
92661
92662         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
92663         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
92664         doesn't define __restrict_arr.
92665
92666 2000-10-28  Jim Meyering  <meyering@lucent.com>
92667
92668         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
92669         (jm_PREREQ_MEMCHR): New function.
92670
92671 2000-10-28  Jim Meyering  <meyering@lucent.com>
92672
92673         * lib/memchr.c: Update from libc.
92674         Adjust for portability:
92675         [HAVE_STDLIB_H]: Include stdlib.h.
92676         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
92677         Undef __memchr, too.
92678         [!weak_alias]: Define __memchr to memchr.
92679
92680         * lib/regex.c: Update from libc.
92681         * lib/regex.h: Likewise.
92682         * lib/getopt1.c: Likewise.
92683         * lib/memcmp.c: Likewise.
92684
92685         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
92686         Avoid using fseek, when possible -- it's broken by design.
92687         Patch by Ulrich Drepper.
92688
92689 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
92690
92691         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
92692         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
92693         Giving in to popular pressure to shut up the compiler with casts.
92694
92695 2000-10-26  Jim Meyering  <meyering@lucent.com>
92696
92697         * lib/strftime.c: Update from libc.
92698
92699 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
92700
92701         * regex.c: More `unsigned char' -> `re_char' changes.
92702         Also change several `int' into `re_wchar_t'.
92703         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
92704         (PUSH_FAILURE_POINTER): Don't cast any more.
92705         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
92706         We want GCC to complain, since this piece of code makes
92707         re_match non-reentrant, which *should* be fixed.
92708         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
92709         (EXTEND_BUFFER): Use RETALLOC.
92710         (SET_LIST_BIT): Don't cast.
92711         (re_wchar_t): New type.
92712         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
92713         that those two functions will always properly return.
92714         (IMMEDIATE_QUIT_CHECK): Cast to void.
92715         (analyse_first): Use recursion rather than an explicit stack.
92716         (re_compile_fastmap): Can't fail anymore.
92717         (re_search_2): Don't check re_compile_fastmap for failure.
92718         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
92719         Now also sets the new value (passed in a new argument).
92720         (re_match_2_internal): Use it.
92721         Also, use a new var `reg' of type size_t when looping through regs
92722         rather than reuse the inappropriate `mcnt'.
92723
92724 2000-10-25  Jim Meyering  <meyering@lucent.com>
92725
92726         * lib/obstack.c: Update from libc.
92727
92728 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
92729
92730         * regex.c (regex_compile): Change the way of handling a range from
92731         a char less than 256 to a char not less than 256.
92732
92733 2000-10-24  Andrew Innes  <andrewi@gnu.org>
92734
92735         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
92736         NT-Emacs only.
92737         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
92738         so that re_search functions only quit when callers expect them to.
92739
92740 2000-10-23  Jim Meyering  <meyering@lucent.com>
92741
92742         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
92743         wrong.  That set_locale call must not have any side effects.
92744         From Paul Eggert.
92745
92746 2000-10-22  Jim Meyering  <meyering@lucent.com>
92747
92748         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
92749         [CYCLIC]: Remove now-unused definition.
92750
92751         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
92752         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
92753         Suggestion from Ulrich Drepper.
92754
92755 2000-10-21  Jim Meyering  <meyering@lucent.com>
92756
92757         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
92758         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
92759         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
92760
92761 2000-10-21  Jim Meyering  <meyering@lucent.com>
92762
92763         * lib/dirname.c (memrchr): Declare if necessary.
92764         (dir_name): Remove the restriction that there be no
92765         trailing slashes.  Now, this code skips past them, effectively
92766         ignoring them.
92767         [TEST_DIRNAME] (main): New unit tests.
92768
92769         * lib/memrchr.c: New file from GNU libc.
92770         Undef __memrchr, too.
92771         [!weak_alias]: Define __memrchr to memrchr.
92772         Guard weak_alias use with `#ifdef weak_alias'.
92773
92774 2000-10-21  Jim Meyering  <meyering@lucent.com>
92775
92776         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
92777         (dir_name): Use dir_name_r.
92778         * lib/dirname.h (dir_name_r): Declare it.
92779
92780 2000-10-17  Jim Meyering  <meyering@lucent.com>
92781
92782         * lib/quote.h (PARAMS): Define and use.
92783         Reported by Akim Demaille.
92784
92785         * lib/getopt.c: Update from libc.
92786
92787 2000-10-16  Jim Meyering  <meyering@lucent.com>
92788
92789         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
92790         setlocale.
92791         From Jan Fedak.
92792
92793 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
92794
92795         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
92796
92797 2000-09-25  Jim Meyering  <meyering@lucent.com>
92798
92799         * lib/md5.h (rol): Define (from GnuPG).
92800
92801         * lib/sha.c: Give credit (GnuPG) where due.
92802         (M): Use rol rather than open-coding it.
92803         Add a FIXME comment.
92804
92805 2000-09-21  Jim Meyering  <meyering@lucent.com>
92806
92807         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
92808         Reported by Michael Stone.
92809
92810 2000-09-20  Jim Meyering  <meyering@lucent.com>
92811
92812         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
92813         (noinst_HEADERS): Add sha.h.
92814         Based on code from Scott G. Miller and from GnuPG.
92815
92816 2000-09-18  Jim Meyering  <meyering@lucent.com>
92817
92818         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
92819         LIBS. Otherwise, everyone ends up linking with -lelf for some
92820         configurations.
92821         Reported by Mike Stone.
92822
92823 2000-09-15  Jim Meyering  <meyering@lucent.com>
92824
92825         * lib/regex.c: Update from libc.
92826
92827 2000-09-10  Jim Meyering  <meyering@lucent.com>
92828
92829         * lib/getopt.c (_getopt_internal): Update from glibc.
92830
92831 2000-09-09  Jim Meyering  <meyering@lucent.com>
92832
92833         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
92834         think it should be used as a general replacement for isascii.
92835         * lib/fnmatch.c: Likewise.
92836         * lib/mbswidth.c: Likewise
92837         * lib/regex.c: Likewise.
92838
92839         Don't use atoi.
92840         * lib/userspec.c: Include sys/param.h and limits.h.
92841         Include xstrtol.h.
92842         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
92843         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
92844         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
92845         UID, GID.  Check range.
92846
92847 2000-09-06  Jim Meyering  <meyering@lucent.com>
92848
92849         * lib/getopt.c (_getopt_internal): Update from glibc.
92850
92851 2000-08-30  Jim Meyering  <meyering@lucent.com>
92852
92853         * lib/strftime.c: Merge in changes from GNU libc.
92854
92855 2000-08-26  Jim Meyering  <meyering@lucent.com>
92856
92857         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
92858         * m4/fpending.m4: New file.
92859
92860 2000-08-26  Jim Meyering  <meyering@lucent.com>
92861
92862         * lib/closeout.c: Include "__fpending.h".
92863         (close_stdout_status): Return right away if there's nothing to flush.
92864
92865         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
92866         * lib/__fpending.c: New file.
92867         * lib/__fpending.h: New file.
92868
92869 2000-08-20  Jim Meyering  <meyering@lucent.com>
92870
92871         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
92872         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
92873         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
92874
92875 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
92876
92877         Improve fileutils installation on systems where running
92878         programs (like install) can't be unlinked.
92879         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
92880         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
92881
92882 2000-08-07  Paul Eggert  <eggert@twinsun.com>
92883
92884         Standardize on "memory exhausted" instead of "Memory exhausted"
92885         or "virtual memory exhausted".
92886         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
92887         "virtual memory exhausted".
92888         * lib/same.c (same_name): Invoke xalloc_die instead of printing
92889         our own message.
92890         * lib/userspec.c (parse_user_spec): Likewise.
92891         * lib/bumpalloc.h: comment fix
92892         * lib/same.c, userspec.c: Include xalloc.h.
92893
92894         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
92895         not char *const and pointing to a constant array.
92896         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
92897         (xrealloc): Comment fix.
92898
92899         * lib/userspec.c (parse_user_spec):
92900         Don't translate a message until just before returning,
92901         to avoid unnecessary translation.
92902
92903 2000-08-07  Jim Meyering  <meyering@lucent.com>
92904
92905         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
92906         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
92907         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
92908         getgroups.c, gethostname.c, getopt.h, group-member.c,
92909         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
92910         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
92911         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
92912         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
92913         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
92914         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
92915         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
92916         yesno.c: Back out Copyright date changes for each file with no change
92917         this year.  This eases coordination with other programs using the same
92918         source code modules.  From Paul Eggert.
92919
92920 2000-08-06  Paul Eggert  <eggert@twinsun.com>
92921
92922         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
92923         not char, for compatibility with glibc 2.1.3 strftime.c.
92924
92925 2000-08-03  Greg McGary  <greg@mcgary.org>
92926
92927         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
92928         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
92929         (EXTEND_BUFFER): Use them.
92930
92931 2000-08-01  Jim Meyering  <meyering@lucent.com>
92932
92933         * lib/dirname.c (ISSLASH): Define.
92934         (BACKSLASH_IS_PATH_SEPARATOR): Define.
92935         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
92936         both `\' and `/' may be use as path separators.
92937         Based on a patch from Prashant TR.
92938
92939 2000-07-31  Paul Eggert  <eggert@twinsun.com>
92940
92941         * lib/quotearg.c (quotearg_n_options): Don't make the initial
92942         slot vector a constant, since it might get modified.
92943
92944 2000-07-31  Jim Meyering  <meyering@lucent.com>
92945
92946         * lib/xmalloc.c: Use `virtual memory exhausted', not
92947         `Memory exhausted'.
92948         * lib/obstack.c (print_and_abort): Likewise.
92949
92950 2000-07-30  Paul Eggert  <eggert@twinsun.com>
92951
92952         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
92953         buffer, so that the caller can always quote one small
92954         component of a "memory exhausted" message in slot 0.
92955         From a suggestion by Jim Meyering.
92956
92957 2000-07-30  Jim Meyering  <meyering@lucent.com>
92958
92959         * lib/makepath.c (make_path): Quote the other instance, too.
92960
92961         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
92962         (STATIC_BUF_SIZE): Define.
92963         (quotearg_n_options): Use only statically allocated storage when
92964         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
92965         than STATIC_BUF_SIZE.
92966
92967 2000-07-29  Jim Meyering  <meyering@lucent.com>
92968
92969         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
92970         * lib/dirname.c (dir_name): Likewise.
92971
92972         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
92973         `/'.
92974
92975         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
92976         (dir_name): Assert that there are no trailing slashes.
92977
92978 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
92979
92980         * lib/mbswidth.h (mbswidth): Add a flags argument.
92981         (mbswidth): New declaration.
92982         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
92983         * lib/mbswidth.c (mbswidth): Add a flags argument.
92984         (mbsnwidth): New function.
92985
92986 2000-07-24  Jim Meyering  <meyering@lucent.com>
92987
92988         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
92989
92990 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92991
92992         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
92993
92994 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92995
92996         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
92997         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
92998         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
92999         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
93000         invoke multibyte primitives.
93001
93002 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93003
93004         * lib/quotearg.c:
93005         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
93006         so that mbstate_t is always defined.
93007
93008         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
93009         be 1 in at least one GCC installation, and this configuration
93010         error is likely to be common.  Ignoring MB_LEN_MAX hurts
93011         performance on hosts that have mbrtowc but have only unibyte
93012         locales, but I assume these hosts are rare.
93013
93014 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93015
93016         * lib/mbswidth.c (_XOPEN_SOURCE):
93017         Don't define; this causes problems on Solaris 7.
93018         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
93019
93020 2000-07-23  Jim Meyering  <meyering@lucent.com>
93021
93022         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
93023         too: getgrgid, getpwuid, getuid.
93024
93025 2000-07-23  Jim Meyering  <meyering@lucent.com>
93026
93027         * lib/basename.c (base_name): Add an assertion.
93028
93029 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
93030
93031         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
93032         shadow its mbsinit function.
93033
93034 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
93035
93036         * lib/mbswidth.h: New file.
93037         * lib/mbswidth.c: New file.
93038         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
93039         (noinst_HEADERS): Add mbswidth.h.
93040
93041 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
93042
93043         * lib/config.charset: Add support for FreeBSD. Improve support for
93044         HP-UX and IRIX 6.
93045
93046 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
93047
93048         * m4/mbswidth.m4: New file.
93049         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
93050
93051 2000-07-15  Jim Meyering  <meyering@lucent.com>
93052
93053         * lib/makepath.c: Include quote.h.
93054         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
93055         corresponding argument in a `quote (...)' call.
93056         Give better diagnostics.
93057
93058         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
93059         (noinst_HEADERS): Add quote.h.
93060
93061         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
93062         from tar's src/misc.c.
93063         * lib/quote.h: New file.  Prototypes for same.
93064
93065 2000-07-14  Paul Eggert  <eggert@twinsun.com>
93066
93067         From a suggestion by Bruno Haible.
93068         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
93069         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
93070         to decide whether to define the BeOS workaround macro;
93071         this adjusts to the change to AC_MBSTATE_T.
93072
93073 2000-07-14  Jim Meyering  <meyering@lucent.com>
93074
93075         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
93076         jm_AC_TYPE_UINTMAX_T.
93077
93078 2000-07-13  Paul Eggert  <eggert@twinsun.com>
93079
93080         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
93081
93082         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
93083         quotearg_buffer_restyled): Add support for
93084         clocale_quoting_style.  Undo previous change to
93085         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
93086         and "{RIGHT QUOTATION MARK}" msgids.
93087
93088 2000-07-10  Paul Eggert  <eggert@twinsun.com>
93089
93090         From a suggestion by Bruno Haible.
93091         * m4/mbstate_t.m4 (AC_MBSTATE_T):
93092         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
93093         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
93094         and mbstate_t, to a single-part test that simply defines mbstate_t.
93095         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
93096         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
93097
93098 2000-07-10  Jim Meyering  <meyering@lucent.com>
93099
93100         * m4/strerror_r.m4: Mirror the correction made in autoconf.
93101
93102         * m4/gnu-source.m4: Output to confdefs.h directly.
93103         Suggestion from Akim Demaille.
93104
93105 2000-07-09  Paul Eggert  <eggert@twinsun.com>
93106
93107         The old behavior of quoting `like this' doesn't look good with
93108         newer, ISO-style fonts.  See:
93109         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
93110
93111         Instead, quote "like this" by default.  Let the translator
93112         tailor the locale-specific quoting behavior by providing
93113         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
93114
93115         * lib/quotearg.c (N_): New macro.
93116         (gettext_default): New function.
93117         (quotearg_buffer_restyled): Use
93118         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
93119         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
93120
93121 2000-07-09  Jim Meyering  <meyering@lucent.com>
93122
93123         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
93124         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
93125
93126         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
93127         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
93128
93129 2000-07-09  Jim Meyering  <meyering@lucent.com>
93130
93131         * lib/Most files: Update copyright dates to include 2000.
93132
93133 2000-07-08  Jim Meyering  <meyering@lucent.com>
93134
93135         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
93136         if not defined.
93137         (xgethostname): Remove now-unnecessary #ifdef.
93138         Move declaration of `err' into loop where it's used.
93139
93140 2000-07-05  Paul Eggert  <eggert@twinsun.com>
93141         and Bruno Haible  <haible@clisp.cons.org>
93142
93143         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
93144         only if the test for an object-type mbstate_t fails.  This
93145         prevents us from mistakenly reporting that mbstate_t is a
93146         system object type after we "#define mbstate_t int" to work
93147         around its lack.
93148
93149 2000-07-05  Paul Eggert  <eggert@twinsun.com>
93150         and Bruno Haible  <haible@clisp.cons.org>
93151
93152         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
93153
93154 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
93155
93156         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
93157         to strerror_r.
93158         Include <ctype.h> for use of isalpha.
93159
93160 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
93161
93162         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
93163         by allocating a larger buffer. Test the gethostname return value for
93164         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
93165         returns an error and ENAMETOOLONG isn't defined.
93166
93167 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
93168
93169         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
93170         dimension.
93171
93172 2000-07-04  Jim Meyering  <meyering@lucent.com>
93173
93174         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
93175         of the deprecated AC_CHECKING.
93176
93177 2000-07-04  Jim Meyering  <meyering@lucent.com>
93178
93179         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
93180         Reported by Bruno Haible.
93181
93182 2000-07-04  Jim Meyering  <meyering@lucent.com>
93183
93184         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
93185         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
93186         lacks mbrtowc.
93187
93188 2000-07-03  Paul Eggert  <eggert@twinsun.com>
93189
93190         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
93191         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
93192
93193 2000-07-03  Paul Eggert  <eggert@twinsun.com>
93194         and Bruno Haible  <haible@clisp.cons.org>
93195
93196         * lib/quotearg.c (mbrtowc):
93197         Assign to *pwc, and return 1 only if result is nonzero.
93198         (iswprint): Use ISPRINT when substituting our own mbrtowc.
93199
93200 2000-07-03  Jim Meyering  <meyering@lucent.com>
93201
93202         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
93203
93204 2000-07-03  Jim Meyering  <meyering@lucent.com>
93205
93206         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
93207         This is necessary to get a definition of e.g., UTMP_FILE on
93208         HP-UX 10.20.
93209         From Bob Proulx.
93210
93211 2000-07-02  Jim Meyering  <meyering@lucent.com>
93212
93213         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
93214
93215         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
93216         AC_LIBOBJ(function_name).
93217         * m4/chown.m4: Likewise.
93218         * m4/fnmatch.m4: Likewise.
93219         * m4/ftruncate.m4: Likewise.
93220         * m4/getgroups.m4: Likewise.
93221         * m4/getline.m4: Likewise.
93222         * m4/group-member.m4: Likewise.
93223         * m4/jm-macros.m4: Likewise.
93224         * m4/lstat.m4: Likewise.
93225         * m4/malloc.m4: Likewise.
93226         * m4/memcmp.m4: Likewise.
93227         * m4/nanosleep.m4: Likewise.
93228         * m4/putenv.m4: Likewise.
93229         * m4/realloc.m4: Likewise.
93230         * m4/regex.m4: Likewise.
93231         * m4/stat.m4: Likewise.
93232         * m4/strftime.m4: Likewise.
93233
93234 2000-07-02  Jim Meyering  <meyering@lucent.com>
93235
93236         * lib/quotearg.c (mbstate_t): Don't define here.
93237
93238 2000-07-02  Jim Meyering  <meyering@lucent.com>
93239
93240         * lib/nanosleep.c (SIGCONT): Define if not already defined.
93241
93242 2000-07-01  Jim Meyering  <meyering@lucent.com>
93243
93244         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
93245
93246 2000-07-01  Jim Meyering  <meyering@lucent.com>
93247
93248         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
93249         problem.
93250
93251 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
93252
93253         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
93254         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
93255
93256 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
93257
93258         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
93259         per change in ../m4/ls-mntd-fs.m4.
93260         (read_filesystem_list): Ignore symbolic links.
93261
93262 2000-06-29  Jim Meyering  <meyering@lucent.com>
93263
93264         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
93265         for declaration of strcmp.
93266
93267         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
93268
93269         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
93270         Avoid warning by casting result to `char *' to remove `const'.
93271
93272 2000-06-28  Jim Meyering  <meyering@lucent.com>
93273
93274         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
93275         included by quotearg.c, for which we perform this test.  From
93276         Bruno Haible.
93277
93278 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
93279
93280         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
93281         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
93282         <utmpx.h> exists, put readutmp.o into LIBOBJS.
93283
93284 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
93285
93286         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
93287
93288 2000-06-26  Paul Eggert  <eggert@twinsun.com>
93289
93290         savedir now sets errno on failure and invokes xmalloc to get memory.
93291         Fix a couple of other minor bugs while we're at it.
93292
93293         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
93294         (NAMLEN): Remove macro.
93295         (malloc, realloc): Remove decls.
93296         (stpcpy): Likewise.
93297         ("xalloc.h"): Include.
93298         (NAME_SIZE_DEFAULT): New macro.
93299         (savedir): Use xmalloc / xrealloc to allocate memory.
93300         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
93301         Skip "" directory entries.
93302         Use strlen to calculate directory entry length, since the old method
93303         is rarely used these days and isn't worth supporting.
93304         Don't use a pointer after freeing it.
93305         Check for integer overflow when calculating allocation size.
93306         Use memcpy to copy entries, instead of stpcpy.
93307         Set errno properly when returning NULL.
93308         Check for readdir error.
93309
93310 2000-06-26  Jim Meyering  <meyering@lucent.com>
93311
93312         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
93313
93314 2000-06-25  Jim Meyering  <meyering@lucent.com>
93315
93316         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
93317         Linux header bug when _XOPEN_SOURCE is defined to 500.
93318
93319 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
93320
93321         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
93322         deficiency.
93323
93324 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
93325
93326         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
93327         Include xalloc.h.
93328         Don't include <stdlib.h>.  Don't declare malloc, realloc.
93329
93330 2000-06-24  Jim Meyering  <meyering@lucent.com>
93331
93332         * m4/strerror_r.m4: Revive this file -- to try out an experimental
93333         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
93334         for which strerror does return char*, but which lacks a conveniently
93335         accessible declaration of the function.  If the compile-test says
93336         strerror_r doesn't work, then resort to a `run'-test that works on
93337         BeOS and segfaults on DEC Unix.
93338
93339 2000-06-24  Jim Meyering  <meyering@lucent.com>
93340
93341         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
93342
93343 2000-06-23  Paul Eggert  <eggert@twinsun.com>
93344
93345         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
93346         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
93347
93348 2000-06-23  Paul Eggert  <eggert@twinsun.com>
93349
93350         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
93351         (mbrtowc, mbstate_t): Define substitutes if
93352         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
93353         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
93354         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
93355
93356 2000-06-23  Jim Meyering  <meyering@lucent.com>
93357
93358         * m4/afs.m4: Add missing AC_MSG_RESULT.
93359         Reported by Bruno Haible.
93360
93361         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
93362         Suggestion from Bruno Haible.
93363
93364 2000-06-23  Jim Meyering  <meyering@lucent.com>
93365
93366         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
93367
93368 2000-06-21  Jim Meyering  <meyering@lucent.com>
93369
93370         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
93371
93372 2000-06-21  Jim Meyering  <meyering@lucent.com>
93373
93374         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
93375         (noinst_HEADERS): Add getstr.h.
93376
93377         * lib/getline.c (getstr): Move into a separate file.
93378         * lib/getstr.c (getstr): New file, extracted from getline.c, with
93379         the following changes: new parameter, delim2; both delim[12]
93380         parameters have type `int', not `char'.  The latter would lose
93381         with 8-bit delimiters.
93382         * lib/getstr.h: New file.
93383
93384 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
93385
93386         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
93387         than 1024, return a memory chunk of least possible size, instead
93388         of size PATH_MAX + 2. In the loop, increment the size proportionally.
93389         Use free/xmalloc instead of xrealloc to avoid copying for very long
93390         paths.
93391
93392 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
93393
93394         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
93395         the empty string.
93396
93397 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
93398
93399         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
93400         address, not strdup.  Include <stdlib.h> and don't declare free().
93401
93402 2000-06-19  Jim Meyering  <meyering@lucent.com>
93403
93404         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
93405
93406 2000-06-18  Jim Meyering  <meyering@lucent.com>
93407
93408         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
93409
93410         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
93411         `checking whether...' message to be consistent with that of the
93412         lstat test.
93413
93414 2000-06-18  Jim Meyering  <meyering@lucent.com>
93415
93416         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
93417         Besides, these days every porting target provides a mkdir function.
93418
93419         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
93420         needed. (this snippet comes from src/system.h).
93421
93422 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
93423
93424         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
93425
93426 2000-06-15  Paul Eggert  <eggert@twinsun.com>
93427
93428         * lib/human.c (adjust_value): New function.
93429         (human_readable_inexact): Apply rounding style even when
93430         printing approximate values.
93431
93432 2000-06-14  Paul Eggert  <eggert@twinsun.com>
93433
93434         * lib/human.c (human_readable_inexact): Allow an input block
93435         size that is not a multiple of the output block size, and vice versa.
93436         Reported by Piergiorgio Sartor.
93437
93438 2000-06-14  Paul Eggert  <eggert@twinsun.com>
93439
93440         * lib/getdate.y (get_date): Apply relative times after time
93441         zone indicator, not before.  Reported by Todd A. Jacobs.
93442
93443 2000-06-13  Jim Meyering  <meyering@lucent.com>
93444
93445         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
93446
93447         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
93448
93449 2000-06-12  Paul Eggert  <eggert@twinsun.com>
93450
93451         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
93452
93453 2000-06-12  Jim Meyering  <meyering@lucent.com>
93454
93455         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
93456         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
93457         optional argument.
93458         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
93459         the optional argument, `lib'.
93460
93461 2000-06-08  Jim Meyering  <meyering@lucent.com>
93462
93463         * m4/largefile.m4: Remove file (now that it's part of autoconf).
93464
93465 2000-06-04  Paul Eggert  <eggert@twinsun.com>
93466
93467         Rewrite largefile configuration so that we don't need to run
93468         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
93469         AC_CANONICAL_HOST in configure.in -- jmm]
93470
93471         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
93472         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
93473         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
93474         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
93475         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
93476         All uses changed.
93477         Instead of inspecting the output of getconf, try to compile the
93478         test program without and with the macro definition.
93479         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
93480         for getconf.  Instead, check for the needed flags by compiling
93481         test programs.
93482
93483 2000-06-04  Paul Eggert  <eggert@twinsun.com>
93484
93485         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
93486
93487 2000-06-04  Jim Meyering  <meyering@lucent.com>
93488
93489         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
93490         SunOS 4.1.4 for which gid_t is an unsigned type.
93491
93492 2000-06-03  Jim Meyering  <meyering@lucent.com>
93493
93494         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
93495         now that autoconf requires that.
93496
93497         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
93498         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
93499         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
93500
93501 2000-06-03  Jim Meyering  <meyering@lucent.com>
93502
93503         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
93504
93505 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
93506
93507         * m4/glibc21.m4: New file.
93508         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
93509
93510 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
93511
93512         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
93513         newer, don't install charset.alias.
93514         * lib/config.charset: Change the Linux/glibc rules so they become empty
93515         on glibc-2.1 or newer.
93516
93517 2000-06-02  Jim Meyering  <meyering@lucent.com>
93518
93519         * lib/mountlist.c: Back out last change.  Instead, do this...
93520         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
93521         me_dummy member using the same `ignore'-testing code.
93522         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
93523         fs_type strings.
93524         From Mark D. Roth.
93525
93526 2000-05-29  Jim Meyering  <meyering@lucent.com>
93527
93528         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
93529         mounts with the `ignore' attribute.  Based on a patch from
93530         Mark D. Roth.
93531
93532 2000-05-28  Jim Meyering  <meyering@lucent.com>
93533
93534         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
93535         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
93536         * m4/stat.m4: Likewise.
93537         * m4/lstat.m4: Likewise.
93538         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
93539
93540         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
93541         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
93542
93543 2000-05-26  Jim Meyering  <meyering@lucent.com>
93544
93545         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
93546
93547 2000-05-24  Jim Meyering  <meyering@lucent.com>
93548
93549         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
93550         autoconf requires that.
93551         * m4/lib-check.m4: Likewise.
93552         * m4/jm-macros.m4: Likewise.
93553         * m4/strftime.m4: Likewise.
93554
93555         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
93556         AC_CHECK_DECLS, now that autoconf requires that.
93557
93558 2000-05-22  Jim Meyering  <meyering@lucent.com>
93559
93560         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
93561         * m4/lstat.m4: Likewise.
93562
93563 2000-05-22  Jim Meyering  <meyering@lucent.com>
93564
93565         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
93566
93567 2000-05-20  Jim Meyering  <meyering@lucent.com>
93568
93569         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
93570         (jm_PREREQ): Use it.
93571
93572 2000-05-18  Jim Meyering  <meyering@lucent.com>
93573
93574         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
93575         back, too, since it may have been modified by allocate_entry.
93576         (hash_delete): Rewrite to use neither the assignment operator
93577         nor the comma operator in an if-expression.
93578
93579 2000-05-15  Paul Eggert  <eggert@twinsun.com>
93580
93581         * lib/closeout.c:
93582         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
93583         Remove; no longer needed.
93584         "quotearg.h": Add include.
93585         (file_name): Do not bother to explicitly initialize to NULL; it's less
93586         efficient on some hosts.
93587         (close_stdout_status): Remove test as to whether stdout was already
93588         closed; it breaks for the case "echo x | sort >&-".
93589         Quote file name colons.
93590         Do not assume that _("write error") lacks format strings.
93591
93592 2000-05-15  Jim Meyering  <meyering@lucent.com>
93593
93594         * lib/version-etc.c (version_etc_copyright): Update the copyright
93595         string used in all --version output.
93596
93597 2000-05-14  Jim Meyering  <meyering@lucent.com>
93598
93599         * lib/closeout.c (close_stdout_set_file_name): New function.
93600         (close_stdout_status): Use new file-scoped global.
93601         Return right away if fstat says the stdout file descriptor is invalid.
93602         * lib/closeout.h (close_stdout_set_file_name): Declare.
93603
93604 2000-05-10  Jim Meyering  <meyering@lucent.com>
93605
93606         * lib/closeout.c [default_exit_status]: New file-scoped variable.
93607         (close_stdout_set_status): New function.
93608         * lib/closeout.h (close_stdout_set_status): Declare.
93609
93610 2000-05-09  Jim Meyering  <meyering@lucent.com>
93611
93612         * m4/gettext.m4: Rename this...
93613         * m4/libintl.m4: ...to this.
93614
93615 2000-05-08  Jim Meyering  <meyering@lucent.com>
93616
93617         * lib/long-options.c: Don't include closeout.h.
93618         (parse_long_options): Don't call close_stdout for --version.
93619
93620 2000-05-06  Paul Eggert  <eggert@twinsun.com>
93621
93622         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
93623         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
93624         2.1.3 bug.  This avoids a clash when files like regex.c define
93625         _GNU_SOURCE.
93626
93627 2000-05-06  Jim Meyering  <meyering@lucent.com>
93628
93629         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
93630         (AC_REPLACE_FUNCS): Add strnlen.
93631
93632         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
93633         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
93634
93635         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
93636         AC_SEARCH_LIBS call for nanosleep.
93637         (LIB_NANOSLEEP): Set and AC_SUBST.
93638
93639 2000-05-06  Jim Meyering  <meyering@lucent.com>
93640
93641         * lib/strnlen.c: Undefine __strnlen and strnlen.
93642         [!weak_alias]: Define __strnlen to strnlen.
93643
93644         * lib/atexit.c: New file, from libiberty.
93645
93646 2000-05-06  Jim Meyering  <meyering@lucent.com>
93647
93648         * lib/closeout.c (close_stdout_status): Also check for errors on the
93649         stderr stream.
93650
93651 2000-05-05  Jim Meyering  <meyering@lucent.com>
93652
93653         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
93654         AC_SEARCH_LIBS call for clock_gettime.
93655         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
93656
93657         * m4/search-libs.m4: Update from autoconf.
93658
93659         su doesn't work on Solaris 2.6.
93660         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
93661         <shadow.h>.  Reported by Dragos Harabor.
93662
93663 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
93664
93665         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
93666         memcpy instead of xmalloc, xrealloc, path_concat.
93667         (locale_charset): Treat empty environment variables as absent.
93668         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
93669
93670 2000-05-04  Jim Meyering  <meyering@lucent.com>
93671
93672         * lib/getopt.c: Update from glibc.
93673         * lib/obstack.c: Likewise.
93674         * lib/obstack.h: Likewise.
93675         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
93676         file
93677
93678         * lib/regex.h: Likewise.
93679         * lib/strndup.c: Likewise.
93680         * lib/strnlen.c: New file, from glibc.
93681
93682 2000-05-03  Jim Meyering  <meyering@lucent.com>
93683
93684         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
93685
93686 2000-05-02  Paul Eggert  <eggert@twinsun.com>
93687
93688         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
93689         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
93690         compile-time test, rather than inspecting host and OS, to
93691         decide whether to define _LARGEFILE_SOURCE.
93692
93693 2000-05-01  Jim Meyering  <meyering@lucent.com>
93694
93695         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
93696
93697         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
93698         Based on a patch from Bruno Haible.
93699
93700 2000-05-01  Jim Meyering  <meyering@lucent.com>
93701
93702         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
93703
93704 2000-04-29  Jim Meyering  <meyering@lucent.com>
93705
93706         * lib/path-concat.c: Declare strdup only if it's not defined.
93707         * lib/canon-host.c: Likewise.
93708
93709 2000-04-28  Jim Meyering  <meyering@lucent.com>
93710
93711         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
93712         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
93713         is included first, then limits.h is included by locale.h by libintl.h.
93714         From John David Anglin.
93715
93716 2000-04-25  Jim Meyering  <meyering@lucent.com>
93717
93718         * lib/makepath.c (S_IRWXUGO): Define.
93719         (make_path): Always perform explicit chmod if MODE specifies any
93720         of the `special' permission bits.  Prompted by a bug report against
93721         install from Mate Wierdl and Joost van Baal.
93722
93723 2000-04-18  Jim Meyering  <meyering@lucent.com>
93724
93725         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
93726         (jm_PREREQ): Use it.
93727
93728 2000-04-18  Jim Meyering  <meyering@lucent.com>
93729
93730         * lib/README: New file.
93731
93732         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
93733         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
93734
93735 2000-04-17  Jim Meyering  <meyering@lucent.com>
93736
93737         Get it right :-)
93738         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
93739         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
93740         Suggestion from Akim Demaille.
93741
93742 2000-04-17  Jim Meyering  <meyering@lucent.com>
93743
93744         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
93745         the definition of it to rpl_strftime also defined-away the system's
93746         declaration.
93747
93748 2000-04-15  Jim Meyering  <meyering@lucent.com>
93749
93750         Use `C' to denote so-called `contiguous' files, the same way
93751         that tar does.
93752         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
93753         (ftypelet): Use S_ISCTG.
93754         From Michael Deutschmann.
93755
93756 2000-04-14  Jim Meyering  <meyering@lucent.com>
93757
93758         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
93759         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
93760         clobbered.
93761
93762 2000-04-14  Jim Meyering  <meyering@lucent.com>
93763
93764         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
93765
93766 2000-04-13  Jim Meyering  <meyering@lucent.com>
93767
93768         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
93769         AH_VERBATIM to insert required #ifndef into config.h.in.
93770         Suggestion from Akim Demaille.
93771
93772 2000-04-12  Jim Meyering  <meyering@lucent.com>
93773
93774         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
93775         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
93776         Christian Krackowizer.
93777
93778         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
93779         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
93780         (AC_SYS_LARGEFILE): Require.
93781         (AM_C_PROTOTYPES): Require.
93782
93783 2000-04-08  Jim Meyering  <meyering@lucent.com>
93784
93785         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
93786         names don't conflict.  Reported by Eli Zaretskii.
93787
93788 2000-04-07  Jim Meyering  <meyering@lucent.com>
93789
93790         * lib/putenv.c: Move inclusion of errno.h so it follows that of
93791         sys/types.h, to work around system header problems on AIX 3.2.5.
93792         From Bruno Haible.
93793
93794 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
93795
93796         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
93797         bug.  Deal with the different error behavior of Irix iconv.
93798
93799 2000-04-05  Paul Eggert  <eggert@twinsun.com>
93800
93801         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
93802         IRIX if the installer said otherwise.
93803
93804 2000-04-05  Jim Meyering  <meyering@lucent.com>
93805
93806         Portability tweaks required for ultrix4.3.
93807         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
93808         (jm_CHECK_DECLS): Add getutent to the list of functions.
93809         (_jm_DECL_HEADERS): Add utmpx.h.
93810         From John David Anglin.
93811
93812         * m4/strftime.m4: Back out the 2000-04-02 change.
93813         Instead of that change, simply undefine putenv in the test program.
93814
93815 2000-04-05  Jim Meyering  <meyering@lucent.com>
93816
93817         Portability tweaks required for ultrix4.3.
93818         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
93819         getutent.
93820         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
93821         * lib/canon-host.c: Declare strdup.
93822         * lib/path-concat.c: Likewise.
93823         From John David Anglin.
93824
93825 2000-04-04  Jim Meyering  <meyering@lucent.com>
93826
93827         Be more DOS 8.3-friendly.
93828         * lib/ref-add.sin: Renamed from ref-add.sed.in.
93829         * lib/ref-del.sin: Renamed from ref-del.sed.in.
93830         * lib/Makefile.am: Reflect renaming.
93831         Reported by Eli Zaretskii.
93832
93833         Use a temporary file name that won't clash with `charset.alias'
93834         in the DOS 8.3 name space.
93835         * lib/Makefile.am (charset_tmp): Define.
93836         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
93837         (uninstall-local): Likewise.
93838         Reported by Eli Zaretskii.
93839
93840 2000-04-03  Jim Meyering  <meyering@lucent.com>
93841
93842         * m4/gettext.m4: Fix typo in comment.
93843
93844         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
93845         textutils/configure.in).  Suggestion from Paul Eggert.
93846         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
93847
93848 2000-04-02  Paul Eggert  <eggert@twinsun.com>
93849
93850         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
93851         variable in the shell rather than using putenv, which isn't
93852         portable.  This avoids the configure-time inter-test dependency
93853         on the potentially-renamed putenv function.
93854
93855 2000-03-30  Paul Eggert  <eggert@twinsun.com>
93856
93857         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
93858         before checking struct stat.st_blksize, so that
93859         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
93860
93861 2000-03-29  Paul Eggert  <eggert@twinsun.com>
93862
93863         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
93864         since strftime.c uses HAVE_STRFTIME to decide whether to use
93865         the underlying strftime.
93866
93867 2000-03-29  Paul Eggert  <eggert@twinsun.com>
93868
93869         * lib/time/strftime.c (my_strftime): Make sure we call the system
93870         strftime, not ourselves, when invoking the underlying strftime.
93871
93872 2000-03-24  Jim Meyering  <meyering@lucent.com>
93873
93874         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
93875         (charset_alias): Define.
93876         (install-exec-local): Factor out common code.
93877         (uninstall-local): Split lines longer than 80.
93878         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
93879         (SUFFIXES): Define.
93880         (.sed.in.sed): New rule.  Don't redirect directly to $@.
93881         (CLEANFILES): Add ref-add.sed and ref-del.sed.
93882
93883 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
93884
93885         * lib/config.charset: Output a line containing "Packages using this
93886         file".
93887         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
93888         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
93889         ref-del.sed): New rules.
93890
93891 2000-03-17  Jim Meyering  <meyering@lucent.com>
93892
93893         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
93894         Otherwise, include <strings.h>
93895
93896 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
93897
93898         * lib/unicodeio.c (utf8_wctomb): New function.
93899         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
93900         format instead of in UCS-4 with platform dependent endianness.
93901
93902 2000-03-10  Jim Meyering  <meyering@lucent.com>
93903
93904         * m4/lib-check.m4: Look for getspnam in -lgen, too.
93905         From Marco Franzen.
93906
93907 2000-03-07  Paul Eggert  <eggert@twinsun.com>
93908
93909         * lib/savedir.c (savedir): Work even if directory size is
93910         negative; this can happen with some screwy NFS configurations.
93911
93912 2000-03-06  Jim Meyering  <meyering@lucent.com>
93913
93914         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
93915         if it's NULL (because we ran out of memory).  From Bruno Haible.
93916
93917 2000-03-05  Jim Meyering  <meyering@lucent.com>
93918
93919         * lib/localcharset.c ("path-concat.h"): Include.
93920         (get_charset_aliases): Use path_concat instead of ANSI string
93921         concatenation.
93922
93923         * lib/unicodeio.h (PARAMS): Define.
93924         Use it to guard prototype.
93925
93926 2000-03-04  Jim Meyering  <meyering@lucent.com>
93927
93928         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
93929         for lib/localcharset.c.
93930
93931 2000-03-04  Jim Meyering  <meyering@lucent.com>
93932
93933         * lib/Makefile.am (install-exec-local): Create $(libdir) before
93934         installing into it.
93935         (uninstall-local): Uncomment this rule so `make distcheck' works
93936         once again.
93937
93938         * lib/unicodeio.c (<errno.h>): Include it.
93939         (errno): Declare if not defined.
93940
93941         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
93942
93943         * lib/config.charset: New version, incorporating remarks from a linux
93944         i18n mailing list.  From Bruno Haible.
93945
93946 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
93947
93948         * m4/codeset.m4: New file.
93949         * m4/iconv.m4: New file.
93950         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
93951
93952 2000-03-03  Jim Meyering  <meyering@lucent.com>
93953
93954         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
93955
93956 2000-03-02  Jim Meyering  <meyering@lucent.com>
93957
93958         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
93959         the messages come out on separate lines.
93960
93961         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
93962         rather than jm_CHECK_DECLARATIONS.
93963         * m4/decl.m4: Remove now-unused file.
93964
93965         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
93966         geteuid.
93967
93968 2000-03-02  Jim Meyering  <meyering@lucent.com>
93969
93970         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
93971
93972 2000-03-01  Jim Meyering  <meyering@lucent.com>
93973
93974         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
93975         * lib/unicodeio.c: Likewise.
93976
93977 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
93978
93979         * lib/config.charset: New file.
93980         * lib/localcharset.c: New file.
93981         * lib/unicodeio.h, lib/unicodeio.c: New files.
93982         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
93983         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
93984         (noinst_HEADERS): Add unicodeio.h.
93985         (all-local, install-exec-local, charset.alias): New targets.
93986
93987 2000-02-28  Paul Eggert  <eggert@twinsun.com>
93988
93989         * lib/quotearg.c (ALERT_CHAR): New macro.
93990         (quotearg_buffer_restyled): Use it.
93991
93992 2000-02-27  Jim Meyering  <meyering@lucent.com>
93993
93994         * m4/check-decl.m4: Add getenv to the list.
93995
93996 2000-02-27  Jim Meyering  <meyering@lucent.com>
93997
93998         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
93999         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
94000
94001         * lib/backupfile.c: Guard inclusion of stdlib.h with
94002         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
94003         Declare malloc if needed.
94004
94005         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
94006         `#ifndef HAVE_DECL..'
94007         now that autoconf always defines the HAVE_DECL_ symbols.
94008         * lib/human.c: Likewise.
94009         * lib/same.c: Likewise.
94010         * lib/strtoumax.c: Likewise.
94011
94012         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
94013         declaration check was not run.
94014         * lib/hash.c: Likewise.
94015         * lib/human.c: Likewise.
94016         * lib/same.c: Likewise.
94017         * lib/strtoumax.c: Likewise.
94018
94019         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
94020         `.', then first look up the entire `.'-containing string as a login
94021         name.
94022
94023 2000-02-23  Jim Meyering  <meyering@lucent.com>
94024
94025         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
94026         in place of my hack.
94027
94028 2000-02-18  Paul Eggert  <eggert@twinsun.com>
94029
94030         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
94031         (textint): New typedef.
94032         (parser_control): Member year changed from int to textint.
94033         All uses changed.
94034         (YYSTYPE): Removed; replaced by %union with int and textint members.
94035         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
94036         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
94037         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
94038         (tSNUMBER, tUNUMBER): Now of type <textintval>.
94039         (date, number, to_year): Use width of number in digits, not its value,
94040         to determine whether it's a 2-digit year, or a 2-digit time.
94041         (yylex): Store number of digits of numeric tokens.
94042         Reported by John Kendall.
94043
94044         (parser_control): Changed from struct parser_control to typedef (for
94045         consistency).  All uses changed.
94046
94047         (tID): Removed; not used.
94048         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
94049
94050 2000-02-14  Paul Eggert  <eggert@twinsun.com>
94051
94052         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
94053         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
94054
94055 2000-02-12  Jim Meyering  <meyering@lucent.com>
94056
94057         * lib/userspec.c (ISDIGIT): Define it.
94058         (isdigit): Remove definition.
94059         (is_number): Use ISDIGIT, not isdigit.
94060         <libintl.h>: Include.
94061         (_ and N_): Define.
94062         (parse_user_spec): Mark translatable strings.
94063
94064 2000-02-10  Jim Meyering  <meyering@lucent.com>
94065
94066         With these changes, nanosleep.[ch] are finally enough like the other
94067         lib/* replacement files to compile on a few more losing systems.
94068
94069         * lib/nanosleep.h: Don't include config.h.
94070         Remove prototype from declaration of nanosleep.
94071         (PARAMS): Remove now-unneeded definition.
94072         * lib/nanosleep.c: #undef nanosleep.
94073         (rpl_nanosleep): Rename from nanosleep.
94074
94075 2000-02-10  Jim Meyering  <meyering@lucent.com>
94076
94077         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
94078         gnu_nanosleep to rpl_nanosleep.
94079
94080 2000-02-09  Jim Meyering  <meyering@lucent.com>
94081
94082         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
94083         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
94084
94085 2000-02-08  Akim Demaille  <akim@epita.fr>
94086
94087         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
94088         `[' and `]' and remove uses of `changequote'.
94089         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
94090         (AC_SYS_LARGEFILE): Likewise.
94091         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
94092         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
94093         of changequote.
94094         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
94095         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
94096         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
94097         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
94098
94099 2000-02-05  Jim Meyering  <meyering@lucent.com>
94100
94101         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
94102         Remove explicit use of AC_HEADER_TIME.  It is required by
94103         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
94104         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
94105         in autoconf whereby the expansion of the latter ended up preceding
94106         the expansion of its prerequisite, AC_HEADER_TIME.
94107         Reported by Volker Borchert.
94108
94109 2000-02-03  Jim Meyering  <meyering@lucent.com>
94110
94111         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
94112
94113 2000-02-03  Jim Meyering  <meyering@lucent.com>
94114
94115         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
94116         rather than with `#if HAVE_UTMPNAME'.
94117
94118 2000-02-02  Jim Meyering  <meyering@lucent.com>
94119
94120         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
94121         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
94122         Reported by Eli Zaretskii.
94123
94124 2000-02-01  Jim Meyering  <meyering@lucent.com>
94125
94126         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
94127
94128 2000-01-31  Jim Meyering  <meyering@lucent.com>
94129
94130         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
94131         functions.  Add the time.h and sys/time.h headers along with the
94132         AC_REQUIRE'ment of AC_HEADER_TIME.
94133
94134 2000-01-31  Jim Meyering  <meyering@lucent.com>
94135
94136         * lib/nanosleep.h (nanosleep): Guard declaration with
94137         `#if ! HAVE_DECL_NANOSLEEP'.
94138         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
94139         the declaration in that vendor's sys/timers.h.
94140         Reported by Christian Krackowizer.
94141
94142         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
94143         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
94144         (ISPRINT): Likewise.
94145         Reported by Tom Tromey.
94146
94147 2000-01-30  Jim Meyering  <meyering@lucent.com>
94148
94149         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
94150
94151         * m4/prereq.m4 (utmp_includes): Define.
94152         Check for ut_user and ut_name members in both struct utmpx
94153         and struct utmp.
94154
94155 2000-01-30  Jim Meyering  <meyering@lucent.com>
94156
94157         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
94158         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
94159         header files where only utmpx.ut_user is declared.
94160
94161         * lib/readutmp.h (UT_USER): Define.
94162
94163 2000-01-29  Jim Meyering  <meyering@lucent.com>
94164
94165         * m4/lib-check.m4: New file containing library-related checks from
94166         fileutils and sh-utils (textutils had none).
94167
94168 2000-01-28  Jim Meyering  <meyering@lucent.com>
94169
94170         * m4/perl.m4: Change format of warning message to look more like that
94171         from the missing script.  Suggestion from François Pinard.
94172
94173 2000-01-25  Jim Meyering  <meyering@lucent.com>
94174
94175         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
94176         well as time.h in the compile check.
94177         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
94178         Fix typo in cross-compiling case: s/yes/no/.
94179
94180 2000-01-23  Jim Meyering  <meyering@lucent.com>
94181
94182         * m4/jm-macros.m4: Move df-related tests here from
94183         fileutils/configure.in
94184
94185         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
94186         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
94187
94188         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
94189         s/space/ac_fsusage_space/.
94190         (jm_FILE_SYSTEM_USAGE): Take two parameters.
94191
94192         * m4/ftruncate.m4: New file (derived from part of
94193         fileutils/configure.in).
94194         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
94195         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
94196
94197         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
94198         AC_SUBST these here, rather than just in sh-util/configure.in, so
94199         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
94200         all the same.
94201         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
94202         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
94203         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
94204         (AC_SUBST(POW_LIBM)): Likewise.
94205         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
94206
94207 2000-01-23  Jim Meyering  <meyering@lucent.com>
94208
94209         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
94210         obstack.c.
94211
94212 2000-01-22  Jim Meyering  <meyering@lucent.com>
94213
94214         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
94215
94216         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
94217
94218         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
94219         configure.in
94220         (AC_CHECK_HEADERS): Likewise for sh-utils.
94221         (AC_CHECK_HEADERS): Likewise for textutils.
94222         Merge the three lists of headers.
94223
94224         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
94225         from fileutils' configure.in.
94226
94227         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
94228         code. Moved tests into their own function (_jm_DECL_HEADERS) in
94229         check-decl.m4.
94230
94231         * m4/check-decl.m4: Use #if rather than #ifdef.
94232         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
94233         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
94234         (_jm_DECL_HEADERS): Define new function.
94235         (jm_CHECK_DECLARATIONS): Require it.
94236
94237 2000-01-22  Jim Meyering  <meyering@lucent.com>
94238
94239         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
94240         [! HAVE_DECL_STRTOULL]: Declare strtoull.
94241         Required for some AIX systems.  Reported by Christian Krackowizer.
94242         [TESTING] (main): New function.
94243
94244         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
94245         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
94246         letters.
94247
94248         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
94249         iswprint.
94250
94251         * lib/strverscmp.c (ISDIGIT): Define.
94252         (strverscmp): Use ISDIGIT, not isdigit.
94253
94254 2000-01-19  Jim Meyering  <meyering@lucent.com>
94255
94256         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
94257         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
94258         defines `struct timespec' in <sys/time.h>
94259
94260         * m4/c-bs-a.m4: Remove uses of changequote altogether.
94261         Thanks to Akim for explaining.
94262
94263 2000-01-17  Paul Eggert  <eggert@twinsun.com>
94264
94265         * lib/nanosleep.c (nanosleep):
94266         Don't use SA_INTERRUPT to decide whether to call sigaction, as
94267         POSIX.1 doesn't require SA_INTERRUPT and some systems
94268         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
94269         it's been part of POSIX.1 since day 1 (in 1988).
94270
94271 2000-01-17  Jim Meyering  <meyering@lucent.com>
94272
94273         * lib/interlock: Remove unused file.  Reported by François Pinard.
94274
94275 2000-01-16  Paul Eggert  <eggert@twinsun.com>
94276
94277         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
94278         alert, backslash, formfeed, and vertical tab unnecessarily in
94279         shell quoting style.
94280
94281 2000-01-16  Jim Meyering  <meyering@lucent.com>
94282
94283         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
94284         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
94285         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
94286         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
94287
94288 2000-01-16  Jim Meyering  <meyering@lucent.com>
94289
94290         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
94291         because the latter didn't work.
94292
94293 2000-01-15  Jim Meyering  <meyering@lucent.com>
94294
94295         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
94296         (AC_REPLACE_FUNCS): Add memcpy and memset.
94297         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
94298         Add strpbrk.
94299         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
94300
94301 2000-01-12  Jim Meyering  <meyering@lucent.com>
94302
94303         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
94304         (jm_PREREQ): Use it.
94305         (jm_PREREQ_READUTMP): New macro.
94306         (jm_PREREQ): Use it.
94307
94308 2000-01-11  Paul Eggert  <eggert@twinsun.com>
94309
94310         Quote multibyte characters correctly.
94311         * m4/c-bs-a.m4: New file.
94312         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
94313         (jm_PREREQ): Use it.
94314
94315 2000-01-11  Paul Eggert  <eggert@twinsun.com>
94316
94317         * m4/uintmax_t.m4: Port to autoconf 2.13.
94318
94319 2000-01-08  Jim Meyering  <meyering@ascend.com>
94320
94321         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
94322         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
94323
94324 2000-01-04  Jim Meyering  <meyering@ascend.com>
94325
94326         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
94327         jm_STRUCT_DIRENT_D_TYPE.
94328         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
94329         jm_STRUCT_DIRENT_D_INO.
94330         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
94331         jm_STRUCT_UTIMBUF.
94332         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
94333         renamings.
94334         * m4/utime.m4: Likewise.
94335
94336         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
94337         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
94338
94339 2000-01-03  Paul Eggert  <eggert@twinsun.com>
94340
94341         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
94342         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
94343
94344 2000-01-02  Jim Meyering  <meyering@ascend.com>
94345
94346         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
94347         remember if this is necessary.
94348
94349 1999-12-26  Jim Meyering  <meyering@ascend.com>
94350
94351         * m4/jm-macros.m4: Use it here.
94352         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
94353
94354 1999-12-23  Jim Meyering  <meyering@ascend.com>
94355
94356         * m4/jm-macros.m4: Check for clock_gettime (moved from
94357         fileutils/configure.in)
94358         Check for gettimeofday.
94359
94360 1999-12-20  Jim Meyering  <meyering@ascend.com>
94361
94362         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
94363         autoconf-2.14a-1999-12-20.
94364
94365 1999-12-19  Jim Meyering  <meyering@ascend.com>
94366
94367         * m4/lstat-slash.m4: New file.
94368         * m4/jm-macros.m4: Use the new macro:
94369         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
94370
94371 1999-12-07  Jim Meyering  <meyering@ascend.com>
94372
94373         * m4/perl.m4: Require that File::Compare be available, too.
94374         Too many systems seem to lack it.
94375
94376         * m4/strftime.m4: Add checks for most of the cpp macros tested in
94377         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
94378
94379 1999-11-18  Paul Eggert  <eggert@twinsun.com>
94380
94381         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
94382         problem with the QNX 4.25 shell, which doesn't propagate exit
94383         status of failed commands inside shell assignments.
94384
94385 1999-11-17  Jim Meyering  <meyering@ascend.com>
94386
94387         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
94388
94389 1999-11-07  Jim Meyering  <meyering@ascend.com>
94390
94391         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
94392
94393 1999-11-06  Jim Meyering  <meyering@ascend.com>
94394
94395         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
94396         * m4/jm-macros.m4 (jm_MACROS): Use it here.
94397
94398 1999-11-05  Jim Meyering  <meyering@ascend.com>
94399
94400         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
94401         configure.in of textutils, fileutils, and sh-utils into this one
94402         (shared between those packages) file.
94403         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
94404         AC_STRUCT_ST_BLKSIZE.
94405
94406 1999-11-03  Jim Meyering  <meyering@ascend.com>
94407
94408         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
94409         of AC_CHECK_TYPE checks includes unistd.h.
94410         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
94411         Suggestion from Akim Demaille.
94412
94413 1999-10-30  Jim Meyering  <meyering@ascend.com>
94414
94415         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
94416         m4-quoted string.
94417         * m4/ls-mntd-fs.m4: Likewise.
94418         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
94419         * m4/jm-winsz1.m4: Likewise.
94420
94421         * m4/const.m4: Remove file, since the fix made it into the experimental
94422         version of autoconf.
94423         * m4/mktime.m4: Likewise.
94424
94425         * m4/check-type.m4: Remove file, now that the latest version of
94426         AC_CHECK_TYPE takes a third arg to specify additional #includes.
94427
94428         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
94429         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
94430         AC_CHECK_TYPE.
94431
94432 1999-10-04  Jim Meyering  <meyering@ascend.com>
94433
94434         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
94435
94436 1999-09-22  Paul Eggert  <eggert@twinsun.com>
94437
94438         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
94439         2.95.1 bug with HP-UX 10.20.
94440
94441 1999-09-17  Jim Meyering  <meyering@ascend.com>
94442
94443         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
94444         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
94445         due to missing strdup (against sh-utils-2.0).
94446
94447 1999-08-29  Jim Meyering  <meyering@ascend.com>
94448
94449         * m4/jm-macros.m4: Require jm_BISON.
94450         * m4/bison.m4: New file.
94451
94452 1999-08-17  Paul Eggert  <eggert@twinsun.com>
94453
94454         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
94455         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
94456
94457 1999-08-05  Jim Meyering  <meyering@ascend.com>
94458
94459         * m4/getline.m4: Rename test file from conftestdata to conftest.data
94460         to avoid conflicts with `conftest' on 8+3 filesystems.
94461         Suggestion from Eli Zaretskii.
94462
94463 1999-08-04  Jim Meyering  <meyering@ascend.com>
94464
94465         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
94466         fileutils and sh-utils (textutils's getline test was inadequate).
94467         (AM_FUNC_GETLINE): Run this test.
94468         (AC_CHECK_FUNCS): Check for getdelim.
94469         Reported by Bob Proulx.
94470
94471 1999-08-02  Jim Meyering  <meyering@ascend.com>
94472
94473         * m4/jm-macros.m4: Add a comment.
94474
94475 1999-08-01  Paul Eggert  <eggert@twinsun.com>
94476
94477         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
94478         <inttypes.h> defines strtoumax as a macro (and not as a
94479         function).
94480
94481 1999-08-01  Paul Eggert  <eggert@twinsun.com>
94482
94483         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
94484         that we can shift, multiply and divide unsigned long long
94485         values; Ultrix cc can't do it.
94486
94487 1999-08-01  Paul Eggert  <eggert@twinsun.com>
94488
94489         * m4/mktime.m4: New file, which is a preview of what should appear
94490         in the next public autoconf release.
94491
94492 1999-08-01  Paul Eggert  <eggert@twinsun.com>
94493
94494         * m4/lfs.m4: Remove this file.
94495         * m4/largefile.m4: New file.  It contains the old contents of
94496         lfs.m4, except that all names with prefix AC_LFS have been
94497         changed to use the prefix AC_SYS_LARGEFILE instead, to be
94498         compatible with future autoconf versions.  Also, some minor m4
94499         quoting problems have been fixed.
94500
94501 1999-08-01  Paul Eggert  <eggert@twinsun.com>
94502
94503         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
94504         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
94505         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
94506         and simplify the shell code.
94507
94508 1999-08-01  Jim Meyering  <meyering@ascend.com>
94509
94510         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
94511         m4.
94512
94513 1999-07-20  Jim Meyering  <meyering@ascend.com>
94514
94515         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
94516
94517 1999-07-15  Jim Meyering  <meyering@ascend.com>
94518
94519         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
94520
94521 1999-05-22  Jim Meyering  <meyering@ascend.com>
94522
94523         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
94524
94525 1999-05-20  Jim Meyering  <meyering@ascend.com>
94526
94527         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
94528         Add a colon after each `then' in case $4 is empty.
94529
94530 1999-05-16  Jim Meyering  <meyering@ascend.com>
94531
94532         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
94533
94534 1999-05-10  Jim Meyering  <meyering@ascend.com>
94535
94536         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
94537
94538         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
94539         AC_FUNC_MKTIME.
94540
94541 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
94542
94543         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
94544
94545 1999-05-04  Paul Eggert  <eggert@twinsun.com>
94546
94547         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
94548         not CPPFLAGS, so that linking works correctly in IRIX.
94549
94550 1999-04-30  Paul Eggert  <eggert@twinsun.com>
94551
94552         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
94553
94554 1999-04-20  Paul Eggert  <eggert@twinsun.com>
94555
94556         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
94557         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
94558         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
94559         jm_AC_TYPE_UNSIGNED_LONG_LONG.
94560         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
94561
94562         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
94563
94564 1999-04-20  Jim Meyering  <meyering@ascend.com>
94565
94566         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
94567         AC_REPLACE xstroull if necessary.  From Paul Eggert.
94568         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
94569
94570 1999-04-18  Jim Meyering  <meyering@ascend.com>
94571
94572         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
94573         * m4/jm-macros.m4: Use it.
94574
94575 1999-04-06  Jim Meyering  <meyering@ascend.com>
94576
94577         * m4/strftime.m4: Remove test for %f.
94578
94579 1999-03-29  Jim Meyering  <meyering@ascend.com>
94580
94581         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
94582         superset of the AC_TYPE_* checks in the textutils, fileutils,
94583         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
94584         AC_TYPE_PID_T.
94585
94586 1999-03-28  Jim Meyering  <meyering@ascend.com>
94587
94588         * m4/jm-macros.m4: Define GNU_PACKAGE here.
94589         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
94590         replaced e.g., in the *.sh files of the sh-utils.
94591
94592 1999-03-20  Jim Meyering  <meyering@ascend.com>
94593
94594         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
94595         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
94596         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
94597
94598 1999-03-19  Jim Meyering  <meyering@ascend.com>
94599
94600         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
94601
94602 1999-03-12  Jim Meyering  <meyering@ascend.com>
94603
94604         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
94605
94606 1999-03-07  Jim Meyering  <meyering@ascend.com>
94607
94608         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
94609         declared.
94610
94611 1999-02-17  Jim Meyering  <meyering@ascend.com>
94612
94613         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
94614         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
94615
94616 1999-02-07  Jim Meyering  <meyering@ascend.com>
94617
94618         * m4/group-member.m4: New file -- extracted from sh-utils'
94619         configure.in.
94620
94621         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
94622         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
94623
94624 1999-02-06  Jim Meyering  <meyering@ascend.com>
94625
94626         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
94627         * m4/fnmatch.m4: Likewise.
94628         * m4/getgroups.m4: Likewise.
94629         * m4/lstat.m4: Likewise.
94630         * m4/malloc.m4: Likewise.
94631         * m4/putenv.m4: Likewise.
94632         * m4/realloc.m4: Likewise.
94633         * m4/regex.m4: Likewise.
94634         * m4/stat.m4: Likewise.
94635         * m4/strftime.m4: Likewise.
94636         Suggestion from Alain Magloire.
94637
94638         * m4/chown.m4: Use `.$ac_objext', not `.o'.
94639         * m4/fnmatch.m4: Likewise.
94640         * m4/getgroups.m4: Likewise.
94641         * m4/getline.m4: Likewise.
94642         * m4/lstat.m4: Likewise.
94643         * m4/malloc.m4: Likewise.
94644         * m4/memcmp.m4: Likewise.
94645         * m4/putenv.m4: Likewise.
94646         * m4/realloc.m4: Likewise.
94647         * m4/regex.m4: Likewise.
94648         * m4/stat.m4: Likewise.
94649         * m4/strftime.m4: Likewise.
94650         Suggestion from Alain Magloire.
94651
94652         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
94653         an argument.
94654
94655         * m4/regex.m4: Add a run-time Test for proper operation of
94656         re_compile_pattern.
94657
94658 1999-01-31  Jim Meyering  <meyering@ascend.com>
94659
94660         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
94661
94662 1999-01-30  Jim Meyering  <meyering@ascend.com>
94663
94664         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
94665
94666         * m4/jm-mktime.m4: Make this a wrapper around the official
94667         AM_FUNC_MKTIME rather than my private copy, now that the official one
94668         is up to date.
94669         * m4/mktime.m4: Remove file.
94670
94671         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
94672         * m4/uptime.m4: Likewise.
94673         * m4/uintmax_t.m4: Likewise.
94674
94675 1999-01-28  Jim Meyering  <meyering@ascend.com>
94676
94677         * m4/jm-macros.m4: Use jm_AFS.
94678         * m4/afs.m4: New file (from fileutils' configure.in).
94679
94680         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
94681         * m4/chown.m4: Likewise.
94682         * m4/d-ino.m4: Likewise.
94683         * m4/d-type.m4: Likewise.
94684         * m4/fnmatch.m4: Likewise.
94685         * m4/getgroups.m4: Likewise.
94686         * m4/gettext.m4: Likewise.
94687         * m4/jm-mktime.m4: Likewise.
94688         * m4/jm-winsz2.m4: Likewise.
94689         * m4/lcmessage.m4: Likewise.
94690         * m4/ls-mntd-fs.m4: Likewise.
94691         * m4/malloc.m4: Likewise.
94692         * m4/memcmp.m4: Likewise.
94693         * m4/putenv.m4: Likewise.
94694         * m4/realloc.m4: Likewise.
94695         * m4/st_mtim.m4: Likewise.
94696         * m4/strftime.m4: Likewise.
94697
94698 1999-01-16  Jim Meyering  <meyering@ascend.com>
94699
94700         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
94701         (ARGMATCH_DIE_DECL): Define.
94702
94703 1999-01-12  Jim Meyering  <meyering@ascend.com>
94704
94705         * m4/Makefile.am.in: Rewrite to avoid using fmt.
94706         Reported by Lars Hecking.
94707
94708 1999-01-10  Jim Meyering  <meyering@ascend.com>
94709
94710         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
94711         gross kludge.
94712         * m4/inttypes_h.m4: Likewise.
94713         * m4/lstat.m4: Likewise.
94714         * m4/malloc.m4: Likewise.
94715         * m4/readdir.m4: Likewise.
94716         * m4/realloc.m4: Likewise.
94717         * m4/st_dm_mode.m4: Likewise.
94718         * m4/stat.m4: Likewise.
94719         * m4/utimbuf.m4: Likewise.
94720         * m4/utimes.m4: Likewise.
94721
94722         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
94723         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
94724         comments in config.h.in are meaningful.
94725
94726         * m4/jm-macros.m4: Require autoconf-2.13 here.
94727
94728         * m4/regex.m4: By default, don't use the included regex.c on systems
94729         with glibc 2.  Suggestion from Uli Drepper.
94730
94731 1999-01-02  Jim Meyering  <meyering@ascend.com>
94732
94733         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
94734
94735 1998-12-18  Jim Meyering  <meyering@ascend.com>
94736
94737         * m4/Makefile.am.in (Makefile.am): Simplify rule.
94738         Based on a suggestion from Lars Hecking.
94739
94740 1998-11-16  Paul Eggert  <eggert@twinsun.com>
94741
94742         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
94743
94744 1998-11-16  Jim Meyering  <meyering@ascend.com>
94745
94746         * m4/lfs.m4: Double-quote the `uname...` expression.
94747
94748 1998-11-14  Jim Meyering  <meyering@ascend.com>
94749
94750         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
94751         * m4/stat.m4: Likewise.
94752
94753 1998-11-03  Jim Meyering  <meyering@ascend.com>
94754
94755         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
94756         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
94757
94758 1998-10-18  Jim Meyering  <meyering@ascend.com>
94759
94760         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
94761
94762 1998-10-17  Jim Meyering  <meyering@ascend.com>
94763
94764         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
94765         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
94766         calls for those previously hard-coded headers.  Instead, take a new
94767         parameter.
94768         (jm_CHECK_DECLARATIONS): Reflect interface change.
94769         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
94770         (jm_CHECK_DECL_LOCALTIME_R): New macro.
94771
94772         * m4/mktime.m4: Test for spring-forward gap before long-running test.
94773
94774 1998-10-14  Jim Meyering  <meyering@ascend.com>
94775
94776         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
94777         instead of "TZ=America/Vancouver".  From Paul Eggert.
94778
94779 1998-10-11  Jim Meyering  <meyering@ascend.com>
94780
94781         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
94782         This adds a test for a recently added compatibility fix for mktime.c.
94783         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
94784
94785 1998-09-27  Jim Meyering  <meyering@ascend.com>
94786
94787         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
94788
94789         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
94790         ../configure.in, including a change from Gordon Matzigkeit to allow
94791         cross-compiling for the Hurd.
94792
94793         * m4/glibc.m4: New file/macro to test for the GNU C Library
94794         versions 1 and 2.  From Gordon Matzigkeit.
94795         Indent.
94796
94797 1998-09-21  Jim Meyering  <meyering@ascend.com>
94798
94799         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
94800
94801 1998-08-18  Paul Eggert  <eggert@twinsun.com>
94802
94803         Port nanosecond-resolution times to UnixWare 2.1.2 and
94804         pedantic Solaris 2.6.
94805
94806         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
94807         AC_STRUCT_ST_MTIM.
94808         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
94809         Generate name of ns member, instead of just 1 or undef.
94810         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
94811
94812 1998-08-15  Jim Meyering  <meyering@ascend.com>
94813
94814         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
94815         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
94816         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
94817         instead of jm_TYPE_SSIZE_T.
94818
94819 1998-08-12  Jim Meyering  <meyering@ascend.com>
94820
94821         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
94822
94823 1998-08-02  Jim Meyering  <meyering@ascend.com>
94824
94825         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
94826         in acconfig.h manually.
94827
94828 1998-07-31  Paul Eggert  <eggert@twinsun.com>
94829
94830         * m4/st_mtim.m4: New file.
94831
94832 1998-07-28  Jim Meyering  <meyering@ascend.com>
94833
94834         * m4/utimes.m4: Undef stat.
94835
94836 1998-07-25  Jim Meyering  <meyering@ascend.com>
94837
94838         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
94839         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
94840
94841 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
94842
94843         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
94844         uid and gid actually remain unchanged.
94845
94846 1998-07-07  Jim Meyering  <meyering@ascend.com>
94847
94848         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
94849
94850 1998-07-04  Jim Meyering  <meyering@ascend.com>
94851
94852         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
94853         to prove that this macro can be used in packages without regex.c.
94854
94855 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
94856
94857         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
94858         is to be used.
94859
94860 1998-07-03  Jim Meyering  <meyering@ascend.com>
94861
94862         * m4/gettext.m4: Add -lintl if it's found to be necessary.
94863
94864         * m4/gettext.m4: New file -- from gettext-0.10.35.
94865         * m4/lcmessage.m4: Likewise.
94866         * m4/progtest.m4: Likewise.
94867
94868         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
94869         * m4/jm-macros.m4: Require the new macro.
94870
94871 1998-06-29  Jim Meyering  <meyering@ascend.com>
94872
94873         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
94874         for the definition of NGROUPS (used in a system header included
94875         by sys/mount.h).
94876
94877 1998-06-28  Jim Meyering  <meyering@ascend.com>
94878
94879         * m4/ls-mntd-fs.m4: New file.
94880         * m4/fstypename.m4: New file.
94881
94882         * m4/jm-macros.m4: Require the new macro.
94883         * m4/jm-glibc-io.m4: New file.
94884
94885 1998-05-19  Jim Meyering  <meyering@ascend.com>
94886
94887         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
94888         * m4/lchown.m4: New file.
94889
94890         * m4/Makefile.am.in: New file.
94891         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
94892
94893 1998-05-14  Jim Meyering  <meyering@ascend.com>
94894
94895         * m4/Makefile.am (EXTRA_DIST): Add them.
94896         * m4/jm-macros.m4: New file.
94897         * m4/utimbuf.m4: New file.
94898
94899 1998-05-12  Jim Meyering  <meyering@ascend.com>
94900
94901         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
94902
94903 1998-05-11  Jim Meyering  <meyering@ascend.com>
94904
94905         * m4/isc-posix.m4: New file.
94906
94907 1998-05-10  Jim Meyering  <meyering@ascend.com>
94908
94909         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
94910
94911 1998-05-09  Jim Meyering  <meyering@ascend.com>
94912
94913         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
94914         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
94915         with automake.
94916
94917         * m4/ssize_t.m4: New file.
94918         * m4/mktime.m4: Remove file -- the new automake has this now.
94919
94920 1998-04-26  Jim Meyering  <meyering@ascend.com>
94921
94922         * m4/assert.m4: New file.
94923         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
94924
94925 1998-04-05  Jim Meyering  <meyering@ascend.com>
94926
94927         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
94928         (jm_PREREQ): Use it here.
94929
94930 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
94931
94932         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
94933         in acconfig.h.
94934
94935 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
94936
94937         * m4/prereq.m4: New file.
94938         * m4/error.m4: New file.
94939         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
94940
94941 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
94942
94943         * m4/getline.m4: Don't set am_cv_func_working_getline before the
94944         cache-check for the same variable -- that defeated the purpose of
94945         the test; the test program was never run.  This was a problem only
94946         on systems with losing getline functions -- HP-UX 10.20 is one.
94947         Reported by Bjorn Helgaas.
94948
94949 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
94950
94951         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
94952
94953 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
94954
94955         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
94956
94957         * m4/const.m4: New file.  Use an initializer in this declaration
94958         typedef int charset[2]; const charset x;
94959         Reported by Bob Glickstein.
94960
94961 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
94962
94963         * m4/chown.m4: Fix reversed types on -1 args to chown.
94964         From Kaveh Ghazi.
94965
94966 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
94967
94968         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
94969         Add lseek and memchr.
94970
94971         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
94972         T.E.Dickey <dickey@clark.net> said that some older preprocessors
94973         have a 20-character limit on names.
94974
94975 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
94976
94977         * m4/inttypes_h.m4: New file.
94978         * m4/uintmax_t.m4: New file.
94979         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
94980
94981
94982         -----
94983
94984         Local Variables:
94985         coding: utf-8
94986         End:
94987
94988         Copyright (C) 1997-2012 Free Software Foundation, Inc.
94989
94990         Copying and distribution of this file, with or without
94991         modification, are permitted provided the copyright notice
94992         and this notice are preserved.